MOOCs, python, first step into a larger world

I’ve had a change of direction since I resurrected my blogging efforts. I have found 24 things to be pretty uninspiring I’m afraid. I’m sure many people get a lot out of it, but it’s not for me.

I have been keeping busy with my professional development though, and have been working my way through various resources trying to teach myself the program in Python.

I have previously started learning Ruby, and I’ve completed a couple of courses in Javascript and HTML/CSS through CodeAcademy.

Ruby I could never really get excited about, but Python I am really enjoying. It seems to me like it’s more mature as a language and so there are a lot more resources around to help the learner, be they structured courses or just examples and explanations on StackExchange.

So, here’s what I’ve been using to help me learn:

  • Programming foundations with Python – free course through Udacity, not very long, but a good introduction to certain aspects of programming, particularly the concept of Objects
  • Web development – another free Udacity course, much longer (I haven’t completed it yet), and steps through the process of creating a web application using Python and Google App Engine. The lecturer used to work at Reddit I think. The course assumes Python experience so it’s a step up from the first course. Very good so far.
  • A Byte of Python – a book written by an Indian programmer and blogger named Swaroop CH.  Excellent starter book for learning Python
  • Learn Python the Hard Way – another book on learning Python. Focuses on doing lots of  fairly repetitive ‘drills’ involving lots of typing. A bit annoying for a crap typist like me, but it does help the remembering process. Quite a Victorian approach to learning I reckon.

For the first time recently, I feel like I’m starting to really understanding programming, at least at a basic level. Not sure where I’ll go from here, but for now I’m just going to keep doing tutorials and MOOCs. It’s fun, so why not.

Udemy

So 24 things is going a bit slowly. Most of the things have been somewhat uninspiring if I’m honest. I guess because my specific situation means I’m not exactly an academic librarian, just a casual, I don’t see the tasks relating to each thing as particularly relevant to my primary role, as librarian in a government agency.

Anyway, a new ‘thing’ I’ve discovered through work is Udemy. I’ve started working through a Python course we purchased at work as part of a stacksocial bundle. It’s really good so far. I’ve done a few online programming courses through CodeAcademy and W3Schools that have been good, but it always feels a little theorhetical. This course is different in that it goes from basic Python programming right through to building a database driven website using Django, and even some SQL along the way.

As an aside I’ve always ignored SQL but turns out I think it’s something I, and librarians in general, would be really into – it’s basically advanced boolean searching from what I can tell. The W3Schools SQL course is a good place to get an overview.

Codeacademy

codeacademy_ruby

I’ve been trying to improve my coding skills sporadically over that last year or so. Mostly I’ve used Codeacamedy to do this.

It’s basically a MOOC, and I’ve found that on the whole it’s a pretty good way to boost coding skills. There are ‘tracks’ that you can follow in various languages, plus a load of one off lessons you can take. So far I’ve done the HTML/CSS,  Javascript and most of the Ruby tracks. Next up will probably be JQuery.

The lessons are built around an interactive coding environment where you are set tasks to write, or complete, bits of code and then run them. If you get the right result you progress to the next lesson.

It’s not perfect though, I’ve found several examples of lessons where code is technically correct but doesn’t pass because the Codeacademy validator is expecting a different solution. It is also fair to say that some of the lesson instructions are a bit confusing.

Thankfully each lesson is supported by a Q&A forum which is pretty active. You can usually find an answer there if you’re stuck, or ask a new question if you need more help.

The other thing I’m finding having completed a couple of tracks is that it’s a bit hard to translate the theoretical learnings into practical applications – particularly with Javascript. I suppose it’s a case of thinking of a project you want to try and then trying to apply your learning to it. That be something I try before too long, and before I forget everything I’ve learnt.

All told I highly recommend Codeacademy for upping you coding skills, and it’s all free!

24 things for 2014

I have finally started doing 24 things this year, I thought is used to be 23 things but we must have added one.

I’m doing it through QUT were I work an evening shift as a casual reference librarian. We’re using Yammer as the platform, but a recent thing was about blogging and writing for the web.

This prompted me to resurrect my domain, set up a blog, and start recording some of the recent PD activity I’ve been doing. This is probably my 10th blog (at least), which is embarrassing. If I write that down then hopefully it will mean I stick at this one. It’s not going to be updated every day that’s for sure, but hopefully somewhat regularly, when I have something interesting to report.

We shall see…