Syllabus for CS 509, Advanced Programming II

Spring 2002


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

  1. Introduction and Strings

  2. STL Vectors

  3. STL Iterators and Algorithms

  4. Classes and Dynamic Memory

  5. STL Maps and Generic Functions

  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, 22 January to 31 January.

Readings
Chapters 0 through 2.

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

Programming Assignment
Assignment 1 available (last modified on 31 January 2002) on 22 January, due on 5 February.

Test - 5 February
The answers (white test).
The answers (yellow test).
The grades.

Section 2 - STL Vectors, 5 February to 14 February.

Readings
Chapters 3 and 4.

Class notes
STL vectors.
Exceptions.
Exception examples.

Programming Assignment
Assignment 1 due on 5 February.
An example solution.
The grades.
A code review.

Assignment 2 available (last modified on 6 February 2002) on 5 February, due on 19 February.

Test - 19 February.
The answers (white test).
The answers (yellow test).
The grades

Section 3 - STL Iterators and Algorithms, 19 February to 28 February.

Readings
Chapters 5 and 6.

Class notes
An introduction to iterators.
Generic algorithms.
An instructional story ., hrf(stl-lists.html, STL lists)., hrf(aaae.html, Asymptotic estimates). )

Programming Assignment
Assignment 2 due on 19 February.
The grades.
An example solution.
A code review.

Assignment 3 available (last modified on 26 February 2002) on 19 February, due on 5 March.

Test - 5 March.
The answers (white test).
The answers (yellow test).
The grades.

Section 4 - Classes and Dynamic Memory, 5 March to 14 March.

Spring Recess - 11-17 March.

Readings
Chapters 9 and 10.

Class notes
Function pointers.

Programming Assignment
Assignment 3 due on 5 March.
An example solution.
The grades.

Assignment 4 available (last modified on 10 March 2002) on 5 March, due on 19 March.

Test - 19 March.
The answers (white test).
The answers (yellow test)
The grades.

Section 5 - STL Maps and Generic Functions, 19 March to 28 March.

Drop Day - 1 April.

Readings
Chapters 7 and 8.

Class notes
STL maps.
More on iterators.
Template functions.

Programming Assignment
Assignment 4 due on 19 March.
The grades.

Assignment 5 available (last modified on 19 March 2002) on 19 March, due on 2 April.

Test - 2 April.
The answers (white test).
The answers (yellow test)
The grades

Section 6 - Defining Complete Classes, 2 April to 11 April.

Readings
Chapters 11 and 12, Section 11.5 optional.

Class notes
Dynamic memory and classes.
Classes and conversions.
A cautionary tale.
Template classes.

Programming Assignment
Assignment 5 due on 2 April.
An example answer
The grades.

Assignment 6 available (last modified on 9 April 2002) on 2 April, due on 16 April.

Test - 16 April.
The answers.
The grades

Section 7 - Inheritance and Memory Management, 16 April to 2 May.

Readings
Chapters 13 and 14.

Class notes
Polymorphism and inheritance.
Implementing subtype polymorphism.
An instructional story.
A thrice-made error.
Classes and pointers.
Handling missing functions.

Programming Assignment
Assignment 6 due on 16 April.
The grades.
An example solution.

Assignment 7 available (last modified on ) on 16 April, due on 30 April.
The grades.
An example solution.

Test - 30 April.
The answers (green test).
The answers (white test).
The grades.

Open Lecture on some proposed additions to the C++ '0x standard during the final-exam period from 5:30 to 7:45 on Thursday 9 May, in HH 530.


This page last modified on 18 May 2002.