Program Synthesis
Study the methods for automatically discovering programs that implement given high-level specifications, which can take many forms, including formal constraints, input-output examples, demonstrations, and natural language. Examine contemporary algorithms for program synthesis to bring together symbolic techniques for pruning and search, numerical techniques for finding optimal parameters, and statistical techniques for interpreting ambiguous specifications and learning to search. Computer Science 393P and 395T (Topic: Program Synthesis) may not both be counted. Three lecture hours a week for one semester.
Prerequisites & course information
Study the methods for automatically discovering programs that implement given high-level specifications, which can take many forms, including formal constraints, input-output examples, demonstrations, and natural language. Examine contemporary algorithms for program synthesis to bring together symbolic techniques for pruning and search, numerical techniques for finding optimal parameters, and statistical techniques for interpreting ambiguous specifications and learning to search. Computer Science 393P and 395T (Topic: Program Synthesis) may not both be counted. Three lecture hours a week for one semester.
Sources
- Course catalogue ↗2026-2027