SYLLABUS FOR C++
PROGRAMMING I
Term: Fall, 2005-2006
(051) (August 29 – December 10, 2005)
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.
- 1:00 p.m.
3:00 p.m. - 7:00 p.m.
Tuesday
4:00 p.m. - 7:00 p.m.
Wednesday
3:00 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
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
His current research interests
are in C++ programming, software engineering for Internet applications, and
network security.
Course
Time: Mondays 7:00 p.m. – 10:00 p.m. Room 418
Course
Description: This course presents a detailed treatment of
procedural level programming in C++. C++
language syntax and structured programming constructs will be emphasized. Microsoft’s Visual C++ Integrated Development
Environment (IDE) will be used throughout the term to develop “command-line”
DOS applications.
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) and
C++’s Standard Library objects (e.g. cout, cin, and strings) appropriately.
·
build and evaluate C++ expressions (i.e. by selecting the appropriate
mathematical operators; by properly performing the given mathematical
operations and properly applying the rules of precedence and associativity)
·
successfully demonstrate the use of modular programming concepts by
creating user-defined custom functions.
·
successfully demonstrate the use of structured programming concepts
(sequence, selection, and iteration structures) in C++ program development.
Textbooks:
Computer
Science: A Structured Approach Using C++, 2nd ed.,
Forouzan and Gilberg, Brooks/Cole-Thomson Learning,
Software:
The software used for this course is Microsoft Visual Studio .NET (VS .NET) 2003. 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, Visual Studio .NET is available for purchase in the CCSJ
Bookstore (Room 260) for $19.95. An excellent tutorial describing how to use
Visual Studio .NET for C++ programming can be found at
http://www.cs.virginia.edu/~cs216/labs/msVisualTutorial.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 is a USB
flash memory device. The reason is that
when building C++ source code VS .NET 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 VS .NET is more complicated since one needs
to store the source code on the floppy disk and the VS.NET project files on the
hard disk.
Learning
Strategies:
Due to the technical
nature of the subject matter, the course material is presented mainly through
lecturing often through the vehicle of Microsoft PowerPoint slide shows and/or
class handouts. In addition, sample
programs from the textbook are “traced” using the Visual Studio .NET 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 VS .NET 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/Class
Exercises 20%
Exam #1 25%
Exam #2 25%
Exam
#3 (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 unless directed
otherwise. Homework that is
submitted (<= 7 days late) is subject to an automatic deduction to be determined
by the instructor. Homework that is more
than one week late will NOT be accepted for credit and will result in an
assigned score of zero. Homework
received after 10 p.m. on Monday, November 28, 2005 (i.e. Week
#14) 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 via voice mail
(preferably) or email of the make-up exam request by the student before or
within 24 hours of the scheduled exam date/time.
2)
A suitable alternate time can be
arranged. Remember that make-up exams
will generally require that a computer lab be reserved. Therefore, make-up times are governed both by
computer lab availability and instructor availability. The general practice is to offer the
student(s) one alternate
make-up time.
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 semester exam or final exam will be
assigned a score of zero.
Exams will typically consist of two parts. Part I will be administered closed book and closed notes. Part II
(if present) will be administered open book and open notes. In addition, students may on
occasion be allowed to use the Visual Studio .NET IDE for selected portions of
Part II.
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 Forouzan
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)
Class
Policy on Electronic Devices:
As a matter of courtesy to the instructor and to
fellow students, cell phones, beepers, pagers, etc. are generally NOT to be
answered in class and should be switched off BEFORE class begins. If it is absolutely necessary to receive a
call during the class period, then the device should be placed in a “vibrate”
mode and the student should answer the call outside the classroom so as to
minimize disruptions to the learning environment.
Course
Outline:
|
Class Dates: |
Topics/Assignments: |
|
|
WEEK
1 |
8/29/2005 |
Course
Policies/Syllabus Chapter 1 – Introduction to Computers (Flowcharting and the Visual Studio .NET IDE) |
|
WEEK
2 |
9/05 |
No Class – Labor Day Recess |
|
WEEK
3 |
9/12 |
Chapter
2 – Introduction to the C++ Language (C++
Primary Data Types, Variables, and User Input/Output) |
|
WEEK
4 |
9/19 |
Chapter
3 – Structure of a C++ Program (C++
Operators, Precedence, Associativity,
Mixed-Type Expressions/Integer Division) |
|
WEEK
5 |
9/26 |
Exam
#1 Review/Open Lab |
|
WEEK
6 |
10/03 |
Exam
#1 |
|
WEEK
7 |
10/10 |
Chapter
4 – Functions (Structure
Charts, Function Designs, Parameter Passing, Variable Scope and Lifetime) |
|
WEEK
8 |
10/17 |
Chapter
5 – Selection-Making Decisions (Logical
and Relational Operators, C++ Multiway Selection Structures: switch and if
else if else |
|
WEEK
9 |
10/24 |
Chapter
6 – Repetition (C++
Looping Structures: while and for, Looping Applications: Counting and
Summing) |
|
WEEK
10 |
10/31 |
Exam
#2 Review/Open Lab |
|
WEEK
11 |
11/07 |
Exam
#2 |
|
WEEK
12 |
11/14 |
Chapter
7 – Text I/O (C++
Streams, Standard Library I/O Functions) |
|
WEEK
13 |
11/21 |
Programming
Class Exercise |
|
WEEK
14 |
11/28 |
Final
Exam Review/Open Lab |
|
WEEK
15 |
12/05 |
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:
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:
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).