Reuven Lerner's Weekly Python Exercise A3

Reuven Lerner's Weekly Python Exercise A3

January 14, 2022

Overview

I recently completed Reuven Lerner’s Weekly Python Exercise A3 which focused on Object-oriented Python. I took this course around the same time as Reuven’s OOP self pace course. I wasn’t sure which course would click more with me, so I took both.

Weekly Python Exercise (WPE) is a 15 week course where Reuven provides an exercise a week by email and provides the solution the following week.

Course Topics

Taken from Reuven’s Overview:

WPE A3 covers object-oriented programming, for beginning Python developers. It’ll cover:

  • Defining classes and instances
  • Defining methods
  • Composition of objects
  • Keeping track of shared state among instances
  • Inheritance
  • Basic “magic” methods, such as __str__ and __len__
  • Class methods

I did not take A1 (basic data structures) or A2 (functions and modules).

Impressions

New exercises are posted on Tuesdays with the solutions on Monday. Reuven includes a pytest file to check your work. The exercises build on each other and he uses 3 different things to build on (ex. homes in a neighborhood). In the exercises, he would also include links to more information that may help solve the problem. He also introduced type hints and mypy. For me this was extremely helpful understanding how I could use mypy initially to get some basic checks and pytest to help round out testing. I was already using pytest and flake8 but I never really used mypy.

There is a forum where Reuven and the other students can use. There wasn’t a ton of interaction with the other students though it was useful to see how they would solve the problem after I posted mine. Reuven would also post some suggestions or comments but the activity started to drop off after about 6-7 weeks.

The live office hours (through Zoom) I went to all but maybe one due to a scheduling conflict. Most of the time there were about an hour long based on whatever questions people emailed ahead a time or what was asked during the meeting. The meetings were helpful for the exercises but it was also helpful understand when to use type hints or how to think about using classes.

Conclusion

Overall I think it was a good beginner course on Object-orient programming using Python. For me it was a good value as I purchased the course through Humble Bundle Python Super Power Bundle. If I could only do one course, I would pick this over the self pace online course. Having the ability to talk with Reuven, how he included tests and type hints make this 15 week course a better value. However, I am glad that I had the opportunity to do both. Both courses have different styles which gave me a couple of different viewpoints.