15-122 Principles of Imperative Computation

Fall 2012
Lecture 1, TuTh 9:00-10:20, GHC 4401, Frank Pfenning, Ananda Gunawardena
Lecture 2, ThTh 10:30-11:50, WeH 7500, Thomas Cortina, Rob Simmons
10 units

For students with a basic understanding of programming (variables, expressions, loops, arrays, functions). Teaches imperative programming and methods for ensuring the correctness of programs. Students will learn the process and concepts needed to go from high-level descriptions of algorithms to correct imperative implementations, with specific application to basic data structures and algorithms. Much of the course will be conducted in C0, a subset of C amenable to verification, with a transition to full C near the end. This course prepares students for 15-213 and 15-210.


Course Material

Schedule Lecture and recitation schedule, readings, and code
Assignments Details of assignments, due dates, and policies
Resources Additional course resources
C0 Home Page Tutorials, language reference, binary downloads

Course Information

Textbook There is no course textbook
Lecture notes and other resources will be provided
Recitations Wed and Fri, schedule see below
Credit 10 units
Grading 10% Quizzes, 20% Midterms, 25% Final, 45% Assignments
Assignments There are 8 assignments worth a total of 450 points
Quizzes There are 8 quizzes worth a total of 100 points
Quizzes will be taken online on Blackboard
The lowest quiz score will be dropped
Midterm 1 100 points, Tue Oct 9 during lecture time
Closed book, one double-sided sheet of notes permitted
Midterm 1 exams from prior semesters:
Fall 2010 (sample sol)
Spring 2011 (sample sol)
Fall 2011 (sample sol)
Spring 2012 (sample sol)
Fall 2012, sample solution
Midterm 2 100 points, Tue Nov 13 during lecture time
Closed book, one double-sided sheet of notes permitted
Midterm 2 exams from prior semesters:
Fall 2010 (sample sol)
Spring 2011 (sample sol)
Fall 2011 (sample sol)
Spring 2012 (sample sol)
Fall 2012, sample solution
Final 250 points, Fri Dec 14, 8:30am-11:30am
Sections A-G: McConomy Auditorium (University Center)
Sections H-J: Porter Hall 100

Closed book, one double-sided sheet of notes permitted
Home http://www.cs.cmu.edu/~fp/courses/15122-f12/
Piazza https://piazza.com/#fall2012/15122
Course communication
Autolab https://autolab.cs.cmu.edu/15122-f12
Online handing for programming assignments
Blackboard http://www.cmu.edu/blackboard/
Used only for tracking of grades and quizzes
Directory /afs/andrew.cmu.edu/course/15/122/

Lectures and Recitations

Lecture Section Time Location Instructor Contact Office Office Hours
Lec 1 TR 9:00-10:20 GHC 4401 Frank Pfenning fp@cs GHC 9101 Mon 12:30, Wed 2:30
Lec 1 Ananda Gunawardena guna@cs GHC 6005 Wed 1:30-3:00, Fri 3:00-4:30
Lec 2 TR 10:30-11:50 WeH 7500 Thomas Cortina tcortina@cs GHC 4117 Tue 5:30, Thu 5:30
Lec 2 Rob Simmons rjsimmon@cs GHC 6025 Tue 1:00, Wed 4:30
Lec 1 A WF 10:30-11:20 DH 2122 Carsten Varming cvarming@cs GHC 6505 Thu 1:00
Lec 1 B WF 11:30-12:20 DH 2122 Kyle Griswold kgg@andrew GHC 4122/26 Fri 2:30, Fri 3:30
Lec 1 C WF 12:30-1:20 DH 2122 Elizabeth Davis emd1@andrew GHC 4211 Mon 5:00, Tue 8:00
Lec 1 D WF 1:30-2:20 WeH 5310 Alex Cappiello acappiel@andrew WEH 5312 Thu 4:30, Thu 5:30
Lec 1 E WF 2:30-3:20 WeH 5310 Nivedita Chopra niveditc@andrew GHC 4122/26 Wed 3:30, Fri 3:30
Lec 1 F WF 3:30-4:20 WeH 5310 Bill Zorn waz@andrew GHC 4122/26 Tue 3:00, Thu 3:00
Lec 2 G WF 10:30-11:20 WeH 5302 Josh Zimmerman jzimmerm@andrew GHC 5222 Wed 6:00, Wed 7:00
Lec 2 H WF 12:30-1:20 PH A18C Jonathan Clark jhclark@cs GHC 5709 Wed 1:30, Fri 1:30
Lec 2 I WF 1:30-2:20 GHC 4211 Klas Leino kleino@andrew WEH 5312 Thu 7:30, Thu 8:30
Lec 2 J WF 3:30-4:20 WeH 5312 Ryan Sit rsit@andrew GHC 4122/26 Mon 3:00, Mon 4:00

Course Assistants

CA Contact Location Cluster Hours
Arjun Hans arjunh@andrew GHC 4211 Mon 6:00-8:00
Elliot Rosen elliotr@andrew GHC 3rd Floor Sun 6:00-8:00
Kathy Yu kyu1@andrew WEH 5312 Thu 10:00pm-12:00am
Ling-Yi Kung lkung@andrew GHC 5222 Wed 8:30-10:30
Maria Khutoretsky mkhutore@andrew GHC 4211 Tue 6:00-8:00

Walk-in Tutoring

Walk-in Tutoring is available Mondays and Tuesdays, 8:30pm-11:00pm in the Mudge Reading Room.


[ Home | Schedule | Assignments | Resources ]
[ Piazza | Blackboard ]

fp@cs
Frank Pfenning