Course Highlights
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.
*Some translations represent previous versions of courses.