15-122 Principles of Imperative Computation, Summer 1 2014

Course Information, Summer 1 2014

Lectures: Monday-Friday, 10:30am-11:50am, GHC 4307
Recitation: Tuesday-Thursday, 3:00pm-4:20pm, GHC 4215
Instructor: Robert Simmons (Office Hours Tuesday-Friday, noon-1:00pm, GHC 4307)
TAs: See Staff page (Office Hours Every Day, 4:30pm-6:30pm, GHC 4215)


This course teaches imperative programming and methods for ensuring the correctness of programs. It is intended for students with a basic understanding of programming (variables, expressions, loops, arrays, functions). Students will learn the process and concepts needed to go from high-level descriptions of algorithms to correct imperative implementations, with specific applications 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.

Either 21-127 or 15-151 15-151 is a co-requisite (must be taken before or in the same semester). This course prepares students for 15-213 and 15-210.

More information about the course objectives can be found in the syllabus.


The course is graded on a 1000-point scale. Absent exceptional circumstances, scores of 900 and above will be given an A, scores of 800 and above will be given a B, etc. Scores below these thresholds may receive the higher grade based on participation and/or exam performance on the sole discretion of the instructor.

Style re-grading can be done by any TA. All other grading disputes or requests for re-grading should go through Professor Simmons in his office hours.

Valid CSS! Valid XHTML 1.0 Strict