CMSC 630 --- Theory of Programming Languages

Spring 2007




Rance Cleaveland (rance “at” cs dot umd dot edu)
4169 AV Williams Building
Office Hours: Tu 4:155:15, Th 1—2, and by appointment


There is no required text for this class; notes and papers will be made available during the class.


You will be responsible for the following work in this class.

  1. Homework assignments (4—6)             20%
  2. Midterm                                               20%
  3. Final project                                         30%
  4. Final exam                                            30%


Here is the schedule for the course this semester, and course announcements.

Final Project:

Your project must take one of two forms. In the first, you will specify and verify a  system of your choice either by hand (i.e., on paper using one of the formal techniques discussed in class) or with the aid of one or more verification tools, and write a report summarizing your efforts. In the second, you will present a lecture in class summarizing the research findings contained in two research papers.

You can work by yourself or choose a partner from the class; in the latter case, it is expected that the project will be larger scale. The following schedule will be in effect for the final project:

March 8:         Identify project and supporting documentation.

April 12:          Progress report due.

May 8—10:    Projects due.

The first task is in some sense the most important and also the most difficult, so get started right away. You may wish to consult a list of project ideas.