6.005 Elements of Software Construction, Fall 2011
Name
6-005-fall-2011/contents/index.htm
Size
36.83 KB
Format
HTML
Checksum (MD5)
706890dc0242458bb658083c413800ad
Author(s)
Miller, Robert
Alternative Title
Elements of Software Construction
Date Issued
December 2011
Abstract
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.
Subjects
software development
specifications
invariants
state machines
test-driven development
design patterns
object-oriented programming
concurrent programming
functional programming
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Persistent DSpace Link