perspective
Principles of Object-Oriented Development
(in the end) you must write a paper