6.005 Elements of Software Construction, Fall 2011
Author(s)
Miller, Robert
Download6-005-fall-2011/contents/index.htm (36.83Kb)
Alternative title
Elements of Software Construction
Metadata
Show full item recordAbstract
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.
Date issued
2011-12Other identifiers
6.005-Fall2011
local: 6.005
local: IMSCP-MD5-998a9954181b8a19924075e9b7b0267b
Keywords
software development, specifications, invariants, state machines, test-driven development, design patterns, object-oriented programming, concurrent programming, functional programming