There is no textbook for the course, other resources, such as lecture notes, are linked here.
All assigments, labs and recitations are distributed via autolab. Written assignments are due on Gradescope by 3pm on the indicated day, and programming assignments are due at 9pm on Autolab on the indicated day.
In this course, there will be three types of class periods.
Dates | Morning | Afternoon | Written | Programming | |
---|---|---|---|---|---|
M | July 2 | Introduction | Lab: Setup | Written 1 | |
T | July 3 | Contracts | Rec: C0 Basics | Scavenger Hunt | |
W | July 4 | Independence day -- No Class | |||
R | July 5 | Arrays (code) | Lab: Loopty-Loopty Loop | Written 2 | |
F | July 6 | Searching Arrays (code) | No lab/recitation -- extra office hours | Pixels | |
M | July 9 | Sorting Arrays | Lab: TA Training | ||
T | July 10 | Binary Search | Rec: Function Family Reunion | Images | |
W | July 11 | Quicksort | Rec: A Strange Sort of Proof | Written 3 | |
R | July 12 | Data Structures | Lab: Fibonacci has Bad Internet | ||
F | July 13 | Stacks and Queues | Lab: Miscalculation | Written 4 | Speller |
M | July 16 | Exam 1 | No lab/recitation | ||
T | July 17 | Linked Lists | Rec: A queue_t interface | CLAC | |
W | July 18 | Unbounded Arrays | Lab: List(en) Up! | Written 5 | |
R | July 19 | Hash Tables | Rec: Link it All Together | ||
F | July 20 | Dictionaries | Lab: Hash This! | Written 6 | Text Buffer |
M | July 23 | Generic Data Structures | Rec: Array Disarray | ||
T | July 24 | Binary Search Trees | Lab: Legacy of the void* | Bloom Filter | |
W | July 25 | AVL Trees | Lab: This One's a Treet | Written 7 | |
R | July 26 | Priority Queues | Rec: Rotating Rotations | ||
F | July 27 | Restoring Invariants | Lab: PQ puns are too hard | Written 8 | Ropes |
M | July 30 | Exam 2 | No lab/recitation | ||
T | July 31 | Data Structures in C | Rec: Heaps of Fun | Generic Queues | |
W | Aug 1 | C's Memory Model | Rec: From C1 to Shining C | Written 9 | |
R | Aug 2 | Types in C | Lab: Once you C1 you C them all | ||
F | Aug 3 | Program as Data: the C0VM | Rec: C-ing is Believing | Written 10 | Lights Out |
M | Aug 6 | Representing Graphs | Lab: All sorts of sorts | ||
T | Aug 7 | Reachability in Graphs | Rec: Computing on the Edge | Written 11 | C0VM Checkpoint (no late day) |
W | Aug 8 | Spanning Trees | Lab: Spend some Cycles Thinking | ||
R | Aug 9 | Union-Find | No lab/recitation | Written 12 | |
F | Aug 10 | Exam 3 | No lab/recitation | C0VM Final (no late day) |