Michael Kennedy over at Talk Python had a sale on his courses over the holidays so I took the plunge and bought them all. I have been listening to the podcast for several months now so I knew that I wouldn’t mind listening to him talk during a course (which is important!).
The first course I watched was ‘Python Jumpstart by Building 10 Apps’. The apps were:
- App 1: Hello (you Pythonic) world
- App 2: Guess that number game
- App 3: Birthday countdown app
- App 4: Journal app and file I/O
- App 5: Real-time weather client
- App 6: LOLCat Factory
- App 7: Wizard Battle App
- App 8: File Searcher App
- App 9: Real Estate Analysis App
- App 10: Movie Search App
For each app you learn a specific set of skills related to either Python or writing ‘Pyhonic’ code. I think the best part was that since it was all self paced I was able to spend time where I wanted to exploring ideas and concepts that wouldn’t have been available in traditional classrooms.
Also, since I’m fully adulted it can be hard to find time to watch and interact with courses like this so being able to watch them when I wanted to was a bonus.
Hello (you Pythonic) world is what you would expect from any introductory course. You write the basic ‘Hello World’ script, but with a twist. For this app you interact with it so that it asks your name and then it will output ‘Hello username my name is HAL!’ … although because I am who I am HAL wasn’t the name in the course, it was jut the name I chose for the app.
My favorite app to build and use was the Wizard App (app 7). It is a text adventure influenced by dungeons and dragons and teaches about classes and inheritance an polymorphism. It ws pretty cool.
The version that you are taught to make only has 4 creatures and ends pretty quickly. I enhanced the game to have it randomly create up to 250 creatures (some of them poisonous) and you level up during the game so that you can feel like a real character in an RPG.
The journal application was interesting because I finally started to get my head wrapped around file I/o. I’m not sure why I’ve had such a difficult time internalizing the concept, but the course seemed to help me better understand what was going on in terms of file streaming and reading data to do a thing.
My overall experience with the course was super positive. I’m really glad that I watched it and have already started to try to use the things that I’ve learned to improve code I’ve previously written.
With all of the good, there is some not so good.
The course uses it’s own player, which is fine, but it’s missing some key features:
- Time reaming
- Speed controls (i.e. it only plays at one speed, 1x)
In addition, sometimes the player would need to be reloaded which could be frustrating.
Overall though it was a great course and I’m glad I was able to do it.
Next course: Mastering PyCharm!