Prof. Daniel Jackson
Prof. Srini Devadas
MIT Course Number
As Taught In
This course 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. Students complete several programming projects of varying size, working individually and in groups.
Students are now introduced to software engineering in 6.005 Elements of Software Construction, which is available on OCW in two versions, as taught in Fall 2008 and Fall 2011.
Other OCW Versions
OCW has published multiple versions of this subject.