The syllabus is broken up into seven two-week sections.
- Introduction and Strings
- STL Vectors
- STL Iterators and Algorithms
- Classes and Dynamic Memory
- STL Maps and Generic Functions
- 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, 21 January to 30 January.
- 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
-
30 January
- Programming Assignment
-
Assignment 1 available (last modified on 22 January 2003) on 21 January, due on 4 February at 2:00 p.m..
- Test
- 4 February
-
The answers.
The grades.
- Section 2 - STL Vectors, 4 February to 13 February.
- Readings
-
Chapters 3 and 4.
- Class notes
-
STL introduction.
STL vectors.
Exceptions.
Exception examples.
- One-minute reviews
-
4-6 February
12-13 February
- Programming Assignment
-
Assignment 1 due on 4 February.
The grades.
A code review.
An example solution.
Assignment 2 available (last modified on 11 February 2003) on 4 February, due on 18 February.
- Test
- 18 February.
-
The answers.
The grades
- Section 3 - STL Iterators and Algorithms, 18 February to 27 February.
- Readings
-
Chapters 5 and 6.
- Class notes
-
An introduction to iterators.
Iterator invalidation.
Generic algorithms.
STL lists.
Asymptotic estimates.
- One-minute reviews
-
18-20 February
- Programming Assignment
-
Assignment 2 due on 18 February.
The grades.
A code review.
An example solution.
Assignment 3 available (last modified on 4 March 2003) on 18 February, due on 4 March.
- Test
- 4 March.
-
The answers.
The grades.
- Section 4 - Classes and Dynamic Memory, 4 March to 13 March.
- Spring Recess
- 10-16 March.
-
- Readings
-
Chapters 9 and 10.
- Class notes
-
Function pointers.
Function objects.
- Programming Assignment
-
Assignment 3 due on 4 March.
The grades.
A code review.
An example solution.
Assignment 4 available (last modified on 7 March 2003) on 4 March, due on 18 March.
- Test
- 18 March.
-
The answers.
The grades.
- Section 5 - STL Maps and Generic Functions, 18 March to 27 March.
- Drop Day
- 31 March.
-
- Readings
-
Chapters 7 and 8.
- Class notes
-
STL maps.
More on iterators.
Template functions.
Eliminating loops, special edition.
- Programming Assignment
-
Assignment 4 due on 18 March.
The grades.
A code review.
An example solution.
Assignment 5 available (last modified on 7 March 2003) on 18 March, due on 1 April.
- One-minute reviews
-
27 March
- Test
- 1 April.
-
The answers.
The grades
- Section 6 - Defining Complete Classes, 1 April to 10 April.
- Readings
-
Chapters 11 and 12, Section 11.5 optional.
- Class notes
-
Dynamic memory and classes.
Classes and conversions.
A cautionary tale.
Template classes.
String splitting.
- One-minute reviews
-
1 & 3 April
- Programming Assignment
-
Assignment 5 due on 1 April.
The grades.
An example answer
Assignment 6 available (last modified on 7 April 2003) on 1 April, due on 15 April.
- Test
- 15 April.
-
The answers.
The grades.
- Section 7 - Inheritance and Memory Management, 15 April to 24 April.
- Readings
-
Chapters 13 and 14.
- Class notes
-
Polymorphism and inheritance.
Implementing subtype polymorphism.
Classes and pointers.
Handling missing functions.
- One-minute reviews
-
15 & 17 April
- Programming Assignment
-
Assignment 6 due on 15 April.
The grades.
Assignment 7 available (last modified on 19 April 2003) on 15 April, due on
29 April.
The grades.
An example solution.
- Test
- 29 April.
-
The answers.
The grades.
- Open Lecture on a topic to be determined from 5:30 p.m. to 7:30
p.m. on Thursday, 8 May in Edison 120.
This page last modified on 31 May 2003.