Meeting Time

Section 1:
Felix Klock
Mondays, 6:00-9:00 pm, Room 110 Kariotis
Office Hours: Wednesdays 4pm-5pm (or by appointment).

Section 2:
Will Clinger
Wednesdays, 6:00-9:00 pm, Room 110 Kariotis

Goals and Themes:

To learn how a variety of programming language features and mechanisms may be understood by specifying them in a very-high-level language such as Scheme. A subsidiary theme will be the use of formal methods for program specification.


Data Structures or equivalent. Some previous knowledge of Lisp or Scheme is helpful, but the first couple of weeks will include a crash course on programming in Scheme.


The final grade is computed as a weighted average of about 10 machine problems, a midterm, and a final exam. The machine problems are likely to account for about half of the final grade, with the other half divided between the midterm and final exam.

The instructors may not give plus or minus grades, but reserve the right to do so.

This course requires a lot of work: budget your time accordingly.


Bookmark this page as .

The mailing list for the class is . Everyone should subscribe to this mailing list by completing the form at . That mailing list allows you to communicate with the instructors, the TA ( ), and other members of the class.

Mail to this list is archived. When you write either to an instructor or to the list, it is helpful if you use descriptive subject lines.

If you ask a question via private email to an instructor, the instructor may post the reply to the class mailing list. If that happens, the instructor will usually attempt to anonymize your question, so that you will not be discouraged from asking questions. On the other hand, if you say something clever and interesting, or if you point out an error that the class should be aware of, the instructor will attempt to give you credit.

Last modified: 11 February 2008.