Start learning with us today to build your computing skill set.

You can take our courses about topics ranging from programming for beginners, to the hardware and software underpinning the internet — all for free.

Are you a teacher in England?

Please access our courses through Teach Computing.

Visit Teach Computing


Start your and your learners' coding journeys by learning to program in Python. This category covers the 'Programming' strand of the Teach Computing curriculum.

Programming 101: An Introduction to Python for Educators

Explore the basics of Python and code your first program.

Supported By Google

Programming 102: Think like a Computer Scientist

Take your Python skills further by exploring algorithms, list structures, sorting, and searching.

Supported By Google

Programming 103: Saving and Structuring Data

Learn how to save and structure data in external files, and import files back into your Python programs.

Supported By Google

Scratch to Python: Moving from Block- to Text-based Programming

Discover how you can support learners to use the thinking and programming skills they learned in Scratch in text-based programming languages like Python.

Supported By Google

Programming with GUIs

Discover how to build your own graphical user interface (GUI) with Python and guizero.

Supported By Google

Introduction to Web Development

Discover web development and learn to build your own interactive websites using HTML, CSS, and JavaScript.

Supported By Google

Networking with Python: Socket Programming for Communication

Explore the principles that industry professionals use when programming for networks, and learn how sockets are used to abstract the complexities of the internet.

Supported By Google

Design and Prototype Embedded Computer Systems

Discover embedded system design and work your way through the product design lifecycle.

Supported By Google

Object-oriented Programming in Python: Create Your Own Adventure Game

Learn object-oriented programming principles by creating your own text-based adventure game in Python.

Supported By Google

Teaching Physical Computing with Raspberry Pi and Python

Create simple systems that respond to and control the physical world using the Raspberry Pi and Python.

Supported By Google

Robotics With Raspberry Pi: Build and Program Your First Robot Buggy

Examine the wider context of modern robotics and build a robot buggy controlled by a Raspberry Pi.

Getting Started with Your Raspberry Pi

Discover how to set up and control your new Raspberry Pi, as well as how to use it for everyday tasks and to learn how to code.

Teaching Programming to 5- to 11-year-olds

Increase your programming knowledge and develop effective lessons to teach programming to primary school pupils (aged 5–11 years).

Teaching Physical Computing to 5-11 year olds

Teach your young learners how to create electronic circuits, then learn to control them using block-based programming languages.