
15122 Principles of Imperative Computation
Fall 2015 
Lecture 1, TuTh 9:0010:20, GHC 4401, Frank Pfenning, Penny Anderson 
Lecture 2, ThTh 10:3011:50, GHC 4401, Tom Cortina 
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 highlevel
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 15213 and 15210.
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, but
lecture notes and other resources will be provided.

Labs 
Mondays, schedule see below 
Recitations 
Fridays, schedule see below 
Credit 
10 units 
Grading 
25% Midterms (12.5% each), 25% Final, 45% Assignments, 5% Labs & Recitations

Assignments 
Assignments consist of written work and programming work
for a total of 450 points.

Labs & Recitations 
Labs and recitations will help you review the concepts from
class with the teaching assistants and do handson problem
solving. Some points can be earned through attendance
or quizzes given in lab and recitation

Midterm 1 
125 points, Thu Oct 8 during lecture time
Closed book, one doublesided sheet of notes permitted
Select midterm 1 exams from prior semesters:
Fall 2012 (sample sol)
Fall 2014 (sample sol)
Spring 2015 (sample sol)
NOTE: Use these exams for practice only. Some questions may go beyond our cutoff for Midterm 1 and point totals may not match our goal of 125 points.

Midterm 2 
125 points, Thu Nov 12 during lecture time
Closed book, one doublesided sheet of notes permitted
Select midterm 2 exams from prior semesters:
Fall 2012 (sample sol) (omit problem 6)
Spring 2014 (sample sol)
Spring 2015 (sample sol)
NOTE: Use these exams for practice only. Some questions may go beyond our cutoff for Midterm 2 and point totals may not match our goal of 125 points.

Final 
250 points, Thursday, December 17, 8:3011:30AM Location: Sections AG: GHC 4401; HJ: GHC 4307; KU: CUC McConomy Aud.
Closed book, one doublesided sheet of notes permitted.
Select final exams from prior semesters:
Fall 2012 (sample sol)
Spring 2013 (sample sol)
Spring 2015 (sample sol)

Home 
http://www.cs.cmu.edu/~fp/courses/15122f15/
http://www.cs.cmu.edu/~tcortina/courses/15122f15 (redirects to first link)

Piazza 
https://piazza.com/#fall2015/15122
Course communication 
Autolab 
https://autolab.cs.cmu.edu/15122f15
Online handing for programming assignments 
Directory 
/afs/andrew.cmu.edu/course/15/122/ 
Lecture 
Section 
Time 
Location 
Instructor 
Contact 
Office 
Office Hours 

Lec 1 

TR 9:0010:20AM 
GHC 4401 
Frank Pfenning 
fp@cs 
GHC 7019 
Thu 10:30am12:00 
Lec 1 



Penny Anderson 
annpenny@andrew 
GHC 6007 
Thursdays 3:004:20PM 

Lec 2 

TR 10:3011:50AM 
GHC 4401 
Tom Cortina 
tcortina@cs 
GHC 4117 
Mondays 10:30AM12:00Noon (written homework help) 
Andrew Benson

Aaron Gutierrez

Amolak Nagi

Christine Lee

Cortney Padua

DeeDee Han

Edward Cai

Edward Ahn

Grant Wu

Jonathan Burns

Jing Mao

James Wu

Fletcher Woodruff

Andrew Low

Karan Dhabalia

Matt Harding

Manik Panwar

Nate Horan

Steven Bunting

Shyam Raghavan

Suhaas Reddy

Ted Kern

Valentina Kozina

Will Ganucheau

William Tong

Lecture 
Section 
Time 
Location 
Assistants 
Contacts 

Lec 1 
A 
M 9:3010:20AM 
GHC 5208 
Nate Horan 
nhoran@andrew 
Lec 1 
B 
M 10:3011:20AM 
GHC 5208 
Grant Wu 
grantwu@andrew 
Lec 1 
C 
M 11:30AM12:20PM 
GHC 5208 
Manik Panwar 
mpanwar@andrew 
Lec 1 
D 
M 12:301:20PM 
GHC 5208 
William Tong 
wxt@andrew 
Lec 1 
E 
M 1:302:20PM 
GHC 5208 
Edward Ahn 
esahn@andrew 
Lec 1 
F 
M 2:303:20PM 
GHC 5208 
William Tong 
wxt@andrew 
Lec 1 
G 
M 3:304:20PM 
GHC 5208 
Steven Bunting 
sbunting@andrew 
Lec 1 
H 
M 9:3010:20AM 
GHC 5207 
Andrew Low 
kahkhanl@andrew 
Lec 1 
I 
M 11:30AM12:20PM 
GHC 5207 
Ted Kern 
tkern@andrew 
Lec 1 
J 
M 1:302:20PM 
GHC 5207 
Andrew Low 
kahkhanl@andrew 

Lec 2 
K 
M 9:3010:20AM 
GHC 5210 
Manik Panwar 
mpanwar@andrew 
Lec 2 
L 
M 10:3011:20AM 
GHC 5210 
Amolak Nagi 
amolakn@andrew 
Lec 2 
M 
M 11:30AM12:20PM 
GHC 5210 
Edward Ahn 
esahn@andrew 
Lec 2 
N 
M 12:301:20PM 
GHC 5210 
DeeDee Han 
dthan@andrew 
Lec 2 
O 
M 1:302:20PM 
GHC 5210 
William Ganucheau 
wganuche@andrew 
Lec 2 
P 
M 2:303:20PM 
GHC 5210 
James Wu 
jingzew@andrew 
Lec 2 
Q 
M 3:304:20PM 
GHC 5210 
Jonathan Burns 
jaburns@andrew 
Lec 2 
R 
M 10:3011:20AM 
GHC 5207 
Karan Dhabalia 
kdhabali@andrew 
Lec 2 
S 
M 12:301:20PM 
GHC 5207 
Ted Kern 
tkern@andrew 
Lec 2 
T 
M 2:303:20PM 
GHC 5207 
Jonathan Burns 
jaburns@andrew 
Lec 2 
U 
M 3:304:20PM 
GHC 5207 
Matt Harding 
mharding@andrew 
Additional support provided by:
Sections 
Time 
Assistant(s) 
Contact(s) 

A,H,K 
M 9:3010:20AM 
William Ganucheau Amolak Nagi 
wganuche@andrew amolakn@andrew 
B,L,R 
M 10:3011:20AM 
Nate Horan 
nhoran@andrew 
C,I,M 
M 11:30AM12:20PM 
Matt Harding Jing Mao 
mharding@andrew jingmao@andrew 
D,N,S 
M 12:301:20PM 
Andrew Benson 
adbenson@andrew 
E,J,O 
M 1:302:20PM 
Grant Wu 
grantwu@andrew 
F,P,T 
M 2:303:20PM 
DeeDee Han Steven Bunting 
dthan@andrew sbunting@andrew 
G,Q,U 
M 3:304:20PM 
Karan Dhabalia 
kdhabali@andrew 
Lecture 
Section 
Time 
Location 
Assistants 
Contacts 

Lec 1 
A 
F 9:3010:20AM 
GHC 4215 
Cortney Padua 
cpadua@andrew 
Lec 1 
B 
F 10:3011:20AM 
WEH 5415 
Suhaas Reddy 
suhaasr@andrew 
Lec 1 
C 
F 11:30AM12:20PM 
SH 214 
Shyam Raghavan 
shyamsur@andrew 
Lec 1 
D 
F 12:301:20PM 
WEH 4623 
Cortney Padua 
cpadua@andrew 
Lec 1 
E 
F 1:302:20PM 
GHC 4102 
Edward Cai 
ehcai@andrew 
Lec 1 
F 
F 2:303:20PM 
SH 214 
Fletcher Woodruff 
jwoodruf@andrew 
Lec 1 
G 
F 3:304:20PM 
GHC 4102 
Chris Lee 
christi3@andrew 
Lec 1 
H 
F 9:3010:20AM 
WEH 5320 
Valentina Kozina 
vik@andrew 
Lec 1 
I 
F 11:30AM12:20PM 
WEH 5310 
Jing Mao 
jingmao@andrew 
Lec 1 
J 
F 1:302:20PM 
PH 125B 
Chris Lee 
christi3@andrew 

Lec 2 
K 
F 9:3010:20AM 
GHC 4215 
Suhaas Reddy 
suhaasr@andrew 
Lec 2 
L 
F 10:3011:20AM 
WEH 5415 
Valentina Kozina 
vik@andrew 
Lec 2 
M 
F 11:30AM12:20PM 
SH 214 
Andrew Benson 
adbenson@andrew 
Lec 2 
N 
F 12:301:20PM 
WEH 4623 
Shyam Raghavan 
shyamsur@andrew 
Lec 2 
O 
F 1:302:20PM 
GHC 4102 
James Wu 
jingzew@andrew 
Lec 2 
P 
F 2:303:20PM 
SH 214 
James Wu 
jingzew@andrew 
Lec 2 
Q 
F 3:304:20PM 
GHC 4102 
Andrew Benson 
adbenson@andrew 
Lec 2 
R 
F 10:3011:20AM 
SH 208 
Flecther Woodruff 
jwoodruf@andrew 
Lec 2 
S 
F 12:301:20PM 
PH A18C 
Aaron Gutierrez 
amgutier@andrew 
Lec 2 
T 
F 2:303:20PM 
SH 219 
Edward Cai 
ehcai@andrew 
Lec 2 
U 
F 3:304:20PM 
GHC 4211 
Aaron Gutierrez 
amgutier@andrew 
Extra Help Evening Hours
Help Hours 
Location 
Mondays 6:007:30PM 
Citadel Commons (GHC 5th floor)  Conceptual Help only, no homework 
Mondays 7:309:30PM 
WEH 6423 
Tuesdays 5:309:30PM 
GHC 4215 
Wednesdays 5:309:30PM 
GHC 4211 
Thursdays 
none (plan ahead!) 
Fridays 5:309:30PM 
GHC 4101 
Saturdays 3:005:00PM 
GHC 4215 
Sundays 3:005:00PM 
GHC 4215 
Walkin Tutoring
Walkin Tutoring, sponsored by
Academic Development,
is available Sundays, Mondays and Tuesdays, 8:30pm11:00pm
in the Mudge Reading Room.
Academic Development, located in Cyert Hall,
provides academic coaching, peer tutoring,
supplemental instruction, time management advising, and collaborative
learning groups for a number of subjects.
Students with Disabilities
Students with documented disabilities may be eligible to receive
services/accomodations from CMU's Equal Opportunity Services (EOS) office.
For more information, visit:
http://www.cmu.edu/hr/eos/disability/students/
[ Home
 Schedule
 Assignments
 Resources
]
[
Piazza
 Autolab
]
fp@cs,
Frank Pfenning
tcortina@cs,
Tom Cortina
