Teaching
CS294: Program Synthesis for Everyone (co-taught with Emina Torlak)
An expansion of our invited CAV 2012 tutorial, this course teaches how to build a synthesizer in one semester. Includes constraints-based verification, encoding programs as formulas, DSL design and implementation, synthesis algorithms, and case studies.
Fall 2012
An expansion of our invited CAV 2012 tutorial, this course teaches how to build a synthesizer in one semester. Includes constraints-based verification, encoding programs as formulas, DSL design and implementation, synthesis algorithms, and case studies.
Fall 2012
CS164: Hack Your Language!
An upper-level undergrad course on programming langauges with nine integrated weekly assignments that culminate in a browser with its own interpreter, layout engine and parser.
Spring 2012
An upper-level undergrad course on programming langauges with nine integrated weekly assignments that culminate in a browser with its own interpreter, layout engine and parser.
Spring 2012