6.5130 Introduction to Program Synthesis Fall 2025

© Armando Solar-Lezama. 2025. All rights reserved.

Introduction to program synthesis (SC5401)

Lecture0:Slide0; Lecture0:Slide1; Lecture0:Slide2; Lecture0:Slide3; Lecture0:Slide4; Lecture0:Slide5; Lecture0:Slide6; Lecture0:Slide7;

Course description

This webpage is for the course SC5401 that was offered at NTU as part of the Turing AI Scholars Program in February 2026. This is a somewhat abridged version of the course 6.5130 Introduction to Program Synthesis taught at MIT.

This course aims to give an introduction to program synthesis, an exciting 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 generate programs that do what the user wants. In particular, the class will explore the following questions:

Grading

The course will be graded based on three hands-on assignments worth 30, 40 and 30% of the final grade respectively. All assignments and deadlines will be posted here.

DateTitlePset 
Monday February 2Introduction to Inductive Synthesis; Bottom Up Explicit Search Assignment 1 
Tuesday February 3Top Down and Type Directed Explicit Search; Inductive Synthesis with Stochastic Search   
Wednesday February 4Tutorial  
Friday February 6Version Space Algebras from SMARTedit to FlashFill; Synthesis with constraintsAssignment 1 due 
Monday February 9Solving constraints with SAT solvers; Component DiscoveryAssignment 2 
Tuesday February 10Basics of Language Modeling for Code  
Wednesday February 11Tutorial  
Friday February 13Sampling from Large Language ModelsAssignment 2 dueProject teams due
Tuesday February 24Adapting Pre-Trained Models to New Tasks; Program Synthesis with Reinforcement LearningAssignment 3 
Friday February 27 Introduction to Functional Synthesis: Functional specifications; Inductive to Functional synthesis with CEGIS.   
Tuesday March 10 A brief introduction to constraint-based verification; From verification conditions to synthesis conditions   
Friday March 13Introduction to SMT and SyGuS Assignment 3 due
Tuesday March 17Tutorial;