15-122 Principles of Imperative Computation, Spring 2016

Course Information, Spring 2016

Lecture 1: Tuesday and Thursday, 9am-10:20am, Doherty Hall 2210
Instructor Robert Simmons (GHC 9101, email rjsimmon@andrew)
Lecture 2: Tuesday and Thursday, 10:30am-11:50am, Doherty Hall 2210
Instructor Hyrum Wright (email hwright@andrew)
Admin: Barb Grandillo (GHC 6010)
Academic integrity forms, un-picked-up homework, regrade reqests
Extra Help Hours:
(Note - No extra help hours on Thursdays or Saturdays)
Monday 5:30 to 7:30 p.m. (GHC 4215)
Tuesday 4:30 to 8:30 p.m. (DH 1112)
12:00 to 1:00 p.m. (GHC 6007)
1:00 to 2:00 p.m. (GHC 6007) (only when Iliano lectures)
Wednesday 4:30 to 8:30 p.m. (GHC 4215)
Thursday NONE (plan ahead!)
Friday 5:30 to 7:30 p.m. (GHC 4215)
Saturday NONE (plan ahead!)
Sunday 1:30 to 5:30 p.m. (GHC 4215)
In addition, Rob Simmons has availability by appointment (sign up for one or two 15-minute slots) and Academic Development has walk-in tutoring sessions for 15-122 on Monday and Tuesday nights from 8:30-11:00pm in the Mudge Reading Room.
Conceptual Office Hours:
Monday 8:00 to 9:30 p.m. (Citadel Teaching Commons on Gates 5)
These are for discussions on concepts covered in the class, and any homework that has been handed back. For help on the current programming or written assignment, please go to extra help hours.


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 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 or calculation errors in grading can be done by any TA. All other regrade requests should be hand-delivered to Barb Grandillo in GHC 6010 within ten days of the assignment being handed back, along with a hardcopy cover lever explaining in detail why you think there was a mistake in the grading.

Valid CSS! Valid XHTML 1.0 Strict