| Date | Topic | Required Reading | Notes | Assignments Out | Slides |
| 1/8 | Intro, Python review | all of chapter 1 | Project 1, due on Moodle at 11:55pm 1/15. | slides | |
| 1/10 | C++ syntax | 2.1 - 2.6 | |||
| 1/13 | If statements | 2.7 - 3.6 | |||
| 1/15 | Loops | 3.7 - 4.11 | |||
| 1/17 | Loop practice | in-class activities | |||
| 1/22 | Data types and functions | 5.1, 5.2, 5.4-5.6 | in-class activities | ||
| 1/24 | C++ arrays | 6.1-6.5 | |||
| 1/27 | More C++ arrays, vectors, linear search | 6.6, 6.10 | in-class activities | Project 2, due on Moodle at 11:55pm 2/3. | |
| 1/29 | More vectors, filtering, transforming, min/max | (see previous activities) | |||
| 1/31 | Pass by value, pass by reference | 5.15 | |||
| 2/3 | Strings and structs | 22.2-22.4 (see note under resources above) | |||
| 2/5 | Practice with strings and structs | in-class activities | |||
| 2/7 | File reading | all of chapter 8 | Project 3, due on Moodle at 11:55pm 2/17. | ||
| 2/10 | File reading practice | in-class activities | |||
| 2/12 | (Midterm I) | ||||
| 2/14 | Memory management, pointers | 7.1, 7.2, 7.3 | |||
| 2/17 | Pointers II (passing pointers to functions, vectors of pointers) | 7.4 | |||
| 2/19 | Pointers lab | ||||
| 2/21 | Pointers wrapup, dynamic memory | 5.12 | |||
| 2/24 | Dynamic memory II | Project 4, due on Moodle at 11:55pm 3/6. | slides | ||
| 2/26 | Dynamic memory III (Myvector lab) | 5.12 | in-class activities | ||
| 2/28 | Recursion I | 5.20 | slides | ||
| 3/3 | (Snow day) | ||||
| 3/5 | Recursion II | ||||
| 3/7 | (Prof at conference) | ||||
| 3/17 | Recursion practice | in-class activities | |||
| 3/19 | Recursive maximum, binary search | 19.2 | in-class activities | slides | |
| 3/21 | Finish binary search lab, double recursion | ||||
| 3/24 | Objects I | 9.1-9.4 | slides | ||
| 3/26 | Objects II: Interface & implementation, setters & getters | 9.6, 9.7, 9.11 | Project 5, due on Moodle at 11:55pm 4/9. | slides | |
| 3/28 | Objects III: Constructors | slides | |||
| 3/31 | Objects IV: Destructors, pointers to objects, and rational lab | 9.9, 9.10, 9.13 | in-class activities | slides | |
| 4/2 | (Midterm 2) | ||||
| 4/4 | Operator overloading | 11.1-11.7 | slides | ||
| 4/7 | Inheritance I | 12.1, 12.2 | slides | ||
| 4/9 | Inheritance II | 12.3, 12.4, 12.5 | slides | ||
| 4/11 | Inheritance III | in-class activities | slides | ||
| 4/14 | Polymorphism | 13.1-13.3 | in-class activities | Project 6, due on Moodle at 11:55pm 4/28. | slides |
| 4/16 | Polymorphism | ||||
| 4/21 | Linked lists | slides (running time of algorithms only) | |||
| 4/23 | Linked lists | slides (wrapup only) |