Welcome to the Learning to Program Web Site

This web site is designed to help total beginners learn to program. There are two tutorials to choose from. "Version 2" uses Python Version 2 as the programming language, along with VBScript and Javascript, while "Version 3" uses Python Version 3 oddly enough! At the time of writing I recommend that total beginners use Version 2 because Python Version 3 is still a little bit too immature, however that situation is changing rapidly and if you feel adventurous by all means give V3 a go. The style is distinctly Web 1.0 for which I apologize but hopefully the content will compensate!

Version 2

Version 3



Stop Press!

Last Update: 9th March 2013

Just some tweaks and errors fixed as reported by various readers.

The Book

The original version of this tutorial, based on Python v1.5, is available as a dead tree book from Amazon or your favourite bookstore. Latest news on the book is that it has moved to print-on-demand. Basically this means that copies are only printed when firm orders are received from retailers. Logically this means you are less likely to see it in the shops but you can still place an order and it will be delivered, it just takes a little longer is all.


The book is now significantly different to the new web site although the basic ideas remain the same. It is stuck at Python version 1.5 and doesn't have the new material, although it has extra examples of its own plus several extra chapters compared to the web site. These include an additional case study for an OO games framework. (A fully commented version of the framework is available on the old Useless Python web site as hmgui.zip)


You can order the book on Amazon by clicking here. Most of the other online book shops have it available to order too.


There is also a Japanese version available from the Japanese branch of my publishers. According to my Royalty statement there is also a Chinese version but I don't have a link to that one.

I now have a web site set up listing errata and providing opportunities to send feedback and questions.
Please pay a visit if you've bought the book!

The Future

The book is stagnant I'm afraid, but once I get the new tutorial written I might sound the publishers out about a second edition updating it to the latest version of Python, whatever that will be by then, and adding the new material. But don't hold your breath waiting on that one...


I am still aiming to add new topics as part of a new section looking at practical applications of programming. However the primary focus for now is to translate the v2 tutor into v3.1 as fast as possible. Any new topics after that will only be done for Python v3.


These topics are in response to many requests from readers who say - "OK, Now I know how to program, but what exactly can I do with my new found skills?" They do not feature much, if any, VBScript or JavaScript.


Looking even further ahead, I'm also playing with the new version of wxPython and may include more GUI stuff based on that at some stage. Also the standard Python library now includes the Tix library which adds extra features of Tkinter, so I might write something about that too. And finally the latest versions of Python include a new set of "themed" Tkinter widgets which provide a native look n feel across different OS. So lots of activity on the GUI front!

Non English Editions available!

The following versions of the old V2 tutorial are available:

LanguageTranslator
Czech version Petr Přikryl
German Bruno Schaefer
Korean johnsonj
Italian Luca Fini
Portuguese Wilson Edgar
Spanish Martin Pozzi

The tutorials above are all usable but at different stages of completeness compared to the web site. That's because they reflect the state of the web site at the time of translation. The Czech one in particular is very professionally presented including a very attractive appearance. I was so impressed with the style that I have used Petr's style sheets (with a couple of colour tweaks) as the basis for the English version.


I think all of the translators deserve a vote of thanks for their efforts in putting this together. It's always better to read a translation of an old tutorial than to struggle reading a new one in a foreign language! If anyone else wishes to do a translation, or update any of the existing ones, just send me an email.

Download Archive Format

I'll eventually be posting both zip and tgz versions of the site as well as a PDF file. These will not always be up to date because my primary focus is on getting the updates done, only after it's all complete will I move the site to maintenance basis and do regular updates.


Look at the bottom of the contents frame for a link.


If you have any questions or feedback on this page send me mail at: alan.gauld@btinternet.com

PS. I also have a personal web page hosted here with some information on my other great hobby: hill-walking in my home country of Scotland. You might find that interesting or enjoy the pictures! :-)