Online training

Join one of our free online training courses and discover a different way to learn about Digital Making and Computer Science with the Raspberry Pi Foundation.

Take a course at your own pace, in the comfort of your own home. With new courses starting regularly, there’s something for every type of learner. Choose from the courses below or visit our FutureLearn homepage.

You can also stay informed about our new course releases and more by signing up to our LEARN education newsletter.

Current Courses

Programming 102: Think Like A Computer Scientist

4 weeks, 2 hrs/week

training people

On this course, you’ll explore Python programming at an intermediate level. You’ll discover how to break down problems into smaller parts, and then design and apply algorithms to data. You’ll also explore list structures and their various uses.

Ultimately, what you learn will build upon your foundational Python skills – preparing you to progress onto more advanced programming.


Representing Data with Images and Sound: Bringing Data to Life

3 weeks, 2 hrs/week

training people

This online course from the Raspberry Pi Foundation explores how computers do interesting things with data. You’ll discover how to represent and manipulate text, images and sound and compression and other algorithms.


Programming 101: An Introduction to Python for Educators

4 weeks, 2 hrs/week

training people

On this course, you’ll explore programming in Python. Guided by the Raspberry Pi Foundation, you’ll discover basic programming concepts, learning how to understand the basics of python syntax and interpret error messages.

Ultimately, you’ll use your new coding skills to create your first program – which will be able to solve a simple problem.


How Computers Work: Demystifying Computation

4 weeks, 2 hrs/week

training people

On this course, you’ll gain an understanding of how computers work at a fundamental level. You’ll explore system architecture, along with how computers use binary and logic. Once you’ve examined the von Neumann model of computer architecture and the Fetch-Execute cycle, you’ll learn to build a range of simple circuits for maths, and then simulate various logic gates.

Ultimately you’ll complete the course with an understanding of the processes that underpin every modern computer – from supercomputers to smartphones, and everything in between.


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

4 weeks, 2 hrs/week

training people

Block-based programming languages such as Scratch make it simple to learn and teach programming. But once you and your students have mastered it, it’s time to move on to a text-based programming language such as Python. This online course will show you how.

Discover how to transfer the programmatic thinking skills you learned in Scratch to Python. You’ll develop basic text-based programming skills, learning how to understand error measures and debug code.


Build a Makerspace for Young People

4 weeks, 2 hrs/week

training people

A makerspace is an area inside a school, library or other public facility, which young people can use to apply digital skills to the real world, exploring ideas and making things collaboratively.

This online course will show you how to create a makerspace in your community. You’ll explore different approaches to makerspaces, understand the pedagogy that underpins the maker movement, and get practical advice on getting started.


Prepare to Run a Code Club

3 weeks, 1 hr/week

a Code Club in action

Code Club is a global network of volunteers and educators who run free coding clubs for 9- to 13-year-olds. This short course will give you the confidence and skills to run a Code Club for young people and inspire the next generation to get excited about computing and digital making.

You’ll get practical advice and tips from volunteers, teachers, and the Code Club team, and you’ll explore the free resources which Code Club provides.


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

4 weeks, 2 hrs/week

training people

This online course will introduce you to the principles of object-oriented programming in Python, showing you how to create objects, functions, methods, and classes.

You’ll then use what you learn to create your own text-based adventure game. If you’re an educator, you’ll also be able to develop ideas for using object-oriented programming in your classroom.


Teaching Physical Computing with Raspberry Pi and Python

4 weeks, 2 hrs/week


Over four weeks, you’ll develop your knowledge of simple electronics and computing, setting up your Raspberry Pi and writing your first program using the Python programming language.

You’ll apply your new-found knowledge to a series of challenges, including controlling an LED with Python, using a button press to control a circuit, and making a game using a button and an LED.

If you’re a teacher, you’ll also have the chance to develop ideas for using the Raspberry Pi and Python in your classroom, and to connect with a network of other educators.


Teaching Programming in Primary Schools

4 weeks, 2 hrs/week

Kids learning about computing

This four-week course provides a comprehensive introduction to programming, and is designed for primary or K-5 teachers who are not subject specialists. During the course, we’ll introduce you to key programming concepts.

You’ll have the chance to apply your understanding through working on projects, both unplugged and on a computer, using the Scratch programming language. Discover common mistakes and pitfalls, and develop strategies to fix them.