Text this: Theoretical Aspects of Object-Oriented Programming