Lecturer | Prof. Dr. Michael Pradel | |
Course type | Integrated course | |
Time | Monday, 9:50-11:30 | |
Location | S101/A03 | |
TUCAN entry | 20-00-0999-iv | |
Piazza | Class page |
Software developers use tools that automate particular subtasks of the development process. Recent advances in machine learning, in particular deep learning, are enabling tools that had seemed impossible only a few years ago, such as tools that predict what code to write next, which parts of a program are likely to be incorrect, and how to fix software bugs. This course introduces recent techniques developed at the intersection of program analysis and machine learning. In one part of the course, we will cover some basics of both fields, followed by a discussion of several recent deep learning-based programming tools. In the other part of the course, students will implement their own deep learning-based program analysis based on an existing framework. Grading will be based on the implementation as well as a written exam.
Date | Topic | Material | ||
---|---|---|---|---|
April 24, 2017 | Introduction | |||
May 8, 2017 | RNN-based code completion and repair | |||
May 15, 2017 | Sequence-to-sequence networks and their applications | |||
May 22, 2017 | Classifying programs with convolutional networks | |||
May 29, 2017 | Lecture and start of course project | |||
June 12, 2017 | Guest lecture by Miltos Allamanis | |||
June 19, 2017 | (No meeting) | |||
June 26, 2017 | Q&A for course project | |||
July 3, 2017 | Q&A for course project | |||
July 10, 2017 | Q&A for course project | |||
July 17, 2017 | Q&A for course project | |||
July 27, 2017 | Submission deadline of course project | |||
Aug 16, 2017 | Written exam (10am, S101/A1) |
The goal of the course project is to design, implement, and evaluate a neural network-based code completion
approach.
We are using Piazza for class discussion, in-class quizzes, and for sharing additional material. The system is highly catered to getting you help fast and efficiently from classmates and instructors. Rather than emailing questions to the teaching staff, please post your questions on Piazza.
Find our class page at: http://piazza.com/tu-darmstadt.de/summer2017/20000999iv
Grading will be based on the course project and the final exam (50% each).