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.
To browse the threaded archives, go to http://mailman.cs.washington.edu/mailman/private/cse501/thread.html. Note: 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. (Who's the genius who thought that up?) On the resulting page, there's an button for sending you a password reminder.
To post to the mailing list, send email to cse501@cs.washington.edu.