15-122 Principles of Imperative Computation, Spring 2015

Course Information, Spring 2015

Lecture 1: Tuesday and Thursday, 9am-10:20am, Doherty Hall 2210
Instructor Robert Simmons (GHC 9101)
Lecture 2: Tuesday and Thursday, 10:30am-11:50am, Doherty Hall 2210
Instructor Hyrum Wright (GHC 6007)
Recitations: A (9:30-10:20) Mon GHC 5201, Fri WEH 5302 Reid, Matt D., Steven M.K.
B (10:30-11:20) Mon GHC 5201, Fri HBH 1004 Steven T.K., Cortney, Ashish
C (11:30-12:20) Mon GHC 5201, Fri GHC 4301 Steven T.K., Matt D., Brendan
D (12:30-1:20) Mon GHC 5201, Fri HBH 1511 Matt H., Matt D., Aaron
E (1:30-2:20) Mon GHC 5201, Fri PH A22 Matt H., Apoorva, Brendan
F (2:30-3:20) Mon GHC 5201, Fri PH 226A James, Apoorva, John
G (3:30-4:20) Mon GHC 5201, Fri DH 1211 James, Jason, Shyam
H (9:30-10:20) Mon GHC 5208, Fri HBH 1511 Schiavo, Grant, Shyam
I (10:30-11:20) Mon GHC 5208, Fri HH B131 Schiavo, Edward, Michael
J (11:30-12:20) Mon GHC 5208, Fri SH 125 Cortney, Edward, John
K (12:30-1:20) Mon GHC 5208, Fri SH 208 Nivedita, Christine, Michael
L (1:30-2:20) Mon GHC 5208, Fri WEH 4709 Tian, Jamie
M (2:30-3:20) Mon GHC 5208, Fri PH 226B Tian, Grant, Steven M.K.
N (3:30-4:20) Mon GHC 5208, Fri PH 226B Nivedita, Christine, Ashish
O/P(4:30-5:20) Mon GHC 5201, Fri GHC 4101 Jason, Reid, Aaron
Admin: Barb Grandillo (GHC 6010)
Academic integrity forms, waitlist questions, un-picked-up homework, regrade reqests
TAs: See Staff page
Extra Help Hours:
(Note - No extra help hours on Thursdays)
Monday 5 to 7 p.m. (GHC 4102)
Tuesday 12 to 1:30 p.m. (GHC 6007)
5 to 9 p.m. (GHC 4215)
Wednesday 5 to 9 p.m. (GHC 4102, with overflow to GHC 5222 and the helix)
Friday 3:30 to 5:30 p.m. (GHC 9101)
5 to 9 p.m. (GHC 4102)
Saturday 5 to 7 p.m. (GHC 4211)
Sunday 5 to 7 p.m. (GHC 4211)
In addition, Academic Development has walk-in tutoring sessions for 15-122 on Sunday, Monday, and Tuesday nights from 8:30-11:00pm in the Mudge Reading Room (starting Monday, Jan. 19).
Conceptual Office Hours:
Tuesday 5:30 to 7 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