15-122 Principles of Imperative Computation

Spring 2011
Frank Pfenning
Lecture, TuTh 9:00-10:20, GHC 4401
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 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.

What's New?

Course Material

Schedule Lecture and recitation schedule, readings, and code
Assignments Details of assignments, due dates, and policies
Resources Additional course resources

Course Information

Lectures Tue Thu 9:00-10:20, GHC 4401
Textbook There is no course textbook
Lecture notes and other resources will be provided
Recitations Section A - Wed Fri 10:30-11:20, WeH 5310
Section B - Wed Fri 11:30-12:20, WeH 5310
Section C - Wed Fri 12:30-1:20, WeH 5310
Section D - Wed Fri 1:30-2:20, WeH 5310
Section E - Wed Fri 2:30-3:20, WeH 5310
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, Feb 17 during lecture time
Closed book, one double-sided sheet of notes permitted
Midterm 1, sample solution
Midterm 2 100 points, Mar 31 during lecture time
Closed book, one double-sided sheet of notes permitted
Final 250 points, Tuesday, May 3, 1:00pm-4:00pm, UC McConomy
Closed book, one double-sided sheet of notes permitted
Final, sample solution
Home http://www.cs.cmu.edu/~fp/courses/15122-s11/
Blackboard http://www.cmu.edu/blackboard/
Used only for tracking of grades and quizzes
Newsgroup academic.cs.15-122
Directory /afs/andrew.cmu.edu/course/15/122/


  Frank Pfenning
Contact fp@cs
Office GHC 9101
Office Hours Fri 12:00-1:30 (except Thu 12:00-1:30 in week 1)

Teaching Assistants

Section TA Contact Office Hours Location
A 10:30 Tom Cortina tcortina@cs Tue 2:00-3:30
Thu 2:00-3:30
GHC 6017
B 11:30 Karl Naden kbn@cs Mon 2:30-3:30
Fri 2:30-3:30
GHC 7709
C 12:30 William Lovas wlovas@cs Wed 4:30-6:30 GHC 9110
D 1:30 Jacob Potter jdpotter@andrew Tue 5:00-6:00
Wed 5:00-6:00
GHC 6111
E 2:30 Ananda Gunawardena guna@andrew Tue 10:30-12:00
Thu 10:30-12:00
GHC 6005

Course Assistants

CA Contact Cluster Hours Location
Bill Zorn waz@andrew Mon 6:30-9:30 GHC 5201 or GHC 5205
Jason Chow jmchow@andrew Tue 6:30-9:30 GHC 5201 or GHC 5205
Thomas Tuttle ttuttle@andrew Wed 6:30-9:30 GHC 5201 or GHC 5205
Sri Raghavan srikrish@andrew Thu 6:30-9:30 GHC 5201 or GHC 5205
Jason Koenig jrkoenig@andrew Tue or Thu 6:30-9:30 GHC 5201 or GHC 5205

[ Home | Schedule | Assignments | Resources ]
[ Blackboard | academic.cs.15-122 ]

Frank Pfenning