Computing courses

Discover our range of free computing courses. Learn to code your own programs, make exciting projects, and build your computing skill set.

Our online courses have something for everyone, from absolute beginners to more experienced programmers.

Learn about Python, Scratch, AI and machine learning, web design, cybersecurity, computing education, and much more.

Not sure where to start? Try one of our curated pathways.

Try out our prototype course picker, and let us know what you think.

Teaching computing to 11- to 18-year-olds (subject knowledge)

Free online courses for teaching computing in your school. Get support and guidance on how to deliver computer science for secondary or 11- to 18-year-old children.

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

Introduction to Web Development

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

Supported By Google

Introduction to Cybersecurity for Teachers

Discover the core ideas of cybersecurity

Supported By Google

Introduction to Encryption and Cryptography

Discover the history of encryption and learn how it’s used in the modern world.

Supported By Google

Introduction to Databases and SQL

Learn what databases are and why we use them. Then, explore how to use SQL to search and manipulate the data.

Supported By Google

Data Representation in Computing: Bring Data to Life

Learn how data is represented through media: audio, visuals, and text.

Supported By Google

Understanding Computer Systems

Discover the components of a computer system and how they interact with each other.

Supported By Google

How Computers Work: Demystifying Computation

Explore the fundamentals of computing: computer architecture, binary logic, data processing, circuits, and more.

Supported By Google

An Introduction to Computer Networking for Teachers

Build your knowledge and understanding of computer networks as a computer science teacher.

Supported By Google

Understanding Maths and Logic in Computer Science

Improve your understanding and ability to teach maths and logic in computing while building elements of an escape room.

Supported By Google

Impact of Technology: How To Lead Classroom Discussions

Explore the ethical, legal, cultural, and environmental concerns surrounding computer science.

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

Design and Prototype Embedded Computer Systems

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

Supported By Google

Programming with GUIs

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

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

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.

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