 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 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.
NOTE: students must achieve a C or better in order to use this course to satisfy the prerequisite for any subsequent Computer Science course.
 PREREQUISITES:

15112 Fundamentals of Programming (or equivalent)
15151 Concepts of Mathematics (corequisite, or 21127)
21127 Concepts of Mathematics (corequisite, or 15151)
 TEXTBOOK:

There is no course textbook.
Lecture notes and other resources will be provided.
 METHOD OF EVALUATION:

Grading will be based on 9% Quizzes, 20% Midterms, 25% Final, 46% Assignments
Assignments:  There are 9 assignments worth a total of 460 points 
Quizzes:  There are 7 quizzes, the lowest score will be dropped, worth a total of 90 points.

Midterm 1:  100 points, Tue 02/26 during lecture time.
Closed book, one doublesided sheet of notes permitted.
Sections A‑E  GHC 4401 
Section F  NSH 3305 
Section G  if (last name starts with AQ) then NSH 3305
else NSH 1507 
Section H  NSH 1507 
Spring 2013 (sample sol)

Midterm 2:  100 points, Tue 04/09 during lecture time.
Closed book, one doublesided sheet of notes permitted.
Sections A‑E  GHC 4401 
Section F  NSH 3305 
Section G  if (last name starts with AQ) then NSH 3305
else NSH 1507 
Section H  NSH 1507 
Spring 2013 (sample sol)

Final:  250 points, Mon 05/13, 5:308:30pm, room TBA.
Closed book, one doublesided sheet of notes permitted
Section A  UC Connan 
Sections B‑H  UC McConomy 
Exams from prior semesters

 LECTURES AND RECITATIONS:
 Time  Place  Instructor  Contact  Office  Hours 
 TR 9:00‑10:20  4401  André Platzer  aplatzer@  9103  H 3:00‑5:00 
 TR 9:00‑10:20  4401  Rob Simmons  rjsimmon@  9101  F 4:30‑6:30 
A  WF 9:30‑10:20  5222  Isaac Lim  idl@  4102  Sun 5:00‑7:00 
B  WF 10:30‑11:20  5222  John Wright  jswright@  9101  M 4:30‑6:30 
C  WF 11:30‑12:20  5222  Coco Mao  kmao@  4102  Sat 5:00‑7:00 
D  WF 12:30‑1:20  5222  Nivedita Chopra  niveditc@  4303  Sun 3:00‑5:00 
E  WF 1:30‑2:20  5222  Salil Joshi  salilj@  9101  W4:30‑6:30 
F  WF 2:30‑3:20  5222  Alex Cappiello  acappiel@  9101  T 4:30‑6:30 
G  WF 3:30‑4:20  5222  Josh Zimmerman  jzimmerm@  4303  M 6:30‑8:30 
H  WF 4:30‑5:20  5222  Ryan Sit  rsit@  9101  M 4:30‑6:30 
Contact emails are @andrew
Unless otherwise noted all room numbers are in GHC.
 COURSE ASSISTANTS:
Time  Place  CA  Contact 
Sun  5:00‑7:00  4102  Jake Naviasky  jnaviask@andrew 
Mon  6:30‑8:30  4303  LingYi Kung  lkung@andrew 
Tue  6:30‑8:30  4303  Arjun Haas  arjunh@andrew 
Wed  6:30‑8:30  4303  Brendan Barwick  bbarwick@andrew 
Thu  6:30‑8:30  4303  Pete Ehrett  wpe@andrew 
Fri  6:30‑8:30  4303  Only on some days. Check Calendar! 
Contact emails are @andrew
Unless otherwise noted all room numbers are in GHC.
 WALKIN TUTORING:

Walkin Tutoring is available Mondays and Tuesdays, 8:30pm11:00pm in the Mudge Reading Room.