Lessons
Week 1
Tuesday | Wednesday | Thursday Objects, types, and values (part 1) | Friday Objects, types, and values (part 2) | Saturday |
Week 2
Monday Selection and iteration | Tuesday Introduction to Functions (part 1) | Wednesday Introduction to Functions (part 2) | Thursday structs | Friday Vectors and strings | Saturday Two-dimensional vectors |
Week 3
Monday Maps | Tuesday Navigating the command line | Wednesday Command line compilation and execution | Thursday | Friday Line-by-line debugging | Saturday Compilation and execution in detail (part 1) |
Week 4
Monday Compilation and execution in detail (part 2) | Tuesday Build systems: make | Wednesday Version control: git (part 1) | Thursday Version control: git (part 2) | Friday Software and errors (part 1) | Saturday Software and errors (part 2) |
Week 5
Monday Handling non-local errors at runtime (part 1) | Tuesday Handling non-local errors at runtime (part 2) | Wednesday Testing and debugging | Thursday Test-driven development | Friday Pointers | Saturday Arrays |
Week 6
Monday References and argument passing | Tuesday | Wednesday Introduction to classes | Thursday Introduction to classes cont. | Friday Operator overloading for user-defined types (part 1) | Saturday Operator overloading for user-defined types (part 2) |
Week 7
Monday Streams and input validation (part 1) | Tuesday Streams and input validation (part 2) | Wednesday Data representation (part 1) | Thursday Data representation (part 2) | Friday Data representation (part 3) | Saturday Functions and the stack |
Week 8
Week 9
Monday Tools for testing and debugging memory issues (part 2) | Tuesday RAII and dynamic memory in classes (part 1) | Wednesday RAII and dynamic memory in classes (part 2) | Thursday Copy semantics (part 1) | Friday Copy semantics (part 2) | Saturday Dynamic structures (part 1) |
Week 10
Monday Dynamic structures (part 2) | Tuesday Singly linked lists (part 1) | Wednesday Singly linked lists (part 2) | Thursday Function templates (part 1) | Friday Function templates (part 2) | Saturday Class templates |
Week 11
Monday Inheritance (part 1) | Tuesday Inheritance (part 2) | Wednesday Inclusion polymorphism (part 1) | Thursday Inclusion polymorphism (part 2) | Friday An introduction to trees | Saturday Introduction to binary search trees (BSTs) |
Week 12
Monday BST traversals | Tuesday BST construction | Wednesday BST insertion and destruction | Thursday BST queries (part 1) | Friday BST queries (part 2) |
Week 13
Week 14
Monday Introduction to design patterns | Tuesday The strategy pattern | Wednesday Introduction to iterators | Thursday Implementing a Doubly Linked List Iterator | Friday Introduction to move semantics (part 1) | Saturday Introduction to move semantics (part 2) |
Week 15
Monday | Tuesday | Wednesday |