Syllabus for CS 509, Advanced Programming II

Fall 2003


The syllabus is broken up into five three-week sections.

  1. Introduction

  2. Exceptions, and Iterators

  3. Algorithms, Maps, and Generic Functions

  4. Classes, Dynamic Memory, and Abstract Data Types

  5. Class values, 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, 4 September to 23 September.

Readings
Chapters 0 through 2.

Class notes
How to pass this course.
Include files.
The string data type.
Stream I-O.
Invariants.
STL introduction.
STL vectors.

One-minute reviews
9-11 September

Programming Assignment
Assignment 1 available (last modified on 21 November 2003) on 4 September, due on 25 September at 2:00 p.m..

Test - 25 September
The answers.
The grades.

Section 2 - Exceptions, and Iterators, 25 September to 14 October.

Readings
Chapters 3 through 5.

Class notes
Exceptions.
Exception examples.
An introduction to iterators.
Iterator invalidation.
STL lists.

One-minute reviews
30 September-2 October
7-9 October

Programming Assignment
Assignment 1 due on 25 September.
The grades.

Assignment 2 available (last modified on 13 October 2003) on 25 September, due on 16 October at 2:00 p.m..

Test - 16 October .
The answers.
The grades

Section 3 - Algorithms, Maps, and Generic Functions, 16 October to 28 October.

Readings
Chapters 6 throuth 8

Class notes
Generic algorithms.
More on iterators.
STL maps.
Asymptotic estimates.

One-minute reviews
14-16 October
21-23 October

Programming Assignment
Assignment 2 due on 16 October .
The grades.

Assignment 3 available (last modified on 21 October 2003) on Sunday, 19 October, due on 9 November at 2:00 p.m..

Test - 30 October.
The answers.
The grades.

Section 4 - Classes, Dynamic Memory, and Abstract Data Types, 30 October to 18 November.

Drop Day - 5 November

Readings
Chapters 9 through 11.

Class notes
Function pointers.
Function objects.
Dynamic memory and classes.
Classes and conversions.
A cautionary tale.

One-minute reviews
4-6 November
11-13 November

Programming Assignment
Assignment 3 due on 30 October.
The grades.

Assignment 4 available (last modified on 25 November 2003) on 30 October, due on 20 November at 2:00 p.m..

Test - 20 November.
The answers.
The grades.

Section 5 - Class values, Inheritance, and Memory Management, 20 November to 9 December.

Readings
Chapters 12 through 14

Class notes
Template classes.
String splitting.
Template functions.
Polymorphism and inheritance.
Implementing subtype polymorphism.
Classes and pointers.
Handling missing functions.

Programming Assignment
Assignment 4 due on 20 November.
The grades.
An example solution.

Assignment 5 available (last modified on 11 December 2003) on 20 November, due on 11 December at 2:00 p.m..
The grades.

One-minute reviews
25-27 November
2-04 December

Test - 11 December.
The answers.
The grades

Open Lecture on allocators at 5:30 to 7:30 p.m. on Tuesday, 16 December, in HH 512.


This page last modified on 29 December 2003.