C0 Language Piazza Autolab
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.
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)
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
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:
|TR 9:00‑10:20||DH 2210||André Platzer||aplatzer@||9103||H2:30-4:30|
|TR 9:00‑10:20||DH 2210||Anupam Datta||danupam@||CIC|
|A||WF 9:30‑10:20||WeH5302||Steven Kool||skool@||5222||S4:30-6:30|
|B||WF 10:30‑11:20||WeH5302||Brendan Barwick||bbarwick@||4101||T4:30-6:30|
|C||WF 11:30‑12:20||SH222||Shayak Sen||shayaks@||5222||W4:30-6:30|
|D||WF 12:30‑01:20||DH1211||Nivedita Chopra||niveditc@||4101||F6:00-8:00|
|E||WF 01:30‑02:20||WeH5302||Matt Dee||medee@||5222||S2:30-4:30|
|F||WF 02:30‑03:20||PH18A||Brandon Hoane||bhoane@||5222||S4:30-6:30|
|G||WF 03:30‑04:20||SH208||Ashish Shrestha||ashresth@||4215||M4:30-6:30|
|H||WF 04:30‑05:20||WeH4623||Vineet Goel||vineetg@||4101||T4:30-6:30|
|I||WF 03:30‑04:20||WeH5415||Sid Jain||sj1@||5222||S2:30-4:30|
Office hours are subject to change. Check calendar!
- COURSE ASSISTANTS:
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.