Stanford Root

Schedule

Stanford Root

Schedule

CS 329M

Machine Programming

UNITS:3-4
GRADING:Letter or Credit/No Credit
LEVEL:Graduate
GER:—

The field of machine programming (MP) is concerned with the automation of software development. Given the recent advances in software algorithms, hardware efficiency and capacity, and an ever increasing availability of code data, it is now possible to train machines to help develop software. In this course, we teach students how to build real-world MP systems. We begin with a high-level overview of the field, including an abbreviated analysis of state-of-the-art (e.g., Merly Mentor). Next, we discuss the foundations of MP and the key areas for innovation, some of which are unique to MP. We close with a discussion of current limitations and future directions of MP. This course includes a nine-week hands-on project, where students (as individuals or in a small group) will create their own MP system and demonstrate it to the class. This course is primary intended for graduate students (it is not recommended for undergraduate students without first reviewing that the course prerequisites are met).

Syllabus for selected term:
View Autumn 2026 Syllabus

Sections

1 Term
Lecture 1Open
ID: 27851
0 / 150 enrolled
DAYS:Tuesday
TIME:6 PM – 8:50 PM
LOCATION:200-002
INSTRUCTOR:
Gottschlich, Justin
units

CS 329M: Machine Programming

3-4 units · Letter or Credit/No Credit

The field of machine programming (MP) is concerned with the automation of software development. Given the recent advances in software algorithms, hardware efficiency and capacity, and an ever increasing availability of code data, it is now possible to train machines to help develop software. In this course, we teach students how to build real-world MP systems. We begin with a high-level overview of the field, including an abbreviated analysis of state-of-the-art (e.g., Merly Mentor). Next, we discuss the foundations of MP and the key areas for innovation, some of which are unique to MP. We close with a discussion of current limitations and future directions of MP. This course includes a nine-week hands-on project, where students (as individuals or in a small group) will create their own MP system and demonstrate it to the class. This course is primary intended for graduate students (it is not recommended for undergraduate students without first reviewing that the course prerequisites are met).

Offered in Autumn 2026 at Stanford University.

Autumn 2026 sections

  • Lecture — Tuesday 6:00 PM – 8:50 PM — 200-002 — Gottschlich, Justin (Graduate)

More CS courses

  • CS 324: Advances in Foundation Models
  • CS 324H: History of Natural Language Processing
  • CS 328: Foundations of Causal Machine Learning
  • CS 329A: Self Improving AI Agents
  • CS 329D: Machine Learning Under Distributional Shifts
  • CS 329H: Machine Learning from Human Preferences
  • CS 329R: Race and Natural Language Processing (CSRE 329R, LINGUIST 281A, PSYCH 257A)
  • CS 329S: Machine Learning Systems Design
  • CS 329T: Trustworthy Machine Learning: Building and evaluating agentic systems
  • CS 329X: Human Centered NLP (CS 129X)
  • CS 329Z: Engineering AI Agents
  • CS 331X: AI for Algorithmic Reasoning and Optimization (MS&E 331)

All CS courses · All departments