Syllabus for CS 509, Advanced Programming II

Fall 2001


The syllabus is broken up into seven two-week sections.

  1. Introduction and Strings

  2. STL Vectors

  3. STL Iterators and Algorithms

  4. STL Maps and Generic Functions

  5. Classes and Dynamic Memory

  6. Defining Complete Classes

  7. Inheritance and Memory Management
I will try hard not to change the syllabus during the semester, but I make no promises.

Note: the phrase "X through Y" means "from the start of X upto and including the end of Y".

Section 1 - Introduction and Strings, 6 September to 18 September.

Readings
Chapters 0 through 2.

Class notes
Tips for passing this course.
Stream I-O.
Includes, Strings, and Invariants.

Programming Assignment
Assignment 1 available (last modified on 13 September 2001) on 6 September, due on 20 September.

Test - 20 September
The answers (white test).
The answers (yellow test)
The grades.

Section 2 - STL Vectors, 20 September to 2 October.

Readings
Chapters 3 and 4.

Class notes
STL vectors.
Exceptions.
Exception examples.
A cautionary tale.

Programming Assignment
Assignment 1 due on 20 September.
The grades.
A code review.
An example solution.

Assignment 2 available (last modified on 4 October 2001) on 21 September, due on 5 October.

Test - 4 October
The answers (white test).
The answers (yellow test).
The grades

Section 3 - STL Iterators and Algorithms, 4 October to 16 October.

Readings
Chapters 5 and 6.

Class notes
A cautionary tale.
An introduction to iterators.
STL lists.
Generic algorithms.
Asymptotic estimates.

Programming Assignment
Assignment 2 due on 5 October.
The grades.
A code review.

Assignment 3 available on 4 October, due on 18 October.

Test - 18 October
The answers (white test).
The answers (yellow test).
The grades.

Section 4 - STL Maps and Generic Functions, 18 October to 30 October.

Readings
Chapters 7 and 8.

Class notes
STL maps.
More on iterators.
Template functions.
An instructional story.

Programming Assignment
Assignment 3 due on 18 October.
The grades.
A code review.

Assignment 4 available on 18 October, due on 1 November.

Test - 1 November
The answers (white test).
The answers (yellow test)
The grades.

Section 5 - Classes and Dynamic Memory, 1 November to 13 November.

Readings
Chapters 9 and 10.

Class notes
Function pointers.

Programming Assignment
Assignment 4 due on 1 November.
The grades.
A code review.

Assignment 5 available on 1 November, due on 15 November.

Test - 15 November
The answers (white test).
The answers (yellow test)
The grades

Section 6 - Defining Complete Classes, 15 November to 27 November.

Readings
Chapters 11 and 12, Section 11.5 optional.

Class notes
Dynamic memory and classes.
Classes and conversions.
A cautionary tale.
An instructional story.

Thanksgiving - 22 November
No class.

Programming Assignment
Assignment 5 due on 15 November.
The grades
A code review.

Assignment 6 available on 15 November, due on 30 November.

Test - 29 November
The answers (white test).
The answers (yellow test)
The grades

Section 7 - Inheritance and Memory Management, 29 November to 13 December.

Readings
Chapters 13 and 14.

Class notes
Polymorphism and inheritance.
Implementing subtype polymorphism.
An instructional story.

Programming Assignment
Assignment 6 due on 30 November.
The grades.

Assignment 7 available on 29 November, due on 13 December.
The grades.
An example solution.
A code review.

Test - 13 December
The grades.
The answers (white test).
The answers (yellow test).

Open Lecture on a topic to be determined during the final-exam period, which is from 5:30 p.m. to 7:30 p.m. on Thursday, 20 December, in HH 546.


This page last modified on 19 December 2001.