Teaching Python
Well yeah that’s the name under which I conducted a series of lectures trying to teach whatever I know about Python to my fellow students at my college. It was really a great experience. It got me to brush up the language basics and explore some things which i had avoided earlier, because I know what sort of student I am, and if I had to face myself as a student, no amount of preparation would be enough.
It was a series of 5 lectures in which people went from not knowing Python at all to being able to work on whatever part of the stack they want to using Python. The initial 3 lectures were common, and covered basic concepts like declaring variables, looping, conditionals, lists, dictionaries and list comprehension.
I even asked them to solve a few questions on HackerRank to make sure that they had properly grasped all the concepts, and also to get them acquainted with the interface. I created a contest specifically for this purpose, and then asked them to continue practicing on the Python language track. At the end of their college years, they are definitely going to sit for placements, and will have to face coding competitions, so the earlier they get used to it, the better. So it was like killing 2 birds with a single stone.
The plan was to end the series as all the basics concepts had been covered, and going further meant either I had to introduce them to development or delve deeper into the language. The former one was still an option, but the latter idea was plainly boring to anyone who was just introduced to the language so very recently. But then the students came back asking for more, and when given a choice they chose the field of development, which did make me feel very happy but also did put me into a dilemma.
The last 2 lectures were personally closer to my heart than the rest of them. Being a self-taught developer, I really want someone to carry my legacy, learn development and pass on the knowledge to the next batch just like I am trying to do. But the field is so very vast that I was not able to figure out from where to start! I decided to get to make a bit complex to-do app with a CLI, and they really did enjoy the entire process! I created and hosted an API for the same on pythonanywhere.com. You can find the API docs at sdabhi23.github.io/py-todo and the code for both the client side CLI app and the API server is published on GitHub at sdabhi23/py-todo.
Then they wanted even more, and as machine learning is the new trend, I thought let’s discuss web scraping in the final lecture.
Web scraping is one of the major sources for data-sets for analyzing human behavior on social media. I chose books.toscrape.com to make them practice web scraping with requests and BeautifulSoup.
The series ran from 31st July, 2018 to 3rd October, 2018.
A few glimpses from the lectures:
Originally published at sdabhi23.wordpress.com on October 22, 2018.
Update: The post about GitHub Jumpstart is now available here: https://medium.com/@vvyomjjain/github-jumpstart-a30666db1f02