Course Materials


Red Hatters and faculty at our partner universities and institutions often collaborate on the development of course materials related to open source and our core research areas of interest. Here, we make those materials available and invite you to share, re-use, and remix these materials and join in the collaboration.

Performance Engineering of Software Systems (6.172)

Course materials are hosted externally.


Electrical Engineering and Computer Science

Massachusetts Institute of Technology



Cambridge, Massachusetts

Fall semester

2 sessions / week; 1.5 hours / session

18 units


This course may not be offered at this time, or the offering institution’s registration period may not be open.

Courses listed in this directory may be in-person courses and/or may require enrollment at the offering university.


Course Summary

6.172 is an 18-unit class that provides a hands-on, project-based introduction to building scalable and high-performance software systems. Topics include performance analysis, algorithmic techniques for high performance, instruction-level optimizations, caching optimizations, parallel programming, and building scalable systems. The course programming language is C.

Note from mentors — MIT units include classroom hours, estimated lab hours, and estimated homework hours per week; a typical class is 12 units which would roughly correspond to 4 hours; an 18-unit class is considerably more demanding than typical. Mentors are assigned 2-4 students each to review their beta code submissions and write-ups (on MIT’s private GitHub instance) and then meet with them in pairs for 60~90 minutes for each project. Mentors should expect to spend roughly 20-25 hours over the course of the term. Mentors meet with the students 4 times over the course of the term to review their code and otherwise mentor them on what real-world engineering is like.

Learn about more courses at the Course Material Catalog.