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 11pm on Autolab on the indicated day.
In this course, there will be three types of class periods.
Dates | Morning | Afternoon | Written | Programming | |
---|---|---|---|---|---|
M | July 3 | Contracts (code, slides) | Lab: Setup | ||
T | July 4 | Independence day -- no class | |||
W | July 5 | Integers (slides) | Rec: C0 Basics | Scavenger Hunt | |
R | July 6 | Arrays (code) | Lab: A Reversal of Fortune | Written 1 | |
F | July 7 | Searching Arrays (code) | Rec: A Bit about Bytes | Pixels | |
Su | July 9 | Written 2 | |||
M | July 10 | Sorting Arrays (code) | Lab: Time of Your Life | ||
T | July 11 | Binary Search (code) | Rec: Function Family Reunion | Images | |
W | July 12 | Quicksort (mergesort, quicksort) | Rec: A Strange Sort of Proof | Written 3 | |
R | July 13 | Data Structures (code) | Lab: Fibonacci has Bad Internet | ||
F | July 14 | Stacks and Queues (code) | Lab: Miscalculation | Written 4 | Speller |
M | July 17 | Exam 1 | No lab/recitation | ||
T | July 18 | Linked Lists (stack, queue) | Rec: A queue_t interface | CLAC | |
W | July 19 | Unbounded Arrays (code) | Lab: List(en) Up! | Written 5 | |
R | July 20 | Hash Tables | Rec: Link it All Together | ||
F | July 21 | Sets (code) | Lab: #pun | Written 6 | Text Buffer |
M | July 24 | Generic Data Structures (client, code) | Rec: Array Disarray | ||
T | July 25 | Binary Search Trees (code) | Lab: Legacy of the void* | Bloom Filter | |
W | July 26 | AVL Trees (code) | Lab: This One's a Treet | Written 7 | |
R | July 27 | Priority Queues | Rec: Rotating Rotations | ||
F | July 28 | Restoring Invariants (code) | Lab: PQ puns are too hard | Written 8 | Ropes |
M | July 31 | Exam 2 | No lab/recitation | ||
T | Aug 1 | Data Structures in C | Rec: Heaps of Fun | Generic Queues | |
W | Aug 2 | C's Memory Model | Rec: From C1 to Shining C | Written 9 | |
R | Aug 3 | Types in C | Lab: Once you C1 you C them all | ||
F | Aug 4 | Program as Data: the C0VM | Rec: C-ing is Believing | Written 10 | Lights Out |
M | Aug 7 | Representing Graphs (code) | Lab: All sorts of sorts | ||
T | Aug 8 | Reachability in Graphs (code) | Rec: Computing on the Edge | Written 11 | C0VM Checkpoint (no late day) |
W | Aug 9 | Spanning Trees | Lab: Spend some Cycles Thinking | ||
R | Aug 10 | Union-Find | No lab/recitation | Written 12 | |
F | Aug 11 | Exam 3 | No lab/recitation | C0VM Final (no late day) |