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: )