CMPSC 190I Program Synthesis for the Masses
The goal of this course is to give an introduction to program synthesis, a new field at the intersection of programming languages, formal methods, and AI. The course will explore a number of fundamental questions around the problem of how to automatically discover programs that do what the user expects. The workloads include 2~3 programming assignments, 4~5 paper reviews, and a final project. In particular, the class will explore the following questions: