SYLLABUS FOR C
PROGRAMMING II
Term: Spring,
2003-2004 (032) (January 12 - April 24, 2004)
Course Number: CIS 317X
Instructor:
Mr. Darren Henderson
Office
Phone: (219) 473-4346
E-mail: dhenderson@ccsj.edu
Office
Hours: Monday
12:00 p.m.- 3:00 p.m.
Tuesday
3:30 p.m.- 7:00 p.m.
Thursday
12:00 p.m.- 2:00 p.m.
3:30 p.m.- 7:00 p.m.
Instructor
Background:
Darren Henderson earned a
B. S. in Engineering from Purdue University Calumet and a M. S. in Electrical
Engineering from Purdue University with a specialty in Communications and
Signal Processing. His undergraduate
curriculum was characterized by a strong emphasis in mathematics and physics
including courses in Advanced Calculus, Partial Differential Equations, Complex
Analysis, Advanced Analysis, Electromagnetic Field Theory, Optics, and Quantum
Mechanics. As his undergraduate senior
design team project, Darren worked on a prototype for a home security and
convenience system that provided a speech synthesis capability. His task was to write the assembly language
software for the Motorola HC11 microcontroller and to work with the Texas
Instruments speech synthesis chip.
Darren’s graduate coursework included courses in Digital Communications,
Digital Signal Processing, Image Processing, Computer Networks, and Estimation
Theory.
Darren joined the
Computer Information Systems Program at Calumet College of St. Joseph in
1995. He regularly teaches the courses
C Programming I and II, Hardware and Software Concepts, and Data Communications
and Networking Theory. In addition to
his teaching activities, Darren has worked for CCSJ's Computer Services
Department. He used his engineering
background and skills to help lay the groundwork for the school's existing
computer network and services. He was
responsible for initially creating the faculty and staff e-mail accounts and
for making the school's computers (faculty, staff, and 4th floor
computer labs) Internet accessible. His
duties involved Unix/Linux and Windows NT System Administration and TCP/IP
Network Administration in support of DNS, DHCP, WWW, and e-mail services. He was also responsible for implementing an
early firewall to protect the school's Univers database system from unauthorized
access. He currently is working on ways
of integrating the Blackboard 5 e-learning environment into his courses at
CCSJ.
Before
his tenure at CCSJ, Darren was an adjunct instructor in the Electronics
Technology Department at Ivy Tech State College in Valparaiso. He taught a multitude of courses including:
Circuits I and II, Solid State I and II, Digital Principals, Digital
Applications, and Electricity for HVAC.
His current research interests
are in C++ programming, software engineering for Internet applications, and
network security.
Course
Time: Thursdays
7:00 p.m. - 10:00
p.m. Room 420
Course
Description (revised): This course reinforces and extends the structured
programming concepts introduced in CIS 312.
Students will continue their study of the C language by working with one-dimensional
and two-dimensional arrays. Students
will learn how to represent strings in C and how to process strings using ANSI
C functions. Students will refine their
understanding of the “pointer” data type introduced in CIS 312 and learn its
relationship to arrays and strings in C.
Students will be introduced to the “structure” data type since it serves
to implement database records. Students
will then use the ANSI C functions required to process both text and binary
files.
Learning
Outcomes/ Competencies:
Students in this
course will:
·
solidify the programming concepts introduced in C
programming I.
·
become familiar with C’s methods for handling
arrays and strings.
·
better understand the close relationships among
pointers, arrays, and strings.
·
demonstrate the use of some of the ANSI C string
functions.
·
be able to create and use structures.
·
be able to open, read, write, and close files.
Textbook:
The
Art of Programming: Computer Science with C, Lawlor, Steven
C., PWS Publishing Company, Boston, MA, 1996. (ISBN 0-314-06814-7)
Software:
The software used for this course is Microsoft Visual Studio 6/Visual C++ 6
(VC++ 6). This software is
installed on the 4th floor computer labs (Room 416, 418, 419, and 420)
for student use. For users wishing to
do C programming outside the CCSJ labs, the CCSJ Library has 4 copies of Visual Studio 6 available
for check-out to CCSJ students possessing a valid library/identification
card. The software may be checked out for
3 days. The late fee for not
returning the program CDs is $10 per
day. A newer version of Visual
Studio, Visual Studio .NET, is also available for purchase in the CCSJ
Bookstore for $19.95. However, the
procedures to use Visual Studio .NET for C program development vary from those
required to use VC++6. An excellent
tutorial describing how to use Visual Studio .NET for C++ program development
can be found at http://www.cs.virginia.edu/~cs201/labs/lab0Handouts.doc.
The operating system (OS) software used on the 4th
floor computer labs is Microsoft Windows XP Professional. In this OS version (and in XP Home), a USB
flash memory device should be natively usable without the installation of any
additional device drivers. However,
this is usually not the case in other OSes like Windows 98 or Windows ME. These OSes require the installation of the
appropriate hardware device drivers in order to be able to recognize the device
properly.
Storage
Media:
Students will need to use some form of portable
read/write storage (e.g. USB flash memory, CD-R/Ws, and/or floppy disks) to
store their C source code on during program development and/or to transport
files between the CCSJ laboratory computers and their personal computer. The simplest device to use would be either
a USB flash memory device or a “DirectCD” formatted CD-R/W disk. The reason is that when building C source
code VC++ 6 creates “extra” files that can quickly fill up a floppy disk and
produce spurious errors. Using a
storage medium with sufficient storage (32 to 64MB should be adequate) capacity
will allow the student to build their C source code without worrying about
exhausting the storage space. The
procedure to use a floppy disk for C program development in VC++ 6 is more
complicated since it requires transferring files back and forth from the floppy
disk to the hard disk. This procedure
is described more fully in the handout “Microsoft Visual C++ 6 Command Summary
“ for students interested in this method.
AVI
Tutorials:
AVI tutorials demonstrating the usage of the VC++ 6
Integrated Development Environment (IDE) for C program development are
available on the CCSJ network. Students
may “burn” these tutorials onto a blank CD-R or CD-R/W if they are
interested in viewing these tutorials on their home computer. Students that wish to view these tutorials
in the CCSJ labs are asked to bring in a pair of headphones (with a mini- RCA plug) so as not to disturb their
classmates in the process. Students are
highly encouraged to view these tutorials in order to quickly and fully master
the basic usage of VC++6 early on in the semester.
Learning
Strategies:
Due to the technical
nature of the subject matter, the course material is presented mainly through
lecturing. The bulk of the course
material is presented through Microsoft PowerPoint slide shows. In addition, sample programs from the
textbook are “traced” using the Visual C++ 6 IDE during class to highlight
important C concepts. Students are
encouraged to participate during this time by asking questions. It is anticipated that the repeated use of
the VC++ 6 IDE in class will help to facilitate the student’s learning of this
essential tool. Students demonstrate
the course competencies in part by completing regular programming assignments.
Assessment:
The student’s grade is computed using the weights
shown below:
Homework/Projects 50%
Midterm 25%
Final 25%
------
100%
Class
Policy for Assignments/Exams:
Homework problems will be assigned throughout the
duration of the term. Homework will be collected generally two weeks from the date assigned. Late homework is subject to an automatic deduction to be determined
by the instructor. All LATE
Homework received after 12 p.m. (NOON) on April 17, 2004 will NOT
be considered for credit and will result in an assigned score of zero.
The official class policy is that there is NO MAKE-UP EXAMS, however in
recognition of the occasional personal and/or family emergency that may
occur during the semester, a make-up exam may
be granted provided all
the following conditions are met:
1)
The
instructor is notified of the make-up exam request by the student on or before the
scheduled exam date.
2)
A
suitable alternate time convenient to the instructor can be arranged.
3)
The
missed scheduled exam must be made-up within
one-week of the scheduled exam date.
The granting of make-up exams is NOT an entitlement
but is a courtesy granted to the student by the instructor. If this courtesy is abused by a particular
student or the class as a whole, then the privilege may be revoked.
A missed midterm or final exam will be
assigned a score of zero.
Exams are typically closed book and closed
notes. Although occasionally, a portion of an exam may be
administered open book and open notes.
The FINAL EXAM is comprehensive!
The function of
the homework problems and class/laboratory activities is that they serve as
exam preparation. The function of the
exams is to confirm that the student has achieved the required level of
proficiency.
C
Source Code Requirements:
Students are required to submit hardcopies of their
C source code and their C program output as their homework program
deliverables. Students are expected to
produce/submit C source code that is well-structured (i.e. uses the Lawlor C
style and is properly indented) and properly commented. All C source code hardcopies shall contain a
multi-line comment at the top of the source code of the form:
/* Jane Doe
CIS 317 –
C Programming II
Chapter XX
– Program YY – page zzz
*/
Student’s C source code submissions are also
evaluated for the efficiency of the program implementation and for the degree
to which the homework program requirements are fully met.
Students are expected to write their own C
source code. Students that repeatedly
submit code that was produced by another student are engaging in academically
dishonest behavior. This is a serious
matter and the student becomes subject to serious consequences such as failure
on the given assignment and/or failure from the course. Students that submit suspicious code will be
required to go through a code review with the instructor to verify the
student’s understanding of the code that was produced. If this code review goes poorly then the
student may be subject to the serious consequences that are described above.
Grading
Scale:
A: 93-100 A-: 90-92 B+: 87-89 B: 83-86 B-:
80-82 C+: 77-79
C: 73-76
C-: 70-72 D+: 67-69
D: 63-66 D-: 60-62
F: 59 & below
Class
Policy on Attendance:
Attendance will be taken for administrative
purposes. Although class attendance
does NOT account for a percentage of
the assigned semester grade, it is vital that students attend the class
lectures and laboratories on a regular basis in order to be informed of any
important class announcements, any deviations from the course outline below,
and of any supplemental material presented.
However, class/lab attendance and participation is
used as a factor in deciding borderline cases. (if applicable)
|
Class Dates: |
Topics/Assignments: |
|
|
WEEK
1 |
1/15/2004 |
Syllabus/Course Policies CIS 312 Review (Chapter 2 to 5) Programming Exercise #1 |
|
WEEK
2 |
1/22 |
CIS
312 Review (Chapter 6) Programming
Exercise #2 |
|
WEEK
3 |
1/29 |
Chapter
7 – Arrays Pointers
and Arrays - (Chapter 10 - pages 420-427) Arrays
and Functions - (Chapter 7 - pages 247-251) Two
Dimensional (2D) Arrays - (Chapter 7 - pages 265-271) |
|
WEEK
4 |
2/05 |
Chapter
8 - Strings |
|
WEEK
5 |
2/12 |
Chapter
8 - Strings (cont.) Pointers
and Strings - (Chapter 10 - page 427-434) |
|
WEEK
6 |
2/19 |
Chapter
9 - Files |
|
WEEK
7 |
2/26 |
Midterm
Exam Review |
|
WEEK
8 |
3/04 |
Midterm
Exam |
|
WEEK
9 |
3/11 |
Midterm
Exam Results Chapter
9 - Files (cont.) |
|
WEEK
10 |
3/18 |
Chapter
11 - Record-Based Data (i.e. Structures) |
|
WEEK
11 |
3/25 |
Chapter
9 - Files (cont.) Chapter
11 - Record-Based Data (cont.) |
|
WEEK
12 |
4/01 |
Selected
C Topics Final
Exam Review #1 |
|
WEEK
13 |
4/08 |
NO CLASS – Easter Recess
|
|
WEEK
14 |
4/15 |
Final
Exam Review #2 |
|
WEEK
15 |
4/22 |
Final
Exam |
Class
Participation:
See "Class Policy on Attendance" above
Center
for Academic Excellence:
Tutoring
assistance is free to all students of Calumet College of St. Joseph. The Center for Academic Excellence (CAE) has
experienced and well-trained tutors in most subject areas to help students who
are struggling in a course or who are doing well and would like to do
better. Regular weekly tutoring
sessions are likely to improve your grade.
In addition to the face-to-face tutoring offered by the Center, online
tutoring is available for students whose schedules do not permit them to meet
with a tutor in person. Call the Center
for Academic Excellence at (219) 473-4287, to schedule a tutoring appointment
or for additional information about how to access online tutoring assistance.
Academic
Alerts:
In order to
assist students to successfully persist towards course completion, Calumet
College of St. Joseph asks instructors to give a written evaluation in the form
of an Academic Alert at the end of the 5th and 10th weeks
of the semester (Fall and Spring) for any students performing below “C” average
work. The current practice is to have
the instructor hand-deliver the alert to the student if possible otherwise the
alert is forwarded to the CCSJ Academic Advising office where it is then
delivered to the student via the U.S Postal Service. The intent of the academic alert system is to notify the student
of substandard performance so that they may take steps to rectify the situation
(e.g. tutoring through the Center for Academic Excellence) However, students should realize that NOT
receiving an Academic Alert on week #5 or week #10 is NOT a guarantee of NOT
receiving a grade below a “C” for the semester since a student’s assigned
semester grade depends on the student’s performance during all 15 weeks of the
semester.
Statement
of Plagiarism:
If an instructor or other Calumet College of St.
Joseph personnel find that a student has plagiarized or been involved in
another form of academic dishonesty, the instructor or other personnel may
elect to bring the matter up for judicial review. The maximum penalty for any
form of academic dishonesty is dismissal from the College. The procedures for
judicial review are listed under the section of CCSJ handbook that addresses
student grievances.
Please note:
Calumet College of St. Joseph subscribes to Turnitin.com and all papers can and
may be submitted for checks on plagiarism from the Internet/Electronic
sources/Databases.
Citation
Guidelines:
Calumet College
of St. Joseph adheres to citation guidelines as prescribed by the particular
discipline (i.e., MLA, APA, and Chicago Manual of Style or Turabian.). All of these guidelines are available in the
Calumet College of St. Joseph library or bookstore. These texts outline how to cite references from a variety of
sources, including electronic media.
School Closing Information:
Internet:
http://www.ccsj.edu
http://www.EmergencyClosings.com
Facility:
Calumet College of St. Joseph
Phone:
219.473.4770
Radio:
WAKE
– 1500 AM
WGN - 720 AM
WIJE
– 105.5 FM
WLS
– 890 AM
WZVN
– 107.1 FM
WBBM
NEWS RADIO 78
TV Channels:
2,
5, 7, 9 (WGN), 32 (WFLD)
Withdrawal
from Classes Policy:
After the last
day for class changes has passed (see College calendar), students may withdraw
from a course in which they are registered with permission from the faculty
member conducting the course. A written request detailing the reason(s) for the
withdrawal must be filed with the Registrar. The Registrar must receive written
request for withdrawal by the last day of classes prior to the final examination
dates specified in the catalogue. Written requests may be mailed to the
Registrar or faxed to the College fax number 219-473-4259. Students are to make
note of the refund schedule when withdrawing from courses. The request is
forwarded to the faculty member, who makes the final determination to accept or
deny the request. If the request is honored, the student will receive
notification of official withdrawal; if denied, the notification will indicate
why the withdrawal is disallowed.
An official
withdrawal is recorded as a "W" grade on the student's transcript.
Dropping a course without written permission automatically incurs an
"F" grade for the course (see Refund Schedule).