
Date 
Topic 
Other 
M 
Aug 25 
Lab 0: Starting out with C0 

T 
Aug 26 
Overview (code) 

R 
Aug 28 
Contracts (slides) 

F 
Aug 29 
Recitation 0: C0 and Contracts 
Quiz 0 

M 
Sep 1 
Labor day — optional C0 at
CMU laptop setup session, 46pm, GHC 4401 
T 
Sep 2 
Integers (Slides) 
Written 1 Due 
R 
Sep 4 
Arrays 
Programming 1 (Scavenger Hunt) Due 
F 
Sep 5 
Recitation 1: C0's basic types 
Quiz 1 

M 
Sep 8 
Lab 2: Ints and Arrays 
Written 2 Due 
T 
Sep 9 
Search (arrayutil.c0 handout) (Code) 

R 
Sep 11 
Sorting (Code) 
Programming 2 (Pixels) Due 
F 
Sep 12 
Recitation 2: BigO Notation 
Quiz 2 

M 
Sep 15 
Lab 3: Timing and Testing 
Written 3 Due 
T 
Sep 16 
Binary Search (Code) 

R 
Sep 18 
Quicksort (Code) 
Programming 3 (Images) Due 
F 
Sep 19 
Recitation 3: Other Sorting Algorithms 
Quiz 3 

M 
Sep 22 
Lab 4: Processing Arrays of Strings 
Written 4 Due 
T 
Sep 23 
Data Structures (Code) 

R 
Sep 25 
Stacks and Queues 
Programming 4 (DosLingos) Due 
F 
Sep 26 
Recitation 4: Stacks, queues, recursion (Solutions) 
Quiz 4 

M 
Sep 29 
Lab 5: 
Written 5 Due 
T 
Sep 30 
Linked Lists (Code) (Slides on sharing) 

R 
Oct 2 
MIDTERM 1 (Sample solution) 
F 
Oct 3 
Recitation 5: Pointers 


M 
Oct 6 
Lab 6: Linked Lists 
Written 6 Due 
T 
Oct 7 
Amortized Analysis (Code) 

R 
Oct 9 
Hash Tables 
Programming 56 (Clac) Due 
F 
Oct 10 
Recitation 6: Unbounded Arrays 
Quiz 6 

M 
Oct 13 
Lab 7: Hashing Strings 
Written 7 Due 
T 
Oct 14 
Interfaces (Code) 

R 
Oct 16 
Priority Queues 
Programming 78 (Editor) Checkpoint 
F 
Oct 17 
Midsemester break 

M 
Oct 20 
Lab 8: Hash Tables 
Written 8 Due 
T 
Oct 21 
Restoring Invariants (Code) 

R 
Oct 23 
Binary Search Trees 
Programming 8 (Editor) Due 
F 
Oct 24 
Recitation 8: Heaps 
Quiz 8 

M 
Oct 27 
Lab 9: Binary Search Trees 
Written 9 Due 
T 
Oct 28 
AVL Trees (Slides) (Code) 

R 
Oct 30 
Memory Management 
Programming 9 (Ropes) Due 
F 
Oct 31 
Recitation 9: Trees 
Quiz 9 

M 
Nov 3 
Lab 10: 
Written 10 Due 
T 
Nov 4 
Types in C 

R 
Nov 6 
MIDTERM 2 (Sample solution) 
F 
Nov 7 
Recitation 10: More C 


M 
Nov 10 
Lab 11: Strings in C 
Written 11 Due 
T 
Nov 11 
Tries (Code) 

R 
Nov 13 
Generic Data Structures (Code) 
Programming 1011 (String Buffers) Due 
F 
Nov 14 
Recitation 11: Tries and C 
Quiz 11 

M 
Nov 17 
Lab 12: Priority Queues in C 
Written 12 Due 
T 
Nov 18 
Virtual Machines (Code) (Handout) 

R 
Nov 20 
Graph Search (Code) 
Programming 12 (Lights Out) Due 
F 
Nov 21 
Recitation 12: C0VM (Slides) 
Quiz 12 

M 
Nov 24 
Lab 13: 

T 
Nov 25 
Spanning Trees 
Programming 1314 (C0VM) Checkpoint 
R 
Nov 27 
Thanksgiving break 
F 
Nov 28 
Thanksgiving break 

M 
Dec 1 
Lab 14: Graphs in C 
Written 1314 Due 
T 
Dec 2 
UnionFind (Code) 

R 
Dec 4 
Garbage Collection (Wilson 1994, p117) (C Code) 
Programming 1314 (C0VM) Due 
F 
Dec 5 
Recitation 14: Graphs 
Quiz 14 


Dec 9 
FINAL EXAM, 5:30pm8:30pm December 9 