6.005 Software Construction introduces fundamental principles and techniques of software development, i.e., how to write software that is safe from bugs, easy to understand, and ready for change. The course includes problem sets and a final project. Important topics include specifications and invariants; testing; abstract data types; design patterns for object-oriented programming; concurrent programming and concurrency; and functional programming.
The 6.005 website homepage from Spring 2016, along with all course materials, is available to OpenCourseWare users.
|As Taught In:||Spring 2016|