6.005 Elements of Software Construction, Fall 2008
Author(s)
Jackson, Daniel; Miller, Robert
Download6-005-fall-2008/contents/index.htm (28.41Kb)
Alternative title
Elements of Software Construction
Metadata
Show full item recordAbstract
This course provides an introduction to the fundamental principles and techniques of software development that have greatest impact on practice. Topics include capturing the essence of a problem by recognizing and inventing suitable abstractions; key paradigms, including state machines, functional programming, and object-oriented programming; use of design patterns to bridge gap between models and code; the role of interfaces and specification in achieving modularity and decoupling; reasoning about code using invariants; testing, test-case generation and coverage; and essentials of programming with objects, functions, and abstract types. The course includes exercises in modeling, design, implementation and reasoning.
Date issued
2008-12Other identifiers
6.005-Fall2008
local: 6.005
local: IMSCP-MD5-61503ee9d7b0e5d66401b0b76a60087a
Keywords
software development, java programming, java, invariants, decoupling, data abstraction, state machine, module dependency, object model, model view controller, mvc, client server, eclipse, junit, subversion, swing, design, implement, midi player, sat solver, photo organizer, testing, coverage, event based programming, concurrency