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! I now recommend that total beginners use Version 3 since that is the future, although many organisations and web sites still use version 2. So if you have a need to use V2 read the V2 tutor, otherwise jump in to version 3. 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: 31st January 2017

Announcement of Indonesian translation of the Functional Programming topic

The NEW Book!

The reason the site has been frozen in aspic for the last couple of years or so is that I've been working on a new dead-tree book which is available now! It's entitled Python Projects and published by Wrox Press. It is a collaboration with Laura Cassells, who was a Python tutor from the Big Nerd Ranch training school (although she has since moved on to new challenges).

The focus of the book is to answer the question many beginners face - "OK, I know the language but what can I do with it?" And How? It looks at

It can be seen as a sequel to this tutorial site, or as an expanded version of Section 4, Applications. It's all based on Python 3. It is not just a set of projects for you to try but a guide to how to use the Python tools to build your own. There are some significant sized example projects in the book, but they are there to demonstrate the points being made.

You can order it on Amazon:

Or search your favourite online store.

The Original 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 still order the book on Amazon:

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 one of my royalty statements there is also a Chinese version but I don't have a link to that one, and the latest statements don;t list it so I'm not sure of the current status.

I 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 original book is stagnant I'm afraid, but, as mentioned above I now have a new book, Python Projects that picks up where the old one left off by introducing and expanding on the material in the new web section discussed below. The new book uses Python v3.4 and eventually I aim to update the web tutor to cover v3.6 and incorporate much of the material from the book.

I am still aiming to add new topics as part of a new section looking at practical applications of programming. 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, the standard Python library now includes the Tix library which adds extra features to Tkinter, and the ttk module which enhances the look and feel to more closely resemble the native GUI toolkit. I might write something about those modules too.

Non English Editions available!

The following versions of the old V2 tutorial are available:

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.

There is also a single page (Functional Programming) translated into Indonesian by the ChameleonJohn project, here

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. Note: This has become more difficult now since the application that I used to use to generate the PDF no longer works on Windows 8 upwards and HP don't do a more recent version. I'm still trying to find a suitable alternative, if anyone knows of a good site to PDF converter please let me know

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@yahoo.co.uk

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! :-)
Finally, I have a Flickr page with a running "photo blog" showing my latest adventures with a camera.