6.005 — Software Construction
Fall 2015

6.005: Software Construction

General

Getting Started

  • Getting Started: Java, Eclipse, & Git
  • Getting Started: Java
  • Getting Started: Eclipse FAQ

Readings

  • 01: Static Checking
  • 02: Basic Java
  • 03: Testing
  • 04: Code Review
  • 05: Version Control
  • 06: Specifications
  • 07: Designing Specifications
  • 08: Avoiding Debugging
  • 09: Mutability & Immutability
  • 10: Recursion
  • 11: Debugging
  • 12: Abstract Data Types
  • 13: Abstraction Functions & Rep Invariants
  • 14: Interfaces
  • 15: Equality
  • 16: Recursive Data Types
  • 17: Grammars
  • 18: Parsers
  • 19: Concurrency
  • 20: Thread Safety
  • 21: Sockets & Networking
  • 22: Queues & Message-Passing
  • 23: Locks & Synchronization
  • 24: Graphical User Interfaces
  • 25: Map, Filter, Reduce
  • 26: Little Languages

  • Example Code on GitHub

Problem Sets

Quizzes