This is a week-by-week schedule laying out the material of the course.
This schedule is a plan; the true class schedule will undoubtably be different, as we
spend extra time on topics that are proving difficult, or speed
through topics that you (the students) are rapidly grasping.
| Week | Topic | Textbook (Weiss) |
| 1 | Big Picture: Why learn C++, How C++ differs from Java | 0 |
| 2 | Writing your first C++ program (syntax, I/O, files, gcc, examples) | 1, 2.2, 4.11-4.12, 9 |
| 3 | Memory: Pointers & References, Heap & Stack, Arguments | 2.3, 3 |
| 4 | Memory Management: free/delete, "The Big 3", garbage collection, memory management strategies | 4.6 |
| 5 | Memory Organization: primitive strings, arrays & multidimensional data | 11.1-11.3 |
| 6 | Review, Midterm #1 | 0,1,2.2-2.3,3,4.6,4.11-4.12,9,11.1-11.3 |
| 7 | Large programs: divide and conquor, debugging, memory leaks, testing, exceptions | 8 |
| 8 | Objects in C++: inheritance, dispatch, slicing | 6.1-6.7 |
| 9 | Multiple inheritance: when and why? Implementation of inheritance | 6.8-6.10 |
| 10 | Efficiency: strategies, dos and don'ts, profiling | (none) |
| 11 | Templates: function and class | 7 |
| 12 | Review, Midterm #2 | 6,7,8 |
| 13 | The Standard Template Library | 10 |
| 14 | STL: Implementing new containers and generic algorithms | (none) |
| 15 | C-Style C++ (if time), Review for final | 12 |