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.
Are you a teacher in England?
Please access our courses through Teach Computing.Visit Teach Computing
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.
Explore the basics of Python and code your first program.
Take your Python skills further by exploring algorithms, list structures, sorting, and searching.
Learn how to save and structure data in external files, and import files back into your Python programs.
Discover the core ideas of cybersecurity
Discover the history of encryption and learn how it’s used in the modern world.
Learn what databases are and why we use them. Then, explore how to use SQL to search and manipulate the data.
Learn how data is represented through media: audio, visuals, and text.
Discover the components of a computer system and how they interact with each other.
Explore the fundamentals of computing: computer architecture, binary logic, data processing, circuits, and more.
Build your knowledge and understanding of computer networks as a computer science teacher.
Improve your understanding and ability to teach maths and logic in computing while building elements of an escape room.
Explore the ethical, legal, cultural, and environmental concerns surrounding computer science.
Create simple systems that respond to and control the physical world using the Raspberry Pi and Python.
Discover embedded system design and work your way through the product design lifecycle.
Discover how to build your own graphical user interface (GUI) with Python and guizero.
Learn object-oriented programming principles by creating your own text-based adventure game in Python.
Examine the wider context of modern robotics and build a robot buggy controlled by a Raspberry Pi.
Explore the principles that industry professionals use when programming for networks, and learn how sockets are used to abstract the complexities of the internet.