15-122 Principles of Imperative Computation, Summer II 2018


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 Lab: Loopty-Loopty Loop Written 2
F July 6 Searching Arrays Rec:Ints Review 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 Sets 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)