In the first podcast I spoke about the Secret Origin of the Python Master Degree – where it came from and how does it work. If you missed it – check out this post.
Today, I thought I’d describe my progress through the program thus far.I started learning Python on Treehouse with the Beginning Python Track on December 1st and today is January 13th – that’s a 44 day streak for me on github. I’ll tell you how those 44 days went and what I’m up to.
The Beginning track has six courses and one workshop. The first course is called Python Basics and this took me one day. Now, I went into this with close to zero knowledge of Python and coming from a Swift background. I found many similarities to Swift and can see where Lattner cribbed from Python – the no semi-colons was a good first impression.
After the basics Python Lists was next. Here this course took me two days. It was getting a bit harder. Also – and I encourage this – there is self practice that you can do to cement the new knowledge in. Like all Engineering – everything is a trade-off. Here its between finishing the degree in a reasonable time but not rushing through the curriculum and not properly understanding the material.
On the fourth day I did my first workshop on Dunder Main. Workshops are not courses and they are short. This was short alright – no joke it was five minutes. But I took the day to practice.
On the fifth day I returned to courses with Python Collections. Although this course repeated Lists with a different instructor (Kenneth Love) since the first two courses had Craig Dennis – it was still a large course with Slices, Dictionaries, Tuples, Sets, and a Capstone project of a Dungeon Game. Suffice it to say this course was the largest and hardest so far and took me over a week – 8 days to be exact.
Now I was up to day 13 and I started the fourth course – Object Oriented Python. This was another huge topic and the course was no joke. It took me well over a week and I thought I’d never finish – 10 days. Now, it was getting close to Christmas so that may have had something to do with it – but it was still a large topic and there were plenty of challenges and another Capstone in the course with a Dice Roller application that uses OO.
On Day 23 I started the fifth course called Write Better Python and it was a smaller course which was a great palate cleanser after all that OO. This course I wrapped up in one day and its a great little course on little random topics in Python like PEPs, Docstrings, whitespacing, and logging.
On Day 24 I started the sixth and final course in the Beginning track called Dates and Times in Python. This was not a small course but it was Christmas and I powered through this course in two days. I took good notes because I know I will be back to look at them for timezones. I was also motivated to finish my Freshman year for Christmas.
On Day 26 I started my Sophomore year – the Intermediate Python track – which I am still doing. This track starts with the seventh course entitled Regular Expressions in Python. This class is not small and it took me four days to complete.
On Day 30 I did my second and third workshops on the Python File I/O and CSV and JSON in Python. I took the day on these two.
On Day 31, I was finishing my first month, and I started the eighth course entitled Using Databases in Python. With a title like that you know this is a big course. It took me a little under a week at six days. This was a great course and I did stop along the way to look ahead at SQL – but that’s in the Data Science portion of the second Master year.
On Day 37, I started course nine called Python Testing. This took me over a week, at 8 days, and takes me to present day. I just completed this today, day 44, and I’m excited to use unit testing and coverage in future Python work.
Tomorrow, I’ll be starting the first of three workshops in a row: Comprehensions, Decorators, and Type Hinting. Then the Sophomore year ends with Functional Python.
I’m happy with my progress thus far. Nine courses in and I feel like I’ve covered a lot of area of Python. I keep track of this for myself in a developer diary on github as it motivates me. But this in no way should be seen as some standard. If you are doing this program and you are going faster or slower – that really doesn’t indicate anything. You could be doing less per day, or be coming in with more of a Python background, or less of a developer background. There are many reasons why someone else’s rate would be different and sometimes I wonder if I did it again in some parallel universe whether I would come out with the same dates.
The important thing is to always compare yourself to yourself from yesterday. If you are making progress everyday then you are doing something right.
I look forward to starting the tenth course this week and learning Functional Python.
Remember to listen and subscribe to the podcast at any of these podcast platforms:
Hope to catch you there!