The syllabus is broken up into seven two-week sections.
- Introduction and Strings
- STL Vectors
- STL Iterators and Algorithms
- STL Maps and Generic Functions
- Classes and Dynamic Memory
- Defining Complete Classes
- 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, 5 September to 17 September.
- Readings
-
Chapters 0 through 2.
- Class notes
-
How to pass this course.
Include files.
The string data type.
Invariants.
Stream I-O.
- One-minute reviews
-
12 September
- Programming Assignment
-
Assignment 1 available (last modified on 11 September 2002) on 5 September, due on 19 September at 2:00 p.m..
- Test
- 19 September
-
The answers (white test).
The answers (yellow test).
The grades.
- Section 2 - STL Vectors, 19 September to 1 October.
- Readings
-
Chapters 3 and 4.
- Class notes
-
STL introduction.
STL vectors.
Exceptions.
Exception examples.
- One-minute reviews
-
26 September
- Programming Assignment
-
Assignment 1 due on 19 September.
An example solution.
The grades.
A code review.
Assignment 2 available (last modified on 25 September 2002) on 19 September, due on 3 October.
- Test
- 3 October.
-
The answers (white test).
The answers (yellow test).
The grades
- Section 3 - STL Iterators and Algorithms, 3 October to 15 October.
- Readings
-
Chapters 5 and 6.
- Class notes
-
An introduction to iterators.
Generic algorithms.
An instructional story.
STL lists.
Asymptotic estimates.
- One-minute reviews
-
10 October
- Programming Assignment
-
Assignment 2 due on 3 October.
A code review.
The grades.
An example solution.
Assignment 3 available (last modified on 16 October 2002) on 4 October, due on 18 October.
- Test
- 17 October.
-
The answers (white test).
The answers (yellow test).
The grades.
- Section 4 - STL Maps and Generic Functions, 17 October to 29 October.
- Readings
-
Chapters 7 and 8.
- Class notes
-
STL maps.
More on iterators.
Template functions.
- Programming Assignment
-
Assignment 3 due on 18 October.
A code review.
The grades.
Assignment 4 available (last modified on 25 October 2002) on 17 October, due on 31 October.
- Test
- 31 October.
-
The answers (white test).
The answers (yellow test)
The grades.
- Section 5 - Classes and Dynamic Memory, 31 October to 12 November.
- Drop Day
- 6 November.
-
- Readings
-
Chapters 9 and 10.
- Class notes
-
Splitting strings.
Function pointers.
Function objects.
An instructional story.
- One-minute reviews
-
7 November
- Programming Assignment
-
Assignment 4 due on 31 October.
An example solution.
A code review.
The grades.
Assignment 5 available (last modified on 12 November 2002) on 31 October, due on 14 November.
- Test
- 14 November.
-
The answers (white test).
The answers (green test)
The grades
- Section 6 - Defining Complete Classes, 14 November to 26 November.
- Readings
-
Chapters 11 and 12, Section 11.5 optional.
- Class notes
-
Dynamic memory and classes.
Classes and conversions.
A cautionary tale.
Template classes.
- One-minute reviews
-
21 November
- Programming Assignment
-
Assignment 5 due on 14 November.
A code review.
The grades.
Assignment 6 available (last modified on 27 November 2002) on 14 November, due on 3
December.
- Test
- 3 December.
-
The answers (white test).
The answers (yellow test)
The grades.
- Section 7 - Inheritance and Memory Management, 3 December to 10 December.
- No Class
- 28 November.
-
- Readings
-
Chapters 13 and 14.
- Class notes
-
Polymorphism and inheritance.
Implementing subtype polymorphism.
Classes and pointers.
Handling missing functions.
- Programming Assignment
-
Assignment 6 due on 3 December.
The grades.
Assignment 7 available (last modified on 30 November 2002) on 30 November, due on 14
December.
The grades.
An example solution.
- Test
- 12 December.
-
The answers (white test).
The answers (yellow test).
The grades.
- Open Lecture on rolling your own iterators from
5:30 p.m. to 7:30 p.m. on Thursday, 19 December, in L 512.
This page last modified on 4 January 2003.