The syllabus is broken up into five three-week sections.
- Introduction
- Vectors, Exceptions, and Iterators
- Algorithms, Maps, and Generic Functions
- Classes, Dynamic Memory, and Abstract Data Types
- 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, 20 January to 29 January.
- Readings
-
Chapters 0 through 2.
- Class notes
-
How to pass this course.
Include files.
The string data type.
Stream I-O.
Invariants.
- On-minute reviews
-
27-29 January
- Programming Assignment
-
Assignment 1 available (last modified on 3 February 2004) on 20 January, due on 3 February at 2:00 p.m..
- Test
- 3 February
-
The answers.
The grades.
- Section 2 - Vectors, Exceptions, and Iterators, 3 February to 19 February.
- Readings
-
Chapters 3 through 5.
- Class notes
-
STL introduction.
STL vectors.
Exceptions.
Exception examples.
An introduction to iterators.
Iterator invalidation.
STL lists.
- One-minute reviews
-
3-5 February
10-12 February
17-19 February
- Programming Assignment
-
Assignment 1 due on 3 February.
The grades.
A code review.
An example solution.
Assignment 2 available (last modified on 8 April 2004) on 3 February, due on 24 February at 2:00 p.m..
- Test
- 24 February.
-
The answers.
The grades
- Section 3 - Algorithms, Maps, and Generic Functions, 24 February to 11 March.
- No class
- 9-11 March, Spring Break
-
- Readings
-
Chapters 6 throuth 8
- Class notes
-
Generic algorithms.
More on iterators.
STL maps.
Asymptotic estimates.
A case study: thread iterators.
A case study: vectors vs. maps.
- One-minute reviews
-
24-26 February
- Programming Assignment
-
Assignment 2 due on 24 February.
An example solution.
The grades.
A code review.
Assignment 3 available (last modified on 12 March 2004) on 24 February, due on 16 March at 2:00 p.m..
- Test
- 16 March.
-
The answers.
The grades.
- Section 4 - Classes, Dynamic Memory, and Abstract Data Types, 16 March to 1 April.
- Drop Day
- 29 March
-
- Readings
-
Chapters 9 through 11.
- Class notes
-
Function pointers.
Function objects.
Classes and conversions.
A cautionary tale.
Template functions.
String splitting.
Template classes.
- One-minute reviews
-
16-18 March
23-25 March
30 March-1 April
- Programming Assignment
-
Assignment 3 due on 16 March.
An example solution.
The grades.
A code review.
Assignment 4 available (last modified on 18 March 2004) on 16 March, due on 7 April at 2:00 p.m..
- Test
- 6 April.
-
The answers.
The grades.
- Section 5 - Class values, Inheritance, and Memory Management, 6 April to 25 April.
- Readings
-
Chapters 12 through 14
- Class notes
-
Dynamic memory and classes.
Classes and pointers.
Handling missing functions.
Polymorphism and inheritance.
Implementing subtype polymorphism.
Handles revisited.
- One-minute reviews
-
6-8 April
13-15 April
- Programming Assignment
-
Assignment 4 due on 6 April.
The grades.
Assignment 5 available (last modified on 23 April 2004) on 6 April, due on 27 April at 2:00 p.m..
The grades.
- Test
- 27 April.
-
The answers.
The grades
- Open Lecture on
expression templates
at
5:30 to 7:30 p.m.
on
Thursday, 6 May
in
Edison 156.
This page last modified on 6 May 2004.