15-122: Principles of Imperative Computation (Sp'14)


DateLecture NotesExtraDue
Mon 01/13
Tue 01/14Overviewcode 
Wed 01/15Rec: Syntax Errors and Compiler
Thu 01/16Contracts & Program Reasoningcode 
Fri 01/17Rec: Reasoning about while LoopssolQuiz 1 
Mon 01/20Lab 0 
Tue 01/21Ints
Wed 01/22Rec: Integer Circle and Hexsol
Thu 01/23Arrays & Safe Accesscode Asst 1 
Fri 01/24Rec: Pixels, Arrays, for LoopssolQuiz 2 
Mon 01/27Lab 1 
Tue 01/28Linear Searchcode 
Wed 01/29Rec: C0 Debugging, Searchsol
Thu 01/30Binary Searchcode Asst 2 
Fri 01/31Rec: Binary Search, ProofssolQuiz 3 
Mon 02/03Lab 2 
Tue 02/04Sortingcode 
Wed 02/05Rec: Big-O, Unit Testingsol
Thu 02/06Quicksortcode Asst 3 
Fri 02/07Rec: Big-O, Quicksort InvariantssolQuiz 4 
Mon 02/10Lab 3 
Tue 02/11Stacks & Queuescode 
Wed 02/12Rec: Stacks, Queues & Clacssol
Thu 02/13Pointers & Linked Listscode Asst 4 
Fri 02/14Rec: Linked ListssolQuiz 5 
Mon 02/17Lab 4 
Tue 02/18Implementing Data Structurescode 
Wed 02/19Rec: Memory Layout, Recursionsol
Thu 02/20Amortized Analysiscode Asst 5 
Fri 02/21Rec: ReviewsolQuiz 6 
Mon 02/24
Tue 02/25Midterm I
Wed 02/26Rec: Unbounded Arrays, Amortized Analysissol
Thu 02/27Hash TablesAsst 6 
Fri 02/28Rec: Hashing, hash tablessolQuiz 7 
Mon 03/03Lab 5S 
Tue 03/04Interfacescode 
Wed 03/05Rec: Hash Table Implementationssol
Thu 03/06Binary Search Trees / PrioriQcode Asst 7 
Fri 03/07No recitation
Mon 03/10Spring Break
Tue 03/11Spring Break
Wed 03/12Spring Break
Thu 03/13Spring Break
Fri 03/14Spring Break
Mon 03/17Lab 5 
Tue 03/18Priority Queues
Wed 03/19Rec: BSTs and Backtrackingsol
Thu 03/20Restoring Invariantscode Asst 8 
Fri 03/21Rec: HeapssolQuiz 8 
Mon 03/24Lab 6 
Tue 03/25Memory Managementcode 
Wed 03/26Rec: C0 -> Ccode 
Thu 03/27AVL Treescode Asst 9 
Fri 03/28Rec: AVL TreessolQuiz 9 
Mon 03/31
Tue 04/01Types in Ccode Lab 7 
Wed 04/02Rec: &, switch, struct & castsol
Thu 04/03Generic Data Structurescode Asst 10 
Fri 04/04Rec: Midterm preparationQuiz 10 
Mon 04/07
Tue 04/08Midterm II
Wed 04/09Rec: Function pointers, heap freesol
Thu 04/10Carnival
Fri 04/11Carnival
Mon 04/14Lab 8 
Tue 04/15Virtual Machinescode VM
Wed 04/16Rec: VM Labcode 
Thu 04/17Triescode 
Fri 04/18Rec: Trie, trie again & BoggleQuiz 11 
Mon 04/21Lab 9S 
Tue 04/22Search in Graphscode 
Wed 04/23Rec: Graph Search
Thu 04/24Spanning Treescode Asst 11 
Fri 04/25Rec: Kruskal, BFS, tree distanceQuiz 12 
Mon 04/28
Tue 04/29Union-Findcode 
Wed 04/30Rec: VM Lab hours
Thu 05/01Garbage CollectionLab 9 
Fri 05/02Rec: Course reviewQuiz 13 
Mon 05/05Final
The lecture schedule is tentative!

Lab Schedule

Quiz 110Quiz 1Fri 01/17
Lab 05Scavenger Hunt Lab 0codeMon 01/20
Asst 120Theory Assignment 1codeThu 01/23
Quiz 210Quiz 2Fri 01/24
Lab 115Pixels Lab 1codeMon 01/27
Asst 220Theory Assignment 2codeThu 01/30
Quiz 310Quiz 3Fri 01/31
Lab 215Image Lab 2codeMon 02/03
Asst 315Theory Assignment 3codeThu 02/06
Quiz 410Quiz 4Fri 02/07
Lab 315DosLingos Lab 3codeMon 02/10
Asst 415Theory Assignment 4codeThu 02/13
Quiz 510Quiz 5Fri 02/14
Lab 415Claculator Lab 4codeMon 02/17
Asst 520Theory Assignment 5codeThu 02/20
Quiz 610Quiz 6Fri 02/21
Asst 610Theory Assignment 6codeThu 02/27
Quiz 710Quiz 7Fri 02/28
Lab 5SE0 Text Editor Lab 5 (check)codeMon 03/03
Asst 710Theory Assignment 7codeThu 03/06
Lab 535E0 Text Editor Lab 5codeMon 03/17
Asst 815Theory Assignment 8codeThu 03/20
Quiz 810Quiz 8Fri 03/21
Lab 615Peg Lab 6codeMon 03/24
Asst 920Theory Assignment 9codeThu 03/27
Quiz 910Quiz 9Fri 03/28
Lab 720String Buffer Lab 7codeTue 04/01
Asst 1015Theory Assignment 10codeThu 04/03
Quiz 1010Quiz 10Fri 04/04
Lab 820Lights Out Lab 8codeMon 04/14
Quiz 1110Quiz 11Fri 04/18
Lab 9SC0 Virtual Machine Lab 9 (check)codeMon 04/21
Asst 1119Theory Assignment 11codeThu 04/24
Quiz 1210Quiz 12Fri 04/25
Lab 975C0 Virtual Machine Lab 9codeThu 05/01
Quiz 1310Quiz 13Fri 05/02
Sum539points listed
The Lab and Assignment Schedule is tentative!
Theory assignments are due at start of lecture on the due day.
Programming lab assignments are due at 10:00pm on the due day.
Quizzes are due by 10:00pm on the due day. Three lowest quiz scores will be dropped.