Last Christmas I got a Raspberry Pi as a present. As you may know it comes with the Python programming language as standard.

As a former programmer, who started on punch cards at school, wrote some Sinclair Basic for ZX81, and Spectrum, then Pascal, used VBA extensively, then Visual Basic / classic ASP, and finally a little .net, I was intrigued and hooked on this widely used, flexible, easily-extended and very powerful language.

So I set out to teach myself how to use Python.

My first port of call apart from the official documentation at the site above, was ebooks. You’ll find half a dozen free and useful ones  here.

Then I followed up with CodeAcademy. They have a great free Python track. I completed the whole track within a few weeks.

Most recently I finished in Coursera’s Introduction to Interactive Python. This was a challenging course, conducted over 9 weeks, in true MOOC style, using a GUI environment for user interaction, and culminating in programming a game of asteroids. It featured high quality video lectures, quizzes, stretching mini-projects, peer making of work and a very supportive online forum.

I cannot recommend this highly enough but would encourage anyone doing that to prepare for it using the CodeAcademy route first otherwise it could be a steep haul. The course will next be run in October 2013 – and you can sign up for it now.  I have to thank  the guys at Rice University, particularly Joe Warren and Scott Rixner, for a great experience – all the more amazing considering that this was absolutely free (unless you want certification ).

Finally, I can recommend for those seeking to move on from these online courses to look at the recent O’Reilly Publication – Python Cookbook which will really help you improve your skills.

Happy python programming!

Ian

 

Taming the Python – geting started programming on your Raspberry Pi
Tagged on:             

One thought on “Taming the Python – geting started programming on your Raspberry Pi

Leave a Reply

Your email address will not be published. Required fields are marked *