Compilers: Principles, Techniques, and Tools

Free Course in Automata Theory

I have prepared a course in automata theory (finite automata, context-free grammars, decidability, and intractability), and it begins April 23, 2012. You can learn more about the course at www.coursera.org/course/automata. Several other courses will start at the same time, including Alex Aiken on Compilers, Mike Genesereth's Logic course, Nick Parlante on computing for everyman/woman, and a repeat of ANdrew Ng's Machine-Learning class. You can learn about each of these courses at www.coursera.org/

2006 Course on Code Optimization

In the winter of 2006, I (co)taught, and created slides for CS243, Stanford's second compiler course, covering code optimization. Wei Li, head of the compiler division at Intel co-taught the course with me, and many of the slides in the set provided are his. Ben Livshits and Hasan Imam were the TA's, and they too provided materials; especially the lectures on JOEQ and introductory motivation are Ben's, and both contributed to exams and solutions.

Some Old Notes in PDF

Jeffrey D. Ullman
ullman @ cs.stanford.edu
650-494-8016 (home)
650-725-2588 (FAX)