Teach yourself Python: how I got going (after a couple of false starts)

Photo by Shahadat Rahman on Unsplash (P.S. I’ve no idea if this is Python or not. I’ve not got far through the couse yet, but it looks nice.)

here is a little piece of (almost) every tech journalist that knows they are a rotten fraud. We stick the knife into software that we know we couldn’t possibly code ourselves, not even if we gave up the long lunches and 18-hour-a-day Twitter gossip surveillance.

For a long while, I’ve been dying to give coding a proper go. Not as a full-time occupation — I’m too enamoured with the rank insecurity and no long-term growth prospects of freelance journalism to give it up for anything that might constitute a decent living. But I’ve yearned to reach a level where I could code a little web app, maybe an Alexa skill or two, all by myself.

I’ve no real coding background to speak of. Like most schoolboys of my generation, I had a BASIC textbook next to my Commodore 64, learnt how to fill the screen with…

TOBY JACKSON HAS A SMALL WILLY

TOBY JACKSON HAS A SMALL WILLY

TOBY JACKSON HAS A SMALL WILLY

TOBY JACKSON HAS A SMALL WILLY

…and then went outside to play football and never touched the books again. (Names in this article have been changed to protect the person’s real identity.)

In my adult life, I’ve spent a fair while noodling around with HTML and can happily tweak the source code of a WordPress embed to make it behave, but that’s about it.

So, I’ve decided to give Python a go. I’ve read a fair few of those “XX programming languages you should learn in 2020” articles and Python’s always in there; it looks relatively simple to comprehend; and there’s a humungous amount of online learning material to help you learn Python.

Here are some of the sources/courses I’ve considered to help teach myself to code, and why I’ve rejected/picked them. I might have made spiffing choices, I may have committed myself to months of pain and needless expense, but I’ll update you as to how I’m getting on as my learning develops so you can see how right/godawful those decisions were.

If you’ve got any advice on how I can better pick up Python, by all means drop a suggestion here.

Python textbooks

I’m a bit old school. I learnt most things from textbooks and good teachers, so when this book appeared in the Amazon Prime Reading catalgoue a couple of weeks ago, I decided to give it a go.

I’m immediately suspicious of any get-rich-quick-type title such as Learn Python In One Day. Nobody learns a computing language in a day, even if you had time to read all ten chapters and digest them.

Nonetheless, I recognise we live in a clickbaity age and this kind of title helps shift books. And from skimming the first few pages of the book on my Kindle, it didn’t seem anywhere near as trashy as the title suggested.

However, a couple of chapters in and, having got my head around some basic Python syntax, variables and lists, I wanted to put what I’d learned into practice and try a few practical exercises. But this book didn’t seem interested in that, it’s more of a whistelstop tour of the main Python commands and procedures.

I’m not knocking the book — it will stay on my Kindle and I’m sure will come in handy for reference as I progress — but it wouldn’t teach me how to code, let alone in a day. I need something more structured, something that’s going to hold my hand as we shuffle into the complex stuff.

Online Python courses

Where to start here? There are so many online Python courses that you could spend a year just shortlisting them.

A number of forums had mentioned Microsoft’s free Python For Beginners course. It comprises of 44 videos, co-hosted by a chap who sounds scarily like Kermit the Frog, and an interactive online course to go with it. That very much ticked the box of writing code as I learned, which is what I wasn’t getting from the book.

I watched the first ten or so videos, and although they were a little rudimentary to start with (if you need to be taught how to install apps on a PC, I’m not sure coding is for you yet), they gathered pace and I could follow along comfortably.

What put me off was the online tutorial segment:

Here, for example, you’re asked to write the code for a basic calculator — but all the examples of the code you need are on the previous page. When you flick back to see the code, you lose everything in the browser-based sandbox where you enter the code to the right. It didn’t like it when I had two tabs open at the same time, either.

Maybe I should have memorised the code from the previous page, it wasn’t blisteringly difficult after all. But I’m the kind of guy who works best with examples open in front of me as I type. And if I was stumbling on these basic tasks, I couldn’t see it getting better as the stuff got more complex. I needed another approach.

Textbooks + online course = the answer?

In the end, I’ve decided to go for a best of both worlds approach.

After blowing out midway through the Microsoft course, I read a news story that Google was running a new online Python course for beginners via Coursera. That piqued my interest, not least because you get a shiny certificate at the end of it, and I’ve loved certificates since the days when I was using a Commdore 64 to defame Toby Jackson.

On a serious note, it seems like that certificate could actually lead to gainful employment opportunities, but when I looked at the course syllabus my enthusiasm waned. It seemed largely pitched at people who wanted to use Python to administer IT networks and that’s not my bag.

However, elsewhere on Coursera, I came across Python for Everybody. This a course delivered by the University of Michigan’s Dr Charles Russel Severance (Chuck Severance to his Twitter friends) and — handily for textbook-loving me — he’s written a book of the same title to accompany the course (or the other way round, I’m not sure which is the chicken and which is the egg).

That instantly appealed to me, as I could have the textbook open next to me on my tablet as I watched course tutorials or took on coding exercises myself.

Better still, that book is free from the Python For Everybody website or only 99p to download on Amazon Kindle, which is a small price worth paying for not having to deal with the messy way Kindles handle PDFs.

The Coursera course is broken down into a series of “weeks”, with assignments to be carried out at the end of most weeks, although you can of course learn at your own pace. You’re not forced to follow the set schedule.

It also seems many of the video tutorials used on Coursera are on the Python for Everybody site, which is making we wonder whether the £37 per month Coursersa fee is a wise investment. I’ve got a seven-day free trial to reach a decision on that, although I do like the way Coursera is structured, and add-ons such as support forums and access to tutors could justify that investment.

I’ve only just nibbled into the second “week” of lessons where we’re starting to get hands dirty with code, but the doc seems an engaging presenter and I’ve found the first few chapters of the book easy to follow, if a little starchy.

Will the course turn me into a bona fide coder? I promise to let you know either way.

Freelance writer, editor and photographer. More at: www.mediabc.co.uk

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store