Ask student teams to design a controller for a coffee machine in Java to practice design modification.

  • This exercise lets students see several ways to design the same thing.
    • Students also learn how to merge their own ideas with those of other students when groups combine.
  • Activity:
    • Begin with teams of two students.
    • Give teams requirements to implement for the controller.
      • Requirements could include four buttons, each corresponding to a different type of coffee, and a dispensing window.
    • After a period of time, have sets of two teams merge so each team now has four students.
      • Add an additional requirement for them to implement.
    • Continue to repeat this process by creating even bigger teams and adding more requirements.
  • Encourage the use of class-responsibility-collaboration (CRC) cards or UML-style class diagrams to organize all of the ideas.

More about this tip

External Source

"Non-Programming Resources for an Introduction to CS" by Joseph Bergin, Myles McNally, Mike Goldweber, Charles Kelemen, Tom Naps, Chris Power, and Stephen Hartley.