CS252r-Advanced Functional Programming
Fall 2006

Time and Place: MW 2:00-4:00, Maxwell Dworkin 221
Email: cs252r@eecs.harvard.edu
Home page: http://www.eecs.harvard.edu/~nr/cs252r/
Instructor: Norman Ramsey, Maxwell Dworkin 231
Teaching Fellow: Paul Govereau, Maxwell Dworkin 309

CS 252r will study advanced techniques in functional programming, with two ends in mind:

We will emphasize lazy functional languages such as Haskell; eager languages get adequate coverage in the undergraduate curriculum. We will also get fairly deep into type systems, which are relevant to both lazy and eager languages.

CS 252r will be run as a seminar; participants will meet twice weekly to discuss papers. Each meeting will last two hours. The registrar lists this commitment as one hour of class and one hour of (mandatory) section. A schedule of papers is available, as is a record of discussions.

It is unsatisfying to read about programming-language features without using them. We will therefore write some code using the languages and features we study. We hope to use some class time to present, analyze, and refine some of this code. To bring some coherence to the coding, students will be encouraged to put together either a programming project of their own design or one designed by the course staff.

Students' grades will be based primarily on their preparedness for and contributions to our class sessions. Written and oral presentations of the programming project will also influence the final grade.

The class is in the spirit of the five Summer Schools on Advanced Functional Programming (and we will read some papers from these Schools). We expect to cover two broad areas:


Prospective participants must have some experience with functional languages and with type systems. CS 152 (Programming Languages) covers these topics at a suitable level. Students without 152 or equivalent background must have the instructor's permission to enroll in the course.
Back to Norman Ramsey's home page