6.031 Elements of Software Construction

Class Info

Introduces fundamental principles and techniques of software development: 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; abstract data types and representation independence; design patterns for object-oriented programming; concurrent programming, including message passing and shared memory concurrency, and defending against races and deadlock; and functional programming with immutable data and higher-order functions. Includes weekly programming exercises and larger group programming projects.

This class has 6.009 as a prerequisite.

6.031 will be offered this semester (Fall 2019). It is instructed by M. Goldman.

Lecture occurs 11:00 AM to 12:30 PM on Mondays, Wednesdays and Fridays in 34-101.

This class counts for a total of 6 credits.

You can find more information at the 6.031: Software Construction site or on the 6.031 Stellar site.

MIT 6.031 Elements of Software Construction Related Textbooks
MIT 6.031 Elements of Software Construction On The Web
6.031: Software Construction

© Copyright 2015