Course Schedule and Materials (Tentative)
Spring 2026
(L) = Lectures; (R) = Recitation
| Theme | Date | Topic | Materials | Due (Before the Class) | |
|---|---|---|---|---|---|
| C Programming | Week 1 | Jan 12 | (L) Course Introduction | Slides | |
| Jan 14 | (L) Variables and Functions | Code | Anonymous Survey (0.5%) | ||
| Jan 14 | (R) Environment Setup | Slides LRC Setup Script C++ Test Run | |||
| Week 2 | Jan 19 | Martin Luther King Jr. Day (No Class) | |||
| Jan 21 | (L) Arrays and Strings | Code Printf and Format Specifier | |||
| Jan 21 | (R) C/C++ Programming in VSCode | Slides | |||
| Week 3 | Jan 26 | (L) Pointers and Memory Basics | Code How to read complex type definitions | PA #0 Due (2%) | |
| Jan 28 | (L) Memory Management in C | Code | |||
| Jan 28 | (R) In-Class Quiz | ||||
| Week 4 | Feb 2 | (L) Structs | Code (Heap) Code (Struct) | PA #1 Due (3%) | |
| Feb 4 | (L) Structs Excercise | Code (Struct) Code (Calculator) | |||
| Feb 4 | (R) Valgrind and AddressSanitizer | Slides Code | |||
| Week 5 | Feb 9 | (L) Advanced C Topics | Code | PA #2 Due (3%) | |
| Feb 11 | (L) Makefile | Code | |||
| Feb 11 | (R) Version Control and Git | Slides | |||
| Introductory Algorithm and Data Structures | Week 6 | Feb 16 | (L) Searching & Complexity | timer.h search.c | PA #3 Due (3%) |
| Feb 18 | (L) Sorting | helper.h sort.c | |||
| Feb 18 | (R) Complexity Review | ||||
| Week 7 | Feb 23 | (L) More Algorithm Complexity and Sorting | Slides | PA #4 Due (3%) | |
| Feb 25 | (L) Recursion | Slides Code | |||
| Feb 25 | (R) Exam 1 Review | Slides FRQAnswer | |||
| Week 8 | Mar 2 | (L) Linked Lists | Slides; Code Tastes in Code and Linked Lists (Linus Torvalds) | ||
| Mar 4 | (L) Trees | Slides Code Code for Calculator Using an Expression Tree (changes are made in calculator.c) | |||
| Week 9 | Mar 9 | (L) Hash Tables | Slides Code | ||
| Mar 11 | Exam 1 (20%) | ||||
| Week 10 | Spring Break (Optional Reading: "Why We Sleep" by Matthew Walker) | ||||
| Week 11 | Mar 23 | (L) Exam 1 Solutions | |||
| C++ Programming | Mar 25 | (L) Introduction to C++ | Code | ||
| Mar 25 | (R) PA #5 Hints | Slides | |||
| Week 12 | Mar 30 | (L) Object Lifetime | Slides Code | ||
| Apr 1 | (L) Inheritance and Polymorphism I | bad_blocks.cpp good_blocks.cpp | PA #5 Due1 (7%) | ||
| Apr 1 | (R) PA #5 Checkout | Sign-Up Sheet | |||
| Week 13 | Apr 6 | Exam 2 (20%) | |||
| Apr 8 | (L) Inheritance and Polymorphism II | ||||
| Apr 8 | (R) Exam 2 Solutions | ||||
| Week 14 | Apr 13 | (L) Containers | |||
| Apr 15 | (L) Templates | ||||
| Apr 15 | (R) PA #6 Hints | ||||
| Week 15 | Apr 20 | (L) System Programming | |||
| Apr 22 | (L) Final Review2 | PA #6 Due1 (7%) | |||
| Apr 22 | (R) PA #6 Checkout | ||||
| Apr 27 | Exam 3 (20%) | ||||
1 Due before the corresponding recitation session
2 With free food!