6.005 Elements of Software Construction, Fall 2008
Name
6-005-fall-2008/contents/index.htm
Size
28.42 KB
Format
HTML
Checksum (MD5)
179d68910e8f941cc328d01311abdaaf
Author(s) •
Jackson, Daniel
Miller, Robert
Alternative Title
Elements of Software Construction
Date Issued
December 2008
Abstract
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.
Subjects
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
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Persistent DSpace Link