CSE 501: Implementation of Programming Languages

Winter Quarter, 2006

Course Description

This course will study program representation, analysis, and transformation.  Many program-manipulating and -processing tools are based on some or all of these key techniques, including compilers, static analysis and bug-detection tools, optimizers for various query and related languages, partial evaluators, program specializers, and other software engineering tools.  This course will study the key principles of these techniques, and it will apply these principles in practice through the course project.

Meeting Times and Location




None required, but here are some suggestions:

On-Line Handouts

Reading Assignments

Course Project

Course Mailing List and Threaded Archives

We will be using a mailing list, managed by Mailman, for administrative and instructional purposes.  Please sign yourself up ASAP, by going to http://mailman.cs.washington.edu/mailman/listinfo/cse501.

To post to the mailing list, send email to cse501@cs.washington.edu.

To browse the threaded archives, go to http://mailman.cs.washington.edu/mailman/private/cse501/2006q1/thread.htmlNote: in order to access the archives, you need your list password, which is not the same as your CSE password. In order to get your password, you need to go to the bottom of the listinfo page, and use the "unsubscribe or edit options" form. On the resulting page, there's a button for sending you a password reminder.

Diesel Resources

The Whirlwind compiler, the project infrastructure, is written in Diesel.  Diesel is a locally developed, purely object-oriented language.  It is closely related to Cecil, an earlier locally developed, purely OO language.

Some UW Compiler-Related Projects