Free Online

Raspberry Pi Foundation Courses

The Raspberry Pi Foundation works to put the power of digital making into the hands of people all over the world, so they are capable of understanding and shaping our increasingly digital world, able to solve the problems that matter to them, and equipped for the jobs of the future.

Show filters

Level

Duration

Subject

Language

Networking with Python: Socket Programming for Communication

Networking with Python: Socket Programming for Communication

0

Build your practical network application skills and understandingOn this course from the Raspberry Pi Foundation, you’ll learn how to create programs that communicate over the internet.You’ll explore the principles that industry professionals use when programming for networks, and learn how sockets are used to abstract the complexities of the internet.In the final week, you’ll design and create your own protocol for a networked quiz that you’ll program using Python. This final challenge will help you to consolidate and apply your learning from the course.This course is designed for teachers who deliver lessons on network principles in the classroom, at GCSE level or equivalent.To take part in this course, you will need experience in the following areas of programming:Using functions, including parameters and returnsUsing multiple data typesDebugging Python programsIt may also be beneficial to have some experience with classes and methods.

FutureLearn
3 weeks long, 2 hours a week
selfpaced
view all
Programming 101: An Introduction to Python for Educators

Programming 101: An Introduction to Python for Educators

0

Learn how to program in Python with help from Raspberry PiOn 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.This course would suit educators who have no experience of programming in Python.To take part in this course you’ll need to download Python, or use an online IDE.If you need advice about the options for using Python, or instructions for installing it, please review our guidance on Applications for creating Python programs - https://projects.raspberrypi.org/en/projects/python-install-options

FutureLearn
4 weeks long, 2 hours a week
selfpaced
view all
Start a CoderDojo Club

Start a CoderDojo Club

0

Learn how to set up a programming club for young peopleIn today’s world, technology is everywhere, so it’s never been more important to know how to code. It’s easier to learn these skills early on in life, which is why coding is a great subject for young people to learn.CoderDojo is a volunteer-led community of free programming clubs for young people aged 7 to 17. This course will build your confidence in coding and help you to set up a CoderDojo in your local area.You’ll find out how to teach young people how to build a website, create an app or a game, or explore technology in an informal, creative and social environment.This course is designed for anyone who wants to teach young people how to code.You’ll need a web browser.

FutureLearn
3 weeks long, 2 hours a week
selfpaced
view all
An Introduction to Computer Networking for Teachers

An Introduction to Computer Networking for Teachers

0

Learn how you can create connections with computersExplore the fundamentals of computer networking with this online course for teachers. You will improve your understanding of key concepts and gain the confidence to teach the subject in the classroom.On this course, you will learn to describe the different types of computer networks and understand how data can be transmitted securely. You will cover real world usage of networking technology to enhance your understanding. You will also become more familiar with how the internet works, including routing, DNS, and the World Wide Web.This course is for computer science GCSE teachers (or equivalent), especially those specialising in computer networking and cyber security.

FutureLearn
3 weeks long, 2 hours a week
selfpaced
view all
Scratch to Python: Moving from Block- to Text-based Programming

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

0

Discover how you can transition learners from block to text-based programmingBlock-based programming languages like Scratch make it simple to learn and teach programming. But once 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.You’ll discover how to transfer the programming and thinking skills learnt while using Scratch to Python. You’ll look at how to help your learners develop basic text-based programming skills, understand error messages and debug code.The course will show you the power of text-based programming and give you the tools to support your students’ transition.This course is designed for teachers and volunteers who are supporting young learners (usually 7-14 year olds) transition from Scratch to Python programming. You should have experience programming in both Scratch and Python. If you need to learn to use Python, you can use our Programming 101: An Introduction to Python for Educators course.Scratch and Python

FutureLearn
4 weeks long, 2 hours a week
selfpaced
view all
Understanding Computer Systems

Understanding Computer Systems

0

Learn what really happens when you turn a computer onUnderstanding how a computer works after you press the power button is key to working with technology effectively. On this course, you will explore what happens inside the machine and learn how computers turn inputs into outputs.You will learn what the computer operating system does and why you need it. You will also compare software and hardware, understand the importance of the central processing unit (CPU), and address factors that affect computer performance.This course is for GCSE computing teachers as well as teachers from other countries at an equivalent level.

FutureLearn
3 weeks long, 2 hours a week
selfpaced
view all
Robotics With Raspberry Pi: Build and Program Your First Robot Buggy

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

0

Learn robotics by building a robot buggy and controlling it with a Raspberry PiOn this course from the Raspberry Pi Foundation, you’ll build a robot buggy controlled by a Raspberry Pi.You’ll start by learning how to connect motors to your Raspberry Pi, and how to write a Python program to control them to move your buggy. You’ll move on to adding sensors to your robot and writing algorithms that use the inputs from these sensors, giving your robot the ability to follow lines and avoid obstacles.You’ll examine the wider context of modern robotics, and think about how robotics affects society.This course is for people with little or no experience with physical computing, who want to create their first robot.Ideally you should have some basic familiarity with Python, for example from our Programming 101 course.It is particularly well-suited for teachers delivering lessons up to GCSE level or equivalent, who are looking for engaging programming activities for their classrooms.This course requires you to have the following:HardwareRaspberry Pi 3B, 3B+, or 4Motor controller boardTwo 3V–6V DC motorsTwo wheelsBall caster (unless using more than two wheels)An Ultrasonic Distance Sensor (UDS)Two resistors for splitting the voltage if the UDS is 5V (e.g. a 1200 and a 2200 Ohm resistor)Two line-following sensorsJumper leads (female-to-female and male-to-female) or wireAA battery holder (for four AA batteries)Four AA batteriesA USB powerbank (to power the Raspberry Pi)Soldering iron and solderWire strippersScissorsScrewdriverA small cardboard box for the chassis (can be plastic, wood, metal, etc.)Black tape and white paper or card (to make a track with a black line for the line-following robot)The hardware components and tools are listed in this document. This list includes suggested models, types and pictures of each component, although alternatives are also available.SoftwareThe latest version of the Raspbian operating systemAn IDE of your choiceAdditional extrasAdhesives (duct tape / electrical tape, putty, glue, etc.)Cable ties or velcro strapsGPIO reference card

FutureLearn
3 weeks long, 2 hours a week
selfpaced
view all
Prepare to Run a Code Club

Prepare to Run a Code Club

0

Prepare to run a fun and educational Code ClubCode 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 an in person 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.In response to the coronavirus pandemic, we have provided guidance on ways that you can run your Code Club during this time.This course is ideal for volunteers, parents, and educators who are keen to join the Code Club network to run a coding club for young people.Scratch 3, online or offline version.

FutureLearn
3 weeks long, 2 hours a week
selfpaced
view all
Introduction to Machine Learning and AI

Introduction to Machine Learning and AI

0

Build your knowledge and skills in machine learningFrom self-driving cars to determining someone’s age, artificial intelligence (AI) systems trained with machine learning (ML) are being used more and more. But what is AI, and what does machine learning actually involve?On this four-week course from the Raspberry Pi Foundation, you’ll learn about different types of machine learning, and use online tools to train your own AI models.You’ll delve into the problems that machine learning can help to solve, discuss how AI is changing the world, and think about the ethics of collecting data to train a machine learning model.Explore the different types of machine learningThe first week of this course will guide you through how you can use machine learning to label data, whether to work out if a comment is positive or negative or to identify the contents of an image.Then you’ll look at machine learning algorithms that create models to give a numerical output, such as predicting house prices based on information about the house and its surroundings.You’ll also explore other types of machine learning that are designed to discover connections and groupings in data that humans would likely miss, giving you a deeper understanding of how machine learning can be used.Use tools to develop and train your own AIDuring this course, you’ll also investigate the different ways that the machine learning actually takes place.You’ll compare supervised learning, which uses training data labelled with the desired outcome, to unsupervised learning, where the aim of the machine learning is to spot new connections.In the final week of the course, you’ll investigate neural networks; a type of machine learning inspired by the structure of the brain that is used by many state-of-the-art AI systems such as YOTI’s age determination algorithm.This course is designed for anyone looking to learn more about machine learning without having to understand the maths involved.To get the most out of this course, you should already have an understanding of what a computer algorithm is.Some of the practical tasks also require familiarity with the Scratch programming language.The practical tasks in this course require access to the Scratch, Machine Learning for Kids, and Teachable Machine websites.One of these tasks will also require the use of a webcam.

FutureLearn
4 weeks long, 2 hours a week
selfpaced
view all
Teaching Programming in Primary Schools

Teaching Programming in Primary Schools

0

Understand key programming concepts and apply them using Scratch.This free online course will provide a comprehensive introduction to programming, designed for non-subject-specialist primary or K-5 teachers.Over four weeks, we’ll introduce you to key programming concepts. You’ll have the chance to apply your understanding of them through projects, both unplugged and on a computer, using Scratch as the programming language. You’ll discover common mistakes and pitfalls, and develop strategies to fix them.Teaching Programming in Primary Schools is designed for non-subject-specialist primary or K-5 teachers. You do not need any prior experience of programming to take part.Learners need access to Scratch. Some aspects of the course use Scratch blocks that require the use of a keyboard.

FutureLearn
4 weeks long, 2 hours a week
past
view all
Getting Started with Your Raspberry Pi

Getting Started with Your Raspberry Pi

0

Start your Raspberry Pi journey with this introductory courseThe Raspberry Pi is an accessible and versatile mini-computer – let the Raspberry Pi Foundation guide you on how to get started on your journey of exploring its many uses and applications.On this course, you’ll learn how to get your Raspberry Pi ready to use, before exploring what you can do with it. You’ll see how you could use your Raspberry Pi for everyday tasks, to help you to learn to code, and to get started with physical computing.Ultimately, you’ll learn how to connect to your Raspberry Pi remotely, and how to take control of your Raspberry Pi as a systems administrator. You’ll also discover more resources to continue your Raspberry Pi journey.Supported by Micron Technology.This course is for beginners who want to learn how to use their new Raspberry Pi, and have no experience with Unix-based systems.You’ll need a Raspberry Pi (we recommend a Raspberry Pi 4), along with a keyboard, mouse, power supply, micro SD card, and a suitable cable for connecting your Raspberry Pi to your screen. All of these are included in the Raspberry Pi 4 Desktop Kit

FutureLearn
3 weeks long, 2 hours a week
selfpaced
view all
Programming 102: Think Like a Computer Scientist

Programming 102: Think Like a Computer Scientist

0

Find out what else you can do with PythonOn 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.This course would suit teachers with some Python experience, who are able to write simple programs demonstrating sequencing, selection, iteration and data types.To take part in this course you’ll need to download Python, or use an online IDE.

FutureLearn
4 weeks long, 2 hours a week
selfpaced
view all
Object-oriented Programming in Python: Create Your Own Adventure Game

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

4

A fun introduction to object-oriented programming in PythonObject-oriented programming is a programming paradigm based on objects and data rather than actions and logic.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 use what you learn to create your own text-based adventure game. You will have the chance to share your code with other learners, and see theirs.If you’re an educator, you’ll also be able to develop ideas for using object-oriented programming in your classroom.This course is designed for people who are already familiar with Python programming and want to learn a different programming paradigm, understand and use existing libraries more effectively, or create code which is useful to other people.It will be particularly useful for educators and students of a post-16 qualification.Python 3

FutureLearn
4 weeks long, 2 hours a week
selfpaced
view all
Start Programming with Python

Start Programming with Python

0

This three-part program explores a range of programming concepts – starting by asking “what is a program?”.Over the three courses you’ll not only learn how to create programs – by writing code that gives instructions, ‘makes decisions’ and ‘loops’ – but also to think more like a computer scientist by splitting your programs up into smaller, easier-to-understand parts.You’ll use everyday experiences to think about how data is structured and learn how to ‘debug’ your programs when they aren’t working properly.Overall, this is a rounded, friendly, and engaging introduction to programming.

FutureLearn
11 weeks long, 2 hours a week
view all
Impact of Technology: How To Lead Classroom Discussions

Impact of Technology: How To Lead Classroom Discussions

0

Discover how to keep discussions productive and meaningful in the classroomOn this course, teachers will explore the ethical, legal, cultural, and environmental concerns surrounding computer science. You will build the skills needed to hold relevant, open, and exciting discussions in the classroom.You will explore the best ways to help your students be productive and write long-form answers to questions. This course is useful CPD for teachers who are looking to improve their skills and put them to practice at school.This course is for teachers delivering GCSE computer science, or at an equivalent level.

FutureLearn
3 weeks long, 2 hours a week
selfpaced
view all
Load more

Level

Duration

Language