-
Notifications
You must be signed in to change notification settings - Fork 37
Home
Instructor: Nadia Polikarpova
Time: Tuesdays and Thursdays 3:30-4:50 PM
Location: CSE 4258
Office Hours: after class
Discussions: join Slack
This course is a comprehensive introduction to program synthesis: an emerging area that sits at the intersection of programming systems, formal methods, and artificial intelligence. The goal of program synthesis is to generate programs automatically from high-level, possibly incomplete descriptions. The course covers a wide variety of recent synthesis techniques that differ in the kind of program description they start with (from input-output examples to formal correctness specifications), the search strategy they employ (enumerative, stochastic, or symbolic search), and the kind of information they use to guide the search (counter-example guided synthesis, type-driven synthesis, synthesis with machine learning). The course involves a project, as well as reading and reviewing research papers.