CS 442: Principles of Programming Languages

Logistics

The instructor in Winter 2012 is Prabhakar Ragde (UW userid plragde, office DC 1314, office hours TuTh 1:30-2:30).

The required textbook for CS 442 is Types and Programming Languages, by Benjamin Pierce (MIT Press, 2002), available at the UW Bookstore. We will try to make more use of this book than in previous offerings. There will be assigned readings. The book does not define the course, but provides valuable support. The course will be a synthesis of various reference materials.

The lectures are arranged topically into modules of various lengths. Presentation slides for the modules will be available on the Handouts page.

There will be a number of programming questions assigned (perhaps with some written, or more accurately, "typed" questions). They will be posted on the Assignments page. We will use the Marmoset submission system which allows for automated testing and rapid feedback. Details are on the Marmoset page.

There will be one midterm exam, on Monday, March 5, 2012, from 4:30 pm to 6:20 pm, in MC 4041 and MC 4042. This is a closed-book exam.

The final mark is based on assignments (40%), the midterm exam (20%), and the final exam (40%).

All of the software used in the course is available free for most common platforms, and will be installed on the CSCF undergraduate environment (where tests will be run).

Racket comes with a good IDE for development (DrRacket). Haskell and SML/NJ do not, though they have command-line interpreters. Good language modes for ML and Haskell are available for Vim and Emacs.

Instead of a newsgroup, we will be using Piazza to manage questions and discussion. If you do not get a signup message, please locate the class and sign up with your UW email.