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 5- to 11-year-olds
Get expert online training for teaching computing in your school. Learn how to deliver computing lessons for primary or K1–5 children.
Get Started Teaching Computing in Primary Schools: preparing to teach 5- to 11-year-olds
Improve your subject knowledge and develop inclusive lessons to teach computing to primary school learners (ages 5–11).
Creating an Inclusive Classroom: Approaches to Supporting Learners with SEND in Computing
Explore ways to make your computing lessons more inclusive for learners with special educational needs and disabilities.
Teaching Computing Systems and Networks to 5- to 11-year-olds
Increase your knowledge of "computing systems & networks" and plan how you will teach young children about this topic.
Teaching Data and Information to 5- to 11-year-olds
Increase your knowledge of data and information, and how you can teach young children about this topic.
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.
Programming Pedagogy in Primary Schools: Developing Computing Teaching
Investigate a range of pedagogical approaches for teaching programming to primary school learners (ages 5–11).
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.
Improving Computing Classroom Practice Through Action Research
Learn how to run your own action research project to improve the computing pedagogy and practices in your classroom.