Introduction to Machine Programming

Download as PDF

Course Description

The field of machine programming (MP) is concerned with the automation of software development. Given recent advances in algorithms, hardware efficiency and capacity, and an ever increasing avail- ability 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 by explaining the foundations of MP. Next, we analyze the current state-of-the-art MP systems (e.g., DeepMind's AlphaCode, GitHub's Copilot, Merly's MP-CodeCheck). We close with a discussion of current limitations and future utility in MP. This course also includes a six-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.

Grading Basis

ROP - Letter or Credit/No Credit

Min

3

Max

3

Course Repeatable for Degree Credit?

No

Course Component

Lecture

Enrollment Optional?

No

Programs

CS329M is a completion requirement for:
  • (from the following course set: )
  • (from the following course set: )
  • (from the following course set: )