15-122: Principles of Imperative Computation (Sp'14)

15-122: Principles of Imperative Computation
    (Spring 2014)
Instructors: André Platzer and Anupam Datta
Units: 10
Semester: Spring 2014
Time: Tue Thu 9:00-10:20
Place: DH 2210 (room change)
Recitations: Wed Fri
Questions: Piazza course communication
Autolab: Hand in solutions to programming assignments
This course is listed in Computer Science as 15-122 at Carnegie Mellon University
Questions
C0 Language Piazza Autolab
15-122: Principles of Imperative Computation -- Schedule
DESCRIPTION:
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 C0, 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. NOTE: students must achieve a C or better in order to use this course to satisfy the pre-requisite for any subsequent Computer Science course.
PREREQUISITES:
15-112 Fundamentals of Programming (or equivalent)
15-151 Concepts of Mathematics (co-requisite, or 21-127)
21-127 Concepts of Mathematics (co-requisite, or 15-151)
TEXTBOOK:
There is no course textbook.
Lecture notes and other resources will be provided online.
METHOD OF EVALUATION:
Grading will be based on 10% Quizzes, 25% Midterms, 25% Final, 40% Assignments
Assignments: There are 10 programming and 11 theory assignments
Quizzes: There are 13 quizzes, the 3 lowest scores will be dropped, worth a total of 100 points.
Midterm 1: 125 points, Tue 02/25 during lecture time. Closed book, one double-sided sheet of notes permitted.
Sections A‑D DH 2210
Sections E‑H DH 2315
Section I if (last name starts with A-K)
then DH 2210
else DH 2315
exam (sample sol)
Midterm 2: 125 points, Tue 04/08 during lecture time. Closed book, one double-sided sheet of notes permitted.
Sections A‑D DH 2210
Sections E‑H DH 2315
Section I if (last name starts with A-K)
then DH 2210
else DH 2315
Final: 250 points, Mon 05/05 8:30-11:30am, room TBA. Closed book, one double-sided sheet of notes permitted
LECTURES AND RECITATIONS:
Time Place Instructor Contact Office Hours
TR 9:00‑10:20DH 2210André Platzeraplatzer@9103H2:30-4:30
TR 9:00‑10:20DH 2210Anupam Dattadanupam@CIC
2118
W3:30-5:30
AWF 9:30‑10:20WeH5302Steven Koolskool@5222S4:30-6:30
BWF 10:30‑11:20WeH5302Brendan Barwickbbarwick@4101T4:30-6:30
CWF 11:30‑12:20SH222Shayak Senshayaks@5222W4:30-6:30
DWF 12:30‑01:20DH1211Nivedita Chopraniveditc@4101F6:00-8:00
Jack Biggsjbiggs@4215M6:30-8:30
EWF 01:30‑02:20WeH5302Matt Deemedee@5222S2:30-4:30
FWF 02:30‑03:20PH18ABrandon Hoanebhoane@5222S4:30-6:30
GWF 03:30‑04:20SH208Ashish Shresthaashresth@4215M4:30-6:30
HWF 04:30‑05:20WeH4623Vineet Goelvineetg@4101T4:30-6:30
IWF 03:30‑04:20WeH5415Sid Jainsj1@5222S2:30-4:30
Contact emails are @andrew
Office hours are subject to change. Check calendar!
COURSE ASSISTANTS:
Time Place CA Contact
Sun 6:30-8:30 5222 Zhichun Li zhichunl@
Sun 7:30-9:30 5222 Andrew Benson adbenson@
Mon 6:30-8:30 4215 Jack Biggs jbiggs@
Mon 7:30-9:30 4215 Karim Elmaaroufi kelmaaro@
Mon 6:30-8:30 4215 Coco Mao kmao@
Tue 6:30-8:30 4101 James Wu jingzew@
Wed 6:30-8:30 5222 John Cole jhcole@
Mon 7:30-9:30 4101 Tian Jin tjin1@
Contact emails are @andrew
Unless otherwise noted all room numbers are in GHC.
Course Assitant and office hours are subject to change. Check calendar!
OFFICE HOURS:

Office hours are meant as drop-in hours where you can ask a quick question or two to help you move forward with assignments. Please prepare ahead of time with the questions you have rather than coming in and saying "Help me with the entire assignment." Generally, coding should be done elsewhere and you should come in when you have done your proper testing and annotations/reasoning and you still cannot find your errors. Please refrain from using the extra help session as a coding lab where you ask for help as soon as an error pops up on your screen. You'd be surprised on how many errors you can solve for yourself if you pause to think and you give yourself enough time to complete the assignments.

The extra help schedule can be found on the 15-122 Calendar; keep in mind that it may change from week to week.

WALK-IN TUTORING:
Walk-in Tutoring is available Sundays and Mondays, 8:30pm-11:00pm in the Mudge Reading Room.