Visit this resource

Title : 6.005 Elements of Software Construction (MIT)

Description : This course introduces fundamental principles and techniques of software development. Students learn how to write software that is safe from bugs, easy to understand, and ready for change. Topics include specifications and invariants; testing, test-case generation, and coverage; state machines; abstract data types and representation independence; design patterns for object-oriented programming; concurrent programming, including message passing and shared concurrency, and defending against races and deadlock; and functional programming with immutable data and higher-order functions. The course includes weekly programming exercises and two substantial group projects.

Fromsemester : Fall

Fromyear : 2011

Creator :

Date : 2017-02-13T02:55:32+05:00

Relation : 6.005

Language : en-US

Subject : software development

Subject : specifications

Subject : invariants

Subject : state machines

Subject : test-driven development

Subject : design patterns

Subject : object-oriented programming

Subject : concurrent programming

Subject : functional programming

Publisher : MIT OpenCourseWare

License : Content within individual OCW courses is (c) by the individual authors unless otherwise noted. MIT OpenCourseWare materials are licensed by the Massachusetts Institute of Technology under a Creative Commons License (Attribution-NonCommercial-ShareAlike). For further information see