15-122 Principles of Imperative Computation (Fall 2012)

Recitation Section H: WF 12:30 - 1:30pm
Room: Porter Hall A18C
Instructor: Jonathan Clark (jhclark@cs)
Office Hours: WF 1:30 - 2:30pm, GHC 5709 (Hillman Building)
Exceptions: F 9/28, F 10/5, W 10/31

Lecture page: http://www.cs.cmu.edu/~fp/courses/15122-f12/

Midterm 1 Review Page: http://www.cs.cmu.edu/~jhclark/courses/15122-f12/mt1-review

Recitation 1 W 8/29 The C0 Language ( Code ) (C0 Documentation from Frank Pfenning)
Recitation 2 F 8/31 Reasoning with Loop Invariants
(POW and pow_iter)
(HTML Notes from Rob Simmons)
Recitation 3 W 9/5 Hex Notation, 2's Complement, and ARGB Images (PDF Notes from Josh Zimmerman) (safe_add code)
Recitation 4 F 9/7 Bit manipulation, A Note on Loop Invariants, and Arrays (PDF Notes from Josh Zimmerman) (C0 Documentation)
Recitation 5 W 9/12 Looping through Arrays with Strong Contracts (Instructor: Carsten Varming) (Code)
Recitation 6 F 9/14 Binary Search (PDF Notes, Solutions from Josh Zimmerman)
Recitation 7 W 9/19 Unit Testing (PDF Notes, PDF Code, Code Directory)
Recitation 8 F 9/21 Big O and Sorting (PDF Notes)
Recitation 9 W 9/26 Quicksort Review (Quickly), Pointers, and Linked Lists (PDF Notes, Solutions from Josh Zimmerman)
(Quicksort Notes, Last Page from Last Time)
Recitation 10 F 9/28 Tutorial plus In-place list append (Instructor: Carsten Varming)
Recitation 11 W 10/3 Memory Layout (Stack, Heap, etc.) and Recursion's Effects on the Stack (PDF Notes, Solutions from Josh Zimmerman)
Recitation: Midterm 1 Review F 10/5 Preliminary Review for Midterm (Instructor: Rob Simmons)
Recitation 12 W 10/10 Amortized Analysis (PDF Notes, Solutions from Josh Zimmerman)
Recitation 13 F 10/12 Homework 4 Programming Overview (Homework 4 Programming)
Recitation 14 W 10/17 Hash tables (PDF Notes, Solutions from Josh Zimmerman)
Recitation 15 F 10/19 No Recitation (Midsemester Break)
Recitation 16 W 10/24 Priority queues, heaps, and backtracking search (PDF Notes, Solutions from Josh Zimmerman) (heaps.c0 from lecture)
Recitation 17 F 10/26 Binary search trees (PDF Notes, Solutions from Josh Zimmerman; WARNING: These solutions have a bug in the proof. It's there to help you study via finding it. If you can't find it, come to office hours!) (bst.c0 from lecture)
Recitation 18 W 10/31 AVL Trees -- balanced binary search trees
(Instructor: Nivedita Chopra)
(PDF Notes, Solutions from Josh Zimmerman)
Recitation 19 F 11/2 C: Function pointers, strings, contract macros, memory management (PDF Notes, Solutions from Josh Zimmerman) (funcpoint.c, strcat.c)
Recitation 20 W 11/7 More C: Address-of operator, free, valgrind, memory, common C mistakes (PDF Notes, Solutions from Josh Zimmerman) (heaps.h, heaps.c, use-after-free.c)
Recitation 21A F 11/9 Midterm #2 Review (PDF Notes)
Recitation 21B W 11/14 Tries (PDF Notes), (Code)
Recitation 22 F 11/16 More C Pitfalls (PDF Notes)
Recitation 23 W 11/21 Thanksgiving Break
Recitation 24 W 11/28 Generic graph search with priority queues and Dijkstra's algorithm (PDF Notes)
Recitation 25 W 11/30 Minimal Spanning Trees and Kruskal's Algorithm (PDF Notes)

Other resources

C0 on Andrew Tuturial
Unix commands reference card
Emacs reference card

Credits: The styling of this page is a cheap knock-off of Frank Pfenning's primary 15-122 page.