Lectures: | Monday-Friday, 10:30am-11:50am, GHC 4307 |
Lab: | Usually Monday and Wednesday (see schedule), 3:00pm-4:20pm, GHC 5208/5210/5205 |
Recitation: | Usually Tuesday and Thursday (see schedule), 3:00pm-4:20pm, GHC 4307 |
Instructor: | Robert Simmons (Office Hours Monday-Wednesday, 11:50pm-12:50pm, in or outside GHC 4307) |
Available for appointments Thursday 12:30pm-3:00pm, GHC 9101 | |
TAs: | See Staff page (Office Hours Monday-Saturday, Gates 5 Citadel Commons) |
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.
21-127 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.