Courses of Study 2022-2023 
    
    Apr 19, 2024  
Courses of Study 2022-2023 [ARCHIVED CATALOG]

Add to Favorites (opens a new window)

CS 6172 - [Program Synthesis]


     
Fall. Not offered: 2022-2023. Next offered: 2023-2024. 3 credits. Student option grading.

Prerequisite: CS 3110 , CS 4700 , and CS 4780 /CS 5780  or permission of instructor. Enrollment limited to: Ph.D. students.

K. Ellis.

An introduction to program synthesis: the problem of automatically generating programs from specifications of their desired behavior. Program synthesis draws on the fields of programming languages and artificial intelligence with the aim of helping to improve software engineering by automatically generating code; help expand the usability of computers by allowing non-coders to harness the power of programming languages; and help us build more interpretable, symbolic AI systems that can write new code. Covers classic areas such as programming-by-example, constraint-based synthesis using SMT solvers, type-directed program synthesis, and inductive logic programming. Covers recent developments in mixed discrete/continuous and neural/symbolic program synthesis. Covers deep learning methods for building efficient, scalable program synthesizers.

Outcome 1: Identify where and how program synthesis can be used to solve engineering problems.

Outcome 2: Be able to build program synthesizers which combine techniques from programming languages and AI.

Outcome 3: Understand open problems in the field and be equipped to work on them.



Add to Favorites (opens a new window)