Solution (partial & Potential):
Build to Understand Problem
Twice Around the Block
Pedagogical
Build non-Trivial end-to-end exercise system,
followed by design and build of more substantial application
Example: AddressBook with multiple users and login