Lecture Schedule

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.
WeekTopicTextbook (Weiss)
1Big Picture: Why learn C++, How C++ differs from Java0
2Writing your first C++ program (syntax, I/O, files, gcc, examples)1, 2.2, 4.11-4.12, 9
3Memory: Pointers & References, Heap & Stack, Arguments2.3, 3
4Memory Management: free/delete, "The Big 3", garbage collection, memory management strategies4.6
5Memory Organization: primitive strings, arrays & multidimensional data11.1-11.3
6Review, Midterm #10,1,2.2-2.3,3,4.6,4.11-4.12,9,11.1-11.3
7Large programs: divide and conquor, debugging, memory leaks, testing, exceptions8
8Objects in C++: inheritance, dispatch, slicing6.1-6.7
9Multiple inheritance: when and why? Implementation of inheritance6.8-6.10
10Efficiency: strategies, dos and don'ts, profiling(none)
11Templates: function and class7
12Review, Midterm #26,7,8
13The Standard Template Library10
14STL: Implementing new containers and generic algorithms(none)
15C-Style C++ (if time), Review for final12