SYLLABUS FOR C
PROGRAMMING I
Term: Fall, 2003-2004
(031) (September 2 – December 12, 2003)
Course Number: CIS 312x
Instructor: Mr. Darren Henderson
Office
Phone: (219) 473-4346
E-mail: dhenderson@ccsj.edu
Office
Hours: Monday
12:00 p.m.- 2:00 p.m.
4:00 p.m.- 7:00 p.m.
Thursday
12:00 p.m.- 2:00 p.m.
4:00 p.m.- 7:00 p.m.
Friday
12:00
p.m.- 2: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 418
Course
Description: This class presents a threshold look at C's syntax
and logic structures. A subset of
Microsoft's Quick C is used to develop a simple database system.
Learning
Outcomes/ Competencies:
Students in this course will:
·
use the Visual C++ Integrated Development
Environment (IDE) to enter, compile, link, and debug C programs.
·
use C’s primary data types (i.e. int, char, float,
and double) appropriately.
·
successfully demonstrate the use of structured
programming concepts (selection, sequence, and iteration structures) in C
program development.
·
successfully demonstrate the use of modular programming
concepts by a) incorporating C’s built-in functions into user-written C
programs and by b) creating user-defined custom functions.
·
use C’s pointer “data type” appropriately when
working with functions.
Textbooks:
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,
Visual Studio .NET is optimized for C# (pronounced C sharp) program development
instead of C program development.
Visual Studio .NET has a built-in C compiler but it must be executed
through a DOS prompt and the IDE debugger can not be used to trace C
programs. Hence, the best option is for a student to
use VC++6 on their home computer to do the required C programming for the
course. The software may be obtained
by checking it out from the library or even purchasing it from a company specializing
in educational software sales.
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 20%
Final 30%
------
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 December 6, 2003 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 exam or final exam will be
assigned a score of zero.
Exams are typically closed book and closed
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-level comment at the top of the source code of the form:
/* Jane Doe
CIS 312 –
C Programming I
Chapter 1
– Program 1 – page xx
*/
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 both 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)
Course
Outline:
|
Class Dates: |
Topics/Assignments: |
|
|
WEEK
1 |
9/04/2003 |
Course Policies/Syllabus Chapter 1 – Computers and Programming |
|
WEEK
2 |
9/11 |
Chapter
2 – The C Language |
|
WEEK
3 |
9/18 |
Chapter
3 – Building a C Program |
|
WEEK
4 |
9/25 |
Chapter
4 - The Selection Structure |
|
WEEK
5 |
10/02 |
Chapter
5 - The Iteration Structure |
|
WEEK
6 |
10/09 |
Structured
Programming Concepts/Exercise #1 |
|
WEEK
7 |
10/16 |
Midterm
Exam Review |
|
WEEK
8 |
10/23 |
Midterm
Exam |
|
WEEK
9 |
10/30 |
Structured
Programming Concepts/Exercise #2 |
|
WEEK
10 |
11/06 |
Chapter
6 - Functions |
|
WEEK
11 |
11/13 |
Chapter
10 - Pointers (page 403-420) |
|
WEEK
12 |
11/20 |
Selected
C Topics Final
Exam Review #1 |
|
WEEK
13 |
11/27 |
No Class – Thanksgiving Recess |
|
WEEK
14 |
12/04 |
Final
Exam Review #2 |
|
WEEK
15 |
12/11 |
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.
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).