Prof. Robert Miller
Dr. Max Goldman
MIT Course Number
As Taught In
- Online textbooks
- Assignments: problem sets (no solutions)
- Assignments: programming (no examples)
- Exams and solutions
6.005 Software Construction introduces fundamental principles and techniques of software development, i.e., how to write software that is safe from bugs, easy to understand, and ready for change. The course includes problem sets and a final project. Important topics include specifications and invariants; testing; abstract data types; design patterns for object-oriented programming; concurrent programming and concurrency; and functional programming.
The 6.005 website homepage from Spring 2016, along with all course materials, is available to OpenCourseWare users.
Open Learning Library Versions
MIT Open Learning Library offers a free version of this subject:
Other OCW Versions
OCW has published multiple versions of this subject.