0;95;0c Introduction to Program Synthesis

6.5130 Introduction to Program Synthesis Fall 2025

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

Introduction to program synthesis

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

Anouncements

Welcome to 6.5130!
When/Where: MW1-2.30 in room 66-168

This webpage is a work in progress for the 2025 offering of the course. The course has changed quite substantially from previous offerings, with a stronger emphasis placed on language models and deep learning. If you are interested in a more symbolic version of the course, check out the 2023 version here.

Course description

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 four hands-on assignments as well as a final project where you will get to apply the concepts learned in the course to the problem of your choice. This course counts for the TQE requirement. All psets are due at 5pm on the posted day. The late penalty will be 10 points per day up to a maximum of 4 days.

Project

An important part of the grade will be a term project where students will demonstrate their mastery of the topics covered in the course. The projects can apply concepts from the course to a new problem, or explore new techniqes. The project grade be based on the following benchmarks: