## Course Information, Summer 1 2014

Lectures: |
Monday-Friday, 10:30am-11:50am, GHC 4307 |

Recitation: |
Tuesday-Thursday, 3:00pm-4:20pm, GHC 4215 |

Instructor: |
Robert Simmons (Office Hours Tuesday-Friday, noon-1:00pm, GHC 4307) |

TAs: |
See Staff page (Office Hours Every Day, 4:30pm-6:30pm, GHC 4215) |

## Overview

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.

Either 21-127 or 15-151 15-151 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.

## Grading

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.

**Exams 45%** Each exam will be worth 150 points
**Quizzes 10%** 11 quizzes, each worth 10 points, lowest
score dropped
**Homework 45%**
- 6 written assignments (35 points each)
- 8 half-week programming assignments (135 points total)
- 2 full-week programming assignments with a checkpoint (105 points total)

Style re-grading can be done by any TA. All other grading
disputes or requests for re-grading should go through Professor
Simmons in his office hours.