SYLLABUS FOR C++
PROGRAMMING II
Term: Spring, 2005-2006
(052) (January 9 - April 22, 2006)
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.
- 2:00 p.m.
5:00 p.m. - 7:00 p.m.
Tuesday
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.
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 420
Course
Description: 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, strings, structures, and classes.
Students will then use the C++ standard library functions required to
process both text and binary files.
Learning
Outcomes/ Competencies:
Students in this course will:
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 or floppy disk) 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 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 Studio .NET Command Summary “ for
students interested in this method.
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:
Attendance 10%
Class Exercises/Homework 25%
Midterm Project 25%
Final Exam 40%
------
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. Students are generally required to submit
homework in both electronic and hardcopy form. Students will submit electronic versions to
the instructor via Blackboard’s Digital Dropbox. Late homework is subject to an automatic deduction to be determined by the instructor. All LATE Homework received after 10
p.m. on April 10, 2006 (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 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 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 final exam 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 317 –
C++ Programming II
Chapter 8
– 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 accounts for 10% of the student’s
semester grade. Therefore, it is vital
that students attend the class sessions on a regular basis in order to be
credited for this portion of the grade and also to be informed of any important
class announcements, any deviations from the course outline below, and of any
supplemental material presented.
Course
Outline:
|
Class Dates: |
Topics/Assignments: |
|
|
WEEK
1 |
1/09/2006 |
Syllabus/Course
Policies Handout – Object-Oriented Analysis and Design (OOAD)
Case Study CIS 312 Review #1 (Chapter
2, 3, 5, 6) Class Exercise |
|
WEEK
2 |
1/16 |
CIS 312 Review #2 (Chapter 4) Class
Exercise |
|
WEEK
3 |
1/23 |
Class
Exercise - Arrays and Text Files Chapter
7 – Text I/O (Working
with Text Files: Stream Concept, Standard and File Streams, Creating and
Connecting Streams, Standard Library I/O Functions, Reading a File, Writing a
File, Formatting Data using Manipulators, Detecting File Errors, Error
Recovery) Chapter
8 – Arrays (Array
Concepts, Using Arrays in C++, 1-D and 2-D Arrays, Arrays and Functions) |
|
WEEK
4 |
1/30 |
Class
Exercise - Arrays and Text Files (cont.) OPEN SESSION |
|
WEEK
5 |
2/06 |
Class
Exercise - Strings Chapter
14 – Strings (Introduction
to Class Concepts, String Concepts, C++ Strings, C++ String Input/Output,
String Manipulation Functions, C Strings) |
|
WEEK
6 |
2/13 |
Class
Exercise - Strings (cont.) OPEN SESSION |
|
WEEK
7 |
2/20 |
Class
Exercise - Classes Chapter
10 – Classes (UML
Class Diagrams, Basic Class Concepts
and Terminology: Class, Attribute, Method, Object, Instantiation Data
Hiding/Encapsulation, Class Declarations, Access Specifiers, Manager
Functions: Constructor and Destructors, Copy Constructor, Overloaded
Functions, Mutators and Accessors) |
|
WEEK
8 |
2/27 |
Midterm
Project Program #1 OPEN SESSION |
|
WEEK
9 |
3/06 |
Midterm
Project Program #2 OPEN SESSION |
|
WEEK
10 |
3/13 |
OPEN SESSION |
|
WEEK
11 |
3/20 |
Class
Exercise - Inheritance Chapter
12 –Inheritance and Aggregation (UML
Inheritance Diagrams, Inheritance Basic Concepts, Base Class, Derived Class,
Simple Inheritance, Inheritance Syntax, Inheritance Rules, Inheritance Type,
Constructors and Destructors Under Inheritance) |
|
WEEK
12 |
3/27 |
Miscellaneous C++ Topics Chapter 12 –Inheritance and Aggregation (Overriding Member Functions, Polymorphism, Virtual
Functions, Static and Dynamic Binding, Virtual Destructors, Pure Virtual
Functions, Abstract Classes, Type Conversion in Hierarchical Classes,
Multiple Inheritance, Aggregation) OPEN SESSION |
|
WEEK
13 |
4/03 |
Miscellaneous C++ Topics Chapter 9 – Pointers (Pointers, Dynamic Memory Allocation) Chapter 11 – More Class Features and Other Types (Inline Member Functions, Initialization Lists, Array of
Objects, Structure) Chapter 14 – Strings (Arrays of Strings) Chapter 16 –Advanced I/O Concepts ( OPEN SESSION |
|
WEEK
14 |
4/10 |
Final Exam Review |
|
WEEK
15 |
4/17 |
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).