I have been asked several times by new members of PyClub, “How do I start?”
I think maybe sharing my experience would help.
When I was starting out I had nothing but an interest to code. The idea of being able to tell a computer what to do felt like a superpower and I just wanted to have that power.
I was excited about being able to create apps, write automating scripts, build websites, hack websites or mobile devices, or do complex calculations that my 991esPlus calculator can’t do. I just wanted to have that geek ability and it was my drive.
I went online and did a search for “best free python3 introductory books” - and I found a pdf book, “Coder’s Apprentice” by Peter Spronck
Over the next 6 months, from September 2016 to Feb 2017, I read the book from cover to cover. I could have finished way earlier but I was in my first year at University, I had to study my math courses first.
By the time the 2nd sem started, I already knew enough python to skip the entire CSCD102 course because it was an “Introduction to programming with python” course. Please don’t do this because I didn’t, go there and show the world what you know rather you will learn more by sharing and crashing your code occasionally.
So I had a very firm introduction to python, and I was solving basically every problem with python. In counting problems, when I needed to confirm combinations and permutations with actual simulation I wrote a python script. When I was feeling lazy dealing with logic gates and truth tables, I just wrote code to do it for me. In everyday life, I could spend 10min to write a script that will search through multiple books for a string because coding was just fun.
Now what? That was the question on my mind at that time, my options were enormous, thanks to the articles I read online. I realized I could create games, build Android apps, webapps, do data visualization (graphs and charts) all with this python I knew. Yes, there are more uses, but the aforementioned are the ones I remember trying my hands on. I built a game with pygame, did loads of data visualization(matplotlib and seaborn). Before I tried my hands on Web Development, I tried Kivy Android app development, which was very fun although I never deployed my Android app. All these were from my second book in Python — “Python Crash Course” by Eric Matthes. Except for Kivy - which I found by accident.
At the moment, my reference manuals are:
- “Two scoops of Django” by Daniel Greenfeld,
- “Automate the boring stuff” by Al Sweigart,
- And the official python reference and Django reference manuals.
I’ve been using Django for close to a year now and I feel comfortable here. Although I’m also interested in Machine Learning and General Scientific programming like Numerical Analysis and Data Analysis, I consider myself a novice in that field, and an intermediate in Web Technologies. I have built a couple of webapps using Django and Flask. Most of them, built for fun, and a few of them for clients as a freelancer.
Currently, I have a coaching role with Global Code(A UK organization) and a volunteer coach at Djangogirls. I’m in my third year in the University and the lead of PyClub UG. So it hasn’t been a bad journey if you asked me.
The bottom line is that you should get something to drive you, share as you learn, stay focused on something you want to do but don’t be afraid to try out interesting technologies when you pick up little projects along the way.
This may not be your exact journey in learning programming with python. Others may like to watch videos rather than read books. Or perhaps take an online course which combines both text and video materials. In that case, this one on coursera would be a great start but there are similar or perhaps better ones out there on udemy, pythonanywhere, and datacamp.
Here is a link to download all the books mentioned in this article: https://bit.ly/start-coding-python
Remember, The only way to learn how to code is to code — Anonymous

Join Us and Network with beginners and pro’s who use python