6.005 Specs Exercise

Developers: Michelle Johnson (michelleoj), Richard Lu (lu16j)
  • Circles are specs, triangles are implementations.
  • Analyze each spec, and resize/drag them around so that they intersect or contain each other appropriately.
  • Drag the implementations onto the spec regions that they fulfill.
  • 'N' goes to the next question.

  • IF YOU DON'T KNOW ALREADY...

  • A specification is like a contract - it guarantees that the code behaves in a certain way.
  • An implementation is a piece of code that attempts to satisfy some specification(s).
  • Two specs intersect if there exists at least one implementation that satisfies both.
  • One spec can contain another if any implementation which satisfies the second satisfies the first, but not vice versa.