Archived Versions

6.170 Laboratory in Software Engineering

As taught in: Fall 2005

Black and white computer screen with computer code.

Software programming. (Image courtesy of Photo ©




Prof. Daniel Jackson

Prof. Srinivas Devadas

Course Features

Course Highlights

This course features an extensive description of the final projects (Gizmoball and RSS Reader) and implementation examples are also provided. In addition, the tools section includes detailed instructions for all of the software tools used by students in the course.

Course Description

This course is a core electrical engineering computer science subject at MIT. It introduces concepts and techniques relevant to the production of large software systems. Students are taught a programming method based on the recognition and description of useful abstractions. Topics include: modularity; specification; data abstraction; object modeling; design patterns; and testing. Several programming projects of varying size undertaken by students working individually and in groups.

Technical Requirements

Special software is required to use some of the files in this course: .zip, .vss, .vst, .jar, .java, .mf, and .xml.

*Some translations represent previous versions of courses.