Skip to content
He Zhu edited this page Oct 17, 2020 · 22 revisions

CS 515: Programming Languages and Compilers

Instructor: He Zhu
Email: he.zhu.cs@rutgers.edu

Time: Mondays 12:00-3:00 PM
Location: Zoom
Office Hours: Monday 3:00-4:00 PM

Online Book: Introduction to Program Synthesis

This course is a comprehensive introduction to program synthesis: an emerging area that sits at the intersection of programming systems, formal methods, and artificial intelligence. The goal of program synthesis is to generate programs automatically from high-level, possibly incomplete descriptions. The course covers a wide variety of recent synthesis techniques that differ in the kind of program description they start with (from input-output examples to formal correctness specifications), the search strategy they employ (enumerative, stochastic, or symbolic search), and the kind of information they use to guide the search (counter-example guided synthesis, type-driven synthesis, synthesis with machine learning). The course involves programming assignments, a project, as well as reading and reviewing research papers.

There is no Piazza page for this course. To ask a question, use the issue tracker.

Use Canvas for assignments/project submission and grading. There is no exam or quiz for this course.

The course borrows some of the materials from Nadia Polikarpova, Peter Müller, Swarat Chaudhuri and Xinyu Wang.

Clone this wiki locally