Elements of Software Construction
6.005 · Electrical Engineering and Computer Science · Undergraduate · Fall 2008
Prof. Daniel Jackson, Prof. Robert Miller
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 a…
The syllabus, on MIT OpenCourseWare
The full course — syllabus, assigned readings, problem sets, exams, and lecture notes — lives on OCW. These open the real thing:
Syllabus ↗
Course overview, grading, schedule
Readings ↗
The assigned reading list, session by session
Assignments ↗
Problem sets and projects
Full course on OCW ↗
Everything, including lecture materials
Attribution
Prof. Daniel Jackson, Prof. Robert Miller. 6.005 Elements of Software Construction. Fall 2008. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: CC BY-NC-SA 4.0.
Course materials are © their authors and licensed CC BY-NC-SA 4.0. CurrMana links to the source and does not re-host them.