Written by Michael Hockenhull, Lab Manager.
Have you ever tried to learn a programming language? Or an even more common experience: have you ever tried to learn a language that wasn’t your mother tongue? You probably started with all the best intentions of becoming fluent in Mandarin or a wizard at Ruby on Rails. For the first week you were passionate about your new-found hobby: did all the exercises, told your friends about it. However unless you’re that guy who went viral for knowing 9 languages, your passion petered out sooner or later and your regiment of exercises fell by the way-side. You had to skip programming exercises for seeing an old-time friend or work got busy all of a sudden. Life happened.
That’s at least what happened to me, and my goal to learn how to program in Python.
However I have picked it up again, and this time things are different. For the past couple of weeks a group of people have been meeting regularly in ETHOS Lab at the ITU, me amongst them. On Wednesdays at 16:00 the circa dozen of students meet up. Their purpose is straightforward: learn how to program in Python. Many of the participants described having exactly the experience related above. For one reason or another, whether it be motivation, or getting help or just having someone to share the experience with, they have experienced having to give up at learning how to program. They, as well as I, think and feel that things will be different if we do them in a group however.
So far so good. While we have only had five sessions in five weeks, the group has maintained high rates of participation. When people are there the mood is intense but good. Keys clacking and machines humming – code is being written, modules tested.
The group is composed of both programmer newbies and more hardened multi-language programmers. In order to make sure that everyone got something out of the group, we collectively decided to divide the group into two: one for those who had some experience with Python or Object-Oriented languages, and one for those of us who are almost completely new to programming. I’ll gladly admit to falling in the latter category.
In the newbie group we decided to use a book called How To Learn Python the Hard Way by Zed Shaw. The book is freely available online, and is a very thorough introduction to both Python and to using the command line or terminal. It assumed you have never programmed a line in your life. We have been chipping away at the 50-ish exercises in the book, and those of us who are farthest are in the 30s I believe. A lot can be achieved with two hours a week, if you are concentrated.
In the more experienced study group it was deemed a good ide to have a concrete project to test out skills and learn new stuff. Those of us from ETHOS Lab suggested an idea we had been kicking around: building a scraper for the crowdfunding page Kickstarter. Since it doesn’t have a public API one can access, but would be interesting to have some data on, this seemed like a great project. The group took to the challenge with gusto, and had already outlined an overview of the data they wanted to collect within a day! Since then things have been moving apace with the addition of different libraries and modules and what-do-I-know. I look forward to being able to understand everything they are doing.
Python may not be an easy language to learn, but few worthwhile things are easy. In ETHOS Lab we are convinced that learning to program is a very worthwhile endeavour, and that if it isn’t a direct prerequisite for doing top-class digital methods and humanities, it certainly gives a important insights. Software and digitalisation is infiltrating most aspects of our lives, and it seems clear that being able to understand programming will make things a whole lot easier in the future. So if you want to learn how to code, why not start with one of the highest paid languages, and join us for the Python study group. Just e-mail us first here, so we know that you are coming. :)