CIS 29 Advanced C++ Programming Fall 2009

Instructor: Joe Bentley     Phone: 831.438.0253 (< 9 pm)     Email: joe.deanza@gmail.com
Office Hours: Wednesday 5:45-6:45 PM in the ATC

Objectives: At the completion of the course, you should be able to write C++ programs, which make use of:

Textbook - Recommend: C++ in a Nutshell 1st Edition by Ray Lischner; internet access, email account
Additional internet references will be used

Homework Assignments:There will be eight programming homework assignments in the class. Each assignment is due at the beginning of the class session on the specified date on the schedule. Assignments will not be accepted late. For each assignment, you should turn in a hardcopy program listing and output from one or more runs, which demonstrate the requirements of the assignment. Assignments are to be completed individually and must fulfill the program requirements. Assignments with compiler errors will not be accepted. Only seven assignments will be used to determine your final grade. Your lab assignment with the lowest grade will be discarded. The last assignment may not be discarded.

Lab Exercises: There will be a lab exercise (usually one short programming problem) during each class session. These exercises will be due at the end of each lab session.

Attendance: You are responsible for all material covered in each class meeting. Assignments are due on the dates specified, even if you are absent. The midterm and final may only be made up if prior arrangements are made.

Class Format: This class will consist of both lecture and lab sessions. The first hour and forty minutes will be lecture followed by forty minutes in the computer lab. The lab time will be used to complete lab exercises.

Tests: There will be a midterm and a final. Both tests are open book and timed. If you are late for the test, you will not be permitted any extra time for the test.

Help from the Instructor: It is recommended that you take advantage of the lab time after lecture and the instructor's office hours in the ATC. The instructor is available to answer individual questions, assist with compiler problems, assist with debugging programs, demonstrate the use of compilers, discuss and clarify assignments, and provide assistance related to the course curriculum. It is also recommended that you make use of email to ask questions or to seek assistance with programming assignments.

Grading Policy:

Homework Assignments	140 points (20 each)		90-100%		(315-350 points) =	A
Lab Exercises            60    "   (3 each) 		80-89%		(280-314 points) =	B
Midterm		         50    "			70-79%		(245-279 points) =	C
Final			100    "			60-69%		(210-244 points) =	D
                      -----				Below 60%	(less than 210 points) =F
	Total		350                             +or- added if within 1% of grade boundary

CIS29 Class Schedule - Fall 2009 - Joe Bentley

Tuesday Thursday
9/22
Class introduction and overview
Prerequisites and expectations
9/24
Review
Classes, constructors, destructors
static data members, static member functions, friend functions
9/29
Review
function & operator overloading
Inheritance, polymorphism, C++ input/output classes
10/1
The string class

Assignment 1 due
10/6
The stringstream classes

10/8
Conversion operators
explicit constructors
Assignment 2 due
10/13
C++ cast operators

10/15
Multiple inheritance

Assignment 3 due
10/20
Exception Handling - Part 1

10/22
Exception Handling - Part 1

Assignment 4 due
10/27
Compilation concepts
Libraries
10/29
MIDTERM

11/3
Function Templates

11/5
Class templates

Assignment 5 due
11/10
Standard Template Library - Part 1

11/12
Standard Template Library - Part 2

Assignment 6 due
11/17
Standard Template Library - Part 3

11/19
Standard Template Library - Part 4

Assignment 7 due
11/24
Programming Style - Part 1

11/26
THANKSGIVING

12/1
Programming Style - Part 2

12/3
Review

Assignment 8 due
12/8
FINAL 6:15-8:15 pm