Notes and exercises from Python 3 Object Oriented Programming book