| Assignments | 80% |
| Participation | 20% |
| Week 1 | Welcome. Syllabus and introductions. Assignment 0: dos and don'ts. Assignment 1: Linked Lists |
| Week 2 | Basics: UNIX, C++, compiling, library usage policy. Setting up Eclipse. |
| Week 3 | The Pulse. Timing: linear vs. squared (time vs. space). Eclipse & debugging (breakpoints, watch expressions). Questions? Assignment 2: Binary Search Trees. |
| Week 4 | Timing: sorted input, balance, height and depth, applications. |
| Week 5 | Assignment 3: Balanced Trees (Red-Black) Tree traversals. Logarithms and tree height, how and why. |
| Week 6 | The Pulse. Review Assignment 2. Review RB-Tree rotations & insert. |
| Week 7 | Assignment 4: Max-Binary-Heaps Array-based implementation. Heap-Insert. ExtractMax Heap-Grow (hedging your bets). |
| Week 8 | Assignment 5 (extra credit): Sorting Algorithms (Quicksort) Heaps continued. |
| Week 9 | Miscellaneous topics. Homework questions. Quicksort. |
| Week 10 | Evaluations. Wrap up. |