6.506 Algorithm Engineering
Fall 2026
Overview
This is a research-oriented course on algorithm engineering, which will cover both the theory and practice of algorithms. Students will learn about models of computation, algorithm design and analysis, and performance engineering of algorithm implementations. We will study the design and implementation of sequential, parallel, cache-efficient, external-memory, and space-efficient algorithms for fundamental problems in computing. Many of the principles of algorithm engineering will be illustrated in the context of parallel algorithms and graph problems. Students will read and present research papers, participate in classroom discussions, and complete a semester-long research project. Class time will consist of lectures, student presentations, quizzes, and group project meetings. This course is suitable for graduate students or advanced undergraduates who have taken 6.122 (6.046) and 6.106 (6.172). Mathematical maturity and familiarity with algorithm analysis and performance engineering will be assumed. Lectures will consist of instructor and student presentations. Lecture attendance is required and participation counts toward the grade.
Course details
| Instructor | Julian Shun |
|---|---|
| Teaching assistant | Ryan Deng |
| Class meetings | Tuesdays and Thursdays, 11:00am–12:30pm ET |
| Location | 34-304 |
| Office hours | By appointment |
| jshun AT mit.edu, ryandeng AT mit.edu | |
| Units | 3-0-9 |
| Prerequisites | 6.122 (6.046), 6.106 (6.172) |
| Piazza | Link |
| Canvas | Link |