dc.contributor.author | Miller, Robert | en_US |
dc.coverage.temporal | Fall 2011 | en_US |
dc.date.issued | 2011-12 | |
dc.identifier | 6.005-Fall2011 | |
dc.identifier | local: 6.005 | |
dc.identifier | local: IMSCP-MD5-998a9954181b8a19924075e9b7b0267b | |
dc.identifier.uri | http://hdl.handle.net/1721.1/106923 | |
dc.description.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. | en_US |
dc.language | en-US | en_US |
dc.relation | | en_US |
dc.rights.uri | Usage Restrictions: This site (c) Massachusetts Institute of Technology 2017. Content within individual courses is (c) by the individual authors unless otherwise noted. The Massachusetts Institute of Technology is providing this Work (as defined below) under the terms of this Creative Commons public license ("CCPL" or "license") unless otherwise noted. The Work is protected by copyright and/or other applicable law. Any use of the work other than as authorized under this license is prohibited. By exercising any of the rights to the Work provided here, You (as defined below) accept and agree to be bound by the terms of this license. The Licensor, the Massachusetts Institute of Technology, grants You the rights contained here in consideration of Your acceptance of such terms and conditions. | en_US |
dc.rights.uri | Usage Restrictions: Attribution-NonCommercial-ShareAlike 3.0 Unported | en_US |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/3.0/ | en_US |
dc.subject | software development | en_US |
dc.subject | specifications | en_US |
dc.subject | invariants | en_US |
dc.subject | state machines | en_US |
dc.subject | test-driven development | en_US |
dc.subject | design patterns | en_US |
dc.subject | object-oriented programming | en_US |
dc.subject | concurrent programming | en_US |
dc.subject | functional programming | en_US |
dc.title | 6.005 Elements of Software Construction, Fall 2011 | en_US |
dc.title.alternative | Elements of Software Construction | en_US |
dc.type | Learning Object | |
dc.contributor.department | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science | |