Resources for learning the Python (v3) programming language

Get the software

Introductory Python

I have three different ways to work through the introductory basics of Python.

  1. The detailed introduction walks you through explaining each of the concepts in the most detail. This detail will give you a better understanding of the concepts but will take longer. This is the mandatory pathway for my Year 11 students.
  2. The quicker introduction has been created for use in codeathons and suits younger students who are keen to get up and running with a workable app quicker. You won't have as good an understanding of the concepts, so will initally be more reliant on using functional sample code as you learn.
  3. The turtle introduction is also intended to suit for younger students (such as Year 8s) who are opting-in to embrace a programming environment more challenging than Scratch but are a little intimidated by the idea of coding in a pure text environment. The turtle allows you to learn the basics through a graphical/visual system where you draw and animate various shapes on screen.

Pathway 1: Detailed introduction

Initally, this pathway does not even need Python on your computer as it has been built around using the website for introductory exercises.

Pathway 2: Quicker introduction (IDLE for exercises)

Obviously if you can invest the time to do the above sequence of videos for a more detailed introduction, you will receive a stronger grounding in the basics of Python. This quicker introduction is aimed for my Year 8 students predominately.

This pathway requires the IDLE program that comes with Python.

Pathway 3: Turtle introduction

This pathway requires the IDLE program that comes with Python.


Take your Python programming to the next level by making simple games with the Pygame graphics library.

Intermediate Python

Other Python lessons & guides

  • Learning Python: Functions and modules ... coming soon
  • Learning Python: Classes ... coming soon
  • Learning Python: Taking webcam photos ... coming soon
  • Learning Python: Recording audio ... coming soon
  • Learning Python: Read and write files ... coming soon
  • Learning Python: Read and write over a network ... coming soon
  • Learning Python: Read data from a Web API ... coming soon
  • Learning Python: Making a server for a website ... coming soon
  • Learning Python: Raspberry Pi GPIO
  • Learning Python: IBM Watson ... coming soon
  • Learning Python: Machine learning with Tensorflow ... coming soon

Any other suggestions of things I should add?

Other resources

Summary documents I've created as a language reference

External websites

Code samples of various games

These are not "complete" but intended as a starting point from which you can create your own game.