CurrMana

Elements of Software Construction

6.005 · Electrical Engineering and Computer Science · Undergraduate · Fall 2008

Prof. Daniel Jackson, Prof. Robert Miller

MIT · Tier 1

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…

Computer ScienceEngineeringProgramming & CodingSoftware Design and EngineeringData Science, Analytics & Computer Technology

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:

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.