MIT OpenCourseWare
  • OCW home
  • Course List
  • about OCW
  • Help
  • Feedback
  • Support MIT OCW

6.170 Laboratory in Software Engineering, Fall 2005

Software programming.
Software programming. (Image courtesy of Photo ©

Highlights of this Course

This course features lecture notes and a complete set of assignments. 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.



Prof. Srinivas Devadas
Prof. Daniel Jackson

Course Meeting Times

Three sessions / week
1 hour / session

One session / week
1 hour / session



Additional Features

Download this course
   Chinese (Simplified)


Send feedback about OCW or this course.