Object Oriented System Design \\ Winter 2013 \\ Stanford University