If you’re new to teaching programming or looking to build or refresh your programming knowledge, we have a free resource that is perfect for you. Our ‘Learn to program in Python’ online course pathway is for educators who want to develop their understanding of the text-based language Python. Each course is packed with information and activities to help you apply what you learn in your classroom teaching.
Why learn to program in Python?
Writing a program in Python is very similar to writing in English, which makes starting to program much easier. Python is also a general-purpose programming language, so once you’ve learned the basics, you can use Python for lots of different programming activities.
That’s why Python is a perfect choice for learning to program, and why many of our educational resources involve Python. Our seven online Python courses cover aspects from taking your first steps into programming, to writing a program to control an electronic circuit, to learning about object-oriented programming.
With time and practice, you will be able to use Python programming to create unique solutions to problems, build helpful tools, and make things that are important to you.
How does the Python course pathway work?
The courses in the pathway have been written by our educators and include advice and activities to help you teach programming in your classroom. You can reuse the course activities to explain programming concepts to your learners and get them to write programs themselves. Because you will have first-hand experience of the activities, you’ll be able to anticipate your learners’ difficulties and adapt your lessons to suit them.
All the courses are designed to take three or four weeks to complete, based on you spending two hours a week on participating. You can have free time-limited access to each course for the length of time it’s designed to take to complete. For example, if it’s a four-week course, like ‘Programming 101’, you can sign up for free to get four weeks of access.
The seven courses in the Python path can be completed in any order you like, and you can choose the courses that match your interests and needs.
Each course involves activities that help you create a programming project using the concepts that you’re learning about. These activities are designed to be a fun and interactive way to reinforce what you’ve learned and can also be used with your learners in the classroom.
Course spotlight: Programming 101
If programming is completely new to you, our ‘Programming 101’ course is the best place to start. In ‘Programming 101’, we use this definition of programming to start with the idea that programming is about you telling a computer what to do:
“Programming is how you get computers to solve problems.”
We see programming as a chance to think creatively about a problem and about all the different ways it could be solved. While you might be unfamiliar with terms like programming, algorithms, or selection, the ‘Programming 101’ course demonstrates how they touch on things that many of us know from other areas of our lives.
On the course, you will:
Learn about basic programming concepts such as sequencing and repetition
Start to write your own programs
Discover how to interpret error messages to find and fix mistakes in your programs
What will you make in the courses?
Through building an understanding of programming, you will see how you can write your own programs to make games, quizzes, physical computing projects, and more. Here’s look at some of the things you could make in three of the seven courses:
Programming 101: Write your first program in Python to make a personal assistant bot. You’ll discover how to make the output of your program respond to the user’s input.
Programming with GUIs: Build a game where players compare two sets of emoji to find the emoji that matches. To make this game, you’ll use what you learn in the course to design the layout of a graphic user interface (GUI) and make sure only one emoji appears twice.
Object-oriented Programming: Create a text-based adventure game with a character on a quest through different rooms! You’ll discover how to write a program that reacts to user input, and how to write your own code to create more challenges within the game based on your ideas.
If you want to help your learners develop their understanding of programming in Python, you’ll be interested in these free resources we’ve created for young people:
Introduction to Python: Our guided project path for learners who are new to text-based programming. We have created these projects with young people around the age of 9 to 13 in mind. Each project takes one hour to complete, and learners can make their own fun programs while learning about Python.
More Python: Our guided project path for learners who want to move beyond the ‘Intro to Python’ path to write programs that contain charts, artwork, and more. We’ve written these projects for young people around the age of 10 to 13.
Isaac Computer Science: This learning platform we’ve created for GCSE and A level students (age 14 to 18) uses Python and other text-based languages to teach the programming concepts within England’s computer science curriculum.
The summer months are an exciting time at the Foundation: you can feel the buzz of activity as we prepare for the start of a new school year in many parts of the world. Across our range of fantastic (and free) programmes, everyone works hard to create new and improved resources that help teachers and students worldwide.
We’ve asked some of our programme leads to tell you what’s new in their respective areas. We hope that you’ll come away with a good idea of the breadth and depth of teacher support that’s on offer. Is there something we aren’t doing yet that we should be? Tell us in the comments below.
Sway Grantham has been at the forefront of writing resources for our Teach Computing Curriculum over the last three years. The Curriculum is part of the wider National Centre for Computing Education (NCCE) and provides hundreds of free classroom resources for teachers, from Key Stage 1 to 4. Each resource includes lesson plans, slides, activity sheets, homework, and assessments. Since we published the Curriculum in 2020, all lessons have been reviewed and updated at least once. Managing the process of continuously improving these resources is a key part of Sway’s work.
Hi Sway, what updates have you been making to the Teach Computing Curriculum to help teachers this year?
We make changes to the Teach Computing Curriculum all the time! However, specific things we are excited about ahead of the new school year are updates to how our content is presented on the website so that it’s really easy to see which unit you should be teaching in each half term. We’ve also renamed some of the units to make it clearer what they cover. And to help Key Stage 3 teachers launch Computing in secondary school with skills that are foundational for progress through the requirements of the Key Stage 3 curriculum, we’ve updated the first Year 7 unit, now called Clear messaging in digital media.
You recently asked for teachers’ feedback as part of an annual impact survey. What did you find out?
We are still in the process of looking through the feedback in detail, but I can share some high-level insights. 96% of teachers who responded to the survey gave a score between 7 and 10 for recommending that other teachers use the Teach Computing Curriculum. Over 80% reported that the Teach Computing Curriculum has improved their confidence, subject knowledge, and the quality of their teaching ‘a little’ or ‘a lot’. Finally, over 90% of respondents said the Curriculum is effective at supporting teachers, developing teachers’ subject knowledge, and saving teachers’ time.
We are grateful to the 907 people who took part in the survey! You have all helped us to ensure the Curriculum has a positive impact on teachers and learners throughout England and beyond.
James, why is it so important for teachers to underpin their classroom practice with best-practice pedagogical approaches?
In order to teach any area of the curriculum effectively, educators need to understand both the content they are teaching and the most effective ways to deliver that content. Computing is a broad discipline made up of lots of inter-connected knowledge. Different areas of the subject benefit from different approaches, and this may vary depending on the experience of the learners and the context within which they are learning. Understanding which approaches are best suited to different content helps educators support learners effectively.
Computing education research related to school-aged learners is still in its early stages compared to other subjects, and new approaches and pedagogies are being developed, tested, and evaluated. Staying aware of these developments is important for educators and that’s why it’s something the Foundation is dedicated to supporting.
What do you have in store for teachers this year?
This year we continue to share best practice and hear from educators applying new ideas in their classroom through Hello World magazine and podcast. Educators should also keep a look out for our second Hello World special edition exploring the breadth and depth of Computing. To get hold of a copy of this later this year, make sure you’re subscribed to Hello World.
Allen, what has gone into the making of these new GCSE resources?
I think one of the biggest and most important things that’s been evident to me while working on this project is the care and thought that our content creators have put into each and every piece they worked on. To the end user it will simply be material on a web page, but sitting behind each page are countless discussions involving the whole team around how to present certain facts, concepts, or processes. Sometimes these discussions have even caused us to reevaluate our own thinking around how we deliver computer science content. We have debated the smallest things such as glossary terms, questioning every word to make sure we are as clear and concise as possible. Hopefully the care, expertise, and dedication of the team shines through in what really is a fantastic source of information for teachers and learners.
What do you have in store for teachers and learners this year?
With 96% of teachers and 88% of students reporting that the content is of high quality and easily accessible, we still need to continue to support them to ultimately enable learners to achieve their potential. Looking ahead, there is still lots of work to do to make sure Isaac offers the best possible user experience. And we plan to add a lot more questions to really bolster the numbers of questions at varying levels of difficulty for learners. This will have the added benefit of being useful for any teachers wanting to up-skill too! A massive strength of the platform is its questions, and we are really keen to give as wide a range of them as possible.
Tamasin Greenough Graham leads the team at Code Club, our global network of free, in-school coding clubs for young people aged 9 to 13. In Code Clubs, participants learn to code while having fun getting creative with their new skills. Clubs can be run by anyone who wants to help young people explore digital technologies — you don’t need coding experience at all. The Code Club team offers everything you need, including coding projects with easy-to-follow, step-by-step instructions, and lots of resources to help you support your club members. They are also on hand to answer your questions.
Tamasin, what kind of support can teachers expect when they decide to set up a Code Club?
Running a Code Club really is simple and a lot of fun! We have free training to suit everyone, including webinars that guide you through getting started, a self-study online course you can take to prepare for running your Code Club, and drop-in online Q&A sessions where you can chat about your questions to our friendly team or to other educators who run clubs.
Once you have registered your Code Club, you’ll get access to an online dashboard packed with useful resources: from guidance on preparing and delivering your first session, to certificates to celebrate your club members’ successes, and unplugged activities for learners to do away from the screen.
What experience do you need to run a Code Club?
You don’t need to have any coding experience to run a club, as we provide a giant range of fun coding projects and support materials that can be easily followed by educators and young people alike. You just need to support and encourage your young coders, and you can get in touch with the Code Club team if you need any help!
The project paths we offer provide a framework for young coders to develop their skills, whatever their starting point is. Each path starts with three Explore projects, where coders learn new coding concepts and skills. The next two Design projects in the path help them practise these skills through creating fun games, animations, or websites. The final Invent project of the path gives a design brief, and based on this learners have the space to use their new skills and their creativity to code something based on their own ideas.
Our project paths start with the basics of Scratch, and work through to creating websites in HTML and CSS, and to text-based coding in Python. For more advanced or adventurous coders, we also offer project paths to make physical projects with Raspberry Pi Pico, create 3D models in Blender, or even build 3D worlds in Unity.
Why is it important to teach coding to primary-aged children?
Lots of primary-aged children use digital technology every day, whether that be a TV, a phone, playing video games, or a computer at school. But they don’t have to be just consumers of technology. Through learning to code, young people become able to create their own technology, and our projects are designed to help them see how these new skills allow them to express themselves and solve problems that matter to them.
What young people do with their new skills is up to them – that’s the exciting part! Computing skills open paths to a wide range of projects and work where digital skills are helpful. And while learning coding is fun and useful, it also helps learners develop a many other important skills to do with problem solving, teamwork, and creativity.
Martin O’Hanlon heads the team that produces our free online courses programme. If you’re looking for continued professional development in computer science, look no further than to our more than 35 courses. (For teachers in England, a large number of the courses count towards the NCCE’s Primary, Secondary, or GCSE certificates.) Curated in 13 curated learning pathways, all of our courses provide high-quality training that you can take at home, at a time that suits you.
Martin, what can learners expect from taking one of our online courses?
Our online computing courses are free and have something for everyone who is interested in computing. We offer pathways for learning to program in Python or Scratch, teaching computing in the classroom, getting started with physical computing, and many more.
We vary the materials and formats used in our courses, including videos, written articles, quizzes, and discussions to help learners get the most out of the experience. You will find a lot of practical activities and opportunities to practice what you learn. There are loads of opportunities to interact with and learn from others who are doing the course at the same time as you. And educators from the Raspberry Pi Foundation join the courses during facilitation periods to give their advice, support, and encouragement.
What is the idea behind the course pathways?
We have a large catalogue of online training courses, and the pathways give learners a starting point. They group the courses into useful collections, offering a recommended path for everyone, whether that’s people who are brand-new to computing or who have identified a gap in their existing computing skills or knowledge.
Our aim is that these pathways help people find the right course at the right point in their computing journey.
Thanks, everyone.
One more thing…
We’re also very excited to work on new research projects this school year, to help deepen the computing education community’s understanding of how to teach the subject in schools. Are you a primary teacher in England who is interested in making computing culturally relevant for your pupils?
We’re currently looking for teachers to take part in our research project around primary school culturally adapted resources, running from October 2022 to July 2023. Find out more about what taking part involves.
We have learned a lot from experience and from learner feedback, and we want to share this knowledge with others. We’re also aware there’s always more to learn from people across the computing education community. That’s one reason we’re continually working to broaden the range of educators we work with. Another is that we want all learners to see themselves represented in our educational materials, because everyone belongs in computer science.
To make progress with all these goals, we ran a pilot programme for educators called Teach Online at the end of 2021 and the start of 2022. Through Teach Online, we provided twelve educators with training, opportunities, and financial and material support to help them with creating online educational content, particularly videos.
Over five online sessions and a final in-person day, we trained them in not only the production of educational videos, but also some of the pedagogy behind it. The pilot programme has now finished, and we thought we’d share some of the key points from the sessions with you in the wider community.
Learning to create a great online learning experience
When you learn new skills and knowledge, it’s important to think about how you apply these. For this reason, a useful question you can use throughout the learning process is “Why?”. So as you think about how to create the best online learning experience, ask yourself in different contexts throughout the content design and production:
Why am I using this style of video to illustrate this topic?
Why am I presenting these ideas in this order?
Why am I using this choice of words?
For example, it’s easy to default to creating ‘talking head’ videos featuring one person talking directly to the camera. But you should always ask why — what are the reasons for using a ‘talking head’ style. Instead, or in addition, you can make videos more engaging and support the learning experience by:
Turning the video into an interview
Adding other camera angles or screencasts to focus on demonstrations
Cutting away to B-roll footage (additional video that can provide context or related action, while the voiceover continues) or to still images that help connect a concept to concrete examples
Planning is key
By planning your content carefully instead of jumping into production right away, you can:
Better visualise what your video should look like by creating a storyboard
Keep learners engaged by deliberately splitting learning up into smaller chunks while still keeping a narrative flow between them
Develop your learners’ understanding of key computing concepts by using semantic waves to unpack and repack concepts
The Teach Online participants told us that they particularly enjoyed learning more about planning videos:
“I now understand that a little planning can make the difference between a mediocre online learning experience and a professional-looking valuable learning experience.” – Educator who participated in our Teach Online programme
“Planning the session using a storyboard is so helpful to visualise the actual recording.” – Educator who participated in our Teach Online programme
Considering equity, diversity, and inclusion
We are committed to making computing and computer science accessible and engaging, so we embed measures to improve equity, diversity, and inclusion throughout our free learning and teaching resources, including the Teach Online programme. It’s important not to leave this aspect of creating educational content as an afterthought: you can only make sure that your content is truly as equitable and inclusive as you can make it if you address this at every stage of your process. As an added bonus, many ways of making your content more accessible not only benefit learners with specific needs, but support and engage all of your audience so everyone can learn more easily.
Best practices that you can use while creating online content include:
While modelling coding, explicitly leaving in moments where you make mistakes and need to fix them, to show that this is normal
Connecting with your learner audience
One of video’s key advantages is the ability to immediately connect with the audience. To help with that, you can try to talk directly to a single viewer, using “you” and “I” rather than “we”. You can also show off your personality in the presentation slides you use and the backgrounds of your videos.
“[I will use my learning from the programme] by adapting teaching and learning to actively engage learners.” – Educator who participated in our Teach Online programme
It’s important to find your own personal presenting style. There is not one perfect way to present, and you should experiment to find how you are best able to communicate with your viewers. How formal or informal will you be? Is your delivery calm or energetic? Whatever you decide, you may want to edit your script to better fit your style. A practical tip for doing this is to read your video scripts aloud while you are writing them to spot any language that feels awkward to you when spoken.
“It was really great to try the presenting skills, and I learned a lot about my style.” – Educator who participated in our Teach Online programme
Connecting with each other
Throughout the Teach Online programme, we helped participants create a community with each other. Finding your own community can give you the support that you need to create, and help you continue to develop your knowledge and skills. Working together is great, whether that’s collaborating in-person locally, or online via for example the CAS forums or social media.
“I very much liked the diverse group of educators in this programme, and appreciated everyone sharing their experiences and tips.” – Educator who participated in our Teach Online programme
The Teach Online graduate have told us about the positive impact the programme has had on their teaching in their own contexts. So far we’ve worked with graduates to create Isaac Computer Science videos covering data structures, high- and low-level languages, and string handling.
What do you want to know about creating online educational content?
There is a growing need for online educational content, particularly videos — not only to improve access to education, but also to support in-person teaching. By investing in training educators, we help diversify the pool of people working in this area, improve the confidence of those who would like to start, and provide them with the skills and knowledge to successfully create great content for their learners.
In the future we’d also like to support the wider community of educators with creating online educational content. What resources would you find useful? Share your thoughts in the comments section below.
Are you curious about coding and computer programming but don’t know how to begin? Do you want to help your children at home, or learners in your school, with their digital skills, but you’re not very confident yet? Then our new, free, and on-demand online course Introduction to Programming with Scratch course is a fun, creative, and colourful starting point for you.
On this on-demand course, Mark and Vasu from our team will help you take your very first steps on your programming journey.
You can code — we’ll show you how
On the course, you’ll use the programming language Scratch, a beginner-friendly, visual programming language particularly suitable for creating animations and games. All you need is our course and a computer or tablet with a web browser and internet connection that can access the online Scratch editor.
You can code in Scratch without having to memorise and type in commands. Instead, by snapping blocks together, you’ll take control of ‘sprites’, which are characters and objects on the screen that you can move around with the code you create.
As well as learning what you can do with Scratch, you’ll be learning basic programming concepts that are the same for all programming languages. You’ll see how the order of commands is important (sequencing), you’ll make the computer repeat actions (repetition), and you’ll write programs that do different things in different circumstances, for example responding to your user’s actions (selection). Later on, you’ll also make your own reusable code blocks (abstraction).
You can create your own programs and share them
Throughout the course you’ll learn to make your own programs step by step. In the final week, Mark and Vasu will show you how you can create musical projects and interact with your program using a webcam.
Vasu and Mark will encourage you to share your programs and join the Scratch online community. You will discover how you can explore other people’s Scratch programs for inspiration and support, and how to build on the code they’ve created.
Sign up for the course now!
The course starts for the first time on Monday 14 February, but it is available on demand, so you can join it at any time. You’ll get four weeks’ access to the course no matter when you sign up.
For the first four weeks that the course is available, and every three months after that, people from our team will join in to support you and help answer your questions in the comments sections.
You can find more free resources here! These are the newest Scratch pathways on our project site, which you can also share with the young people in your life:
Join our free online course Introduction to Machine Learning and AI to discover the fundamentals of machine learning and learn to train your own machine learning models using free online tools.
Although artificial intelligence (AI) was once the province of science fiction, these days you’re very likely to hear the term in relation to new technologies, whether that’s facial recognition, medical diagnostic tools, or self-driving cars, which use AI systems to make decisions or predictions.
By the end of this free online course, you will have an appreciation for what goes into machine learning and artificial intelligence systems — and why you should think carefully about what comes out.
Machine learning — a brief overview
You’ll also often hear about AI systems that use machine learning (ML). Very simply, we can say that programs created using ML are ‘trained’ on large collections of data to ‘learn’ to produce more accurate outputs over time. One rather funny application you might have heard of is the ‘muffin or chihuahua?’ image recognition task.
More precisely, we would say that a ML algorithm builds a model, based on large collections of data (the training data), without being explicitly programmed to do so. The model is ‘finished’ when it makes predictions or decisions with an acceptable level of accuracy. (For example, it rarely mistakes a muffin for a chihuahua in a photo.) It is then considered to be able to make predictions or decisions using new data in the real world.
It’s important to understand AI and ML — especially for educators
But how does all this actually work? If you don’t know, it’s hard to judge what the impacts of these technologies might be, and how we can be sure they benefit everyone — an important discussion that needs to involve people from across all of society. Not knowing can also be a barrier to using AI, whether that’s for a hobby, as part of your job, or to help your community solve a problem.
To help you understand the fundamentals of AI and ML, we’ve put together a free online course: Introduction to Machine Learning and AI. Over four weeks in two hours per week, you’ll learn how machine learning can be used to solve problems, without going too deeply into the mathematical details. You’ll also get to grips with the different ways that machines ‘learn’, and you will try out online tools such as Machine Learning for Kids and Teachable Machine to design and train your own machine learning programs.
What types of problems and tasks are AI systems used for?
As well as finding out how these AI systems work, you’ll look at the different types of tasks that they can help us address. One of these is classification — working out which group (or groups) something fits in, such as distinguishing between positive and negative product reviews, identifying an animal (or a muffin) in an image, or spotting potential medical problems in patient data.
You’ll also learn about other types of tasks ML programs are used for, such as regression (predicting a numerical value from a continuous range) and knowledge organisation (spotting links between different pieces of data or clusters of similar data). Towards the end of the course you’ll dive into one of the hottest topics in AI today: neural networks, which are ML models whose design is inspired by networks of brain cells (neurons).
Before an ML program can be trained, you need to collect data to train it with. During the course you’ll see how tools from statistics and data science are important for ML — but also how ethical issues can arise both when data is collected and when the outputs of an ML program are used.
By the end of the course, you will have an appreciation for what goes into machine learning and artificial intelligence systems — and why you should think carefully about what comes out.
Sign up to the course today, for free
The Introduction to Machine Learning and AI course is open for you to sign up to now. Sign-ups will pause after 12 December. Once you sign up, you’ll have access for six weeks. During this time you’ll be able to interact with your fellow learners, and before 25 October, you’ll also benefit from the support of our expert facilitators. So what are you waiting for?
As part of our research on computing education, we would like to find out about educators’ views on machine learning. Before you start the course, we will ask you to complete a short survey. As a thank you for helping us with our research, you will be offered the chance to take part in a prize draw for a £50 book token!
Learn more about AI, its impacts, and teaching learners about them
To develop your computing knowledge and skills, you might also want to:
If you are a teacher in England, you can develop your teaching skills through the National Centre for Computing Education, which will give you free upgrades for our courses (including Introduction to Machine Learning and AI) so you’ll receive certificates and unlimited access.
Since 2017 we’ve been training Computing educators in England and around the world through our suite of free online courses on FutureLearn. Thanks to support from Google and the National Centre for Computing Education (NCCE), all of these courses are free for anyone to take, whether you are a teacher or not!
We’re excited that Computer Science educators at all stages in their computing journey have embraced our courses — from teachers just moving into the field to experienced educators looking for a refresher so that they can better support their colleagues.
Hear from two teachers about their experience of training with our courses and how they are benefitting!
Moving from Languages to IT to Computing
Rebecca Connell started out as a Modern Foreign Languages teacher, but now she is Head of Computing at The Cowplain School, a 11–16 secondary school in Hampshire.
Although she had plenty of experience with Microsoft Office and was happy teaching IT, at first she was daunted by the technical nature of Computing:
“The biggest challenge for me has been the move away from an IT to a Computing curriculum. To say this has been a steep learning curve is an understatement!”
However, Rebecca has worked with our courses to improve her coding knowledge, especially in Python:
“Initially, I undertook some one-day programming courses in Python. Recently, I have found the Raspberry Pi courses to be really useful in building confidence and taking my skills further. So far, I have completed Programming 101 — great for revision and teaching ideas — and am now into Programming 102.”
GCSE Computing is more than just programming, and our courses are helping Rebecca develop the rest of her Computing knowledge too:
“I am now taking some online Raspberry Pi courses on computer systems and networks to firm up my knowledge — my greatest fear is saying something that’s not strictly accurate! These courses have some good ideas to help explain complex concepts to students.”
“I really like the new resources and supporting materials from Raspberry Pi — these have really helped me to look again at our curriculum. They are easy to follow and include everything you need to take students forward, including lesson plans.”
And Rebecca’s not the only one in her department who is benefitting from our courses and resources:
“Our department is supported by an excellent PE teacher who delivers lessons in Years 7, 8, and 9. She has enjoyed completing some of the Raspberry Pi courses to help her to deliver the new curriculum and is also enjoying her learning journey.”
Refreshing and sharing your knowledge
Julie Price, a CAS Master Teacher and NCCE Computer Science Champion, has been “engaging with the NCCE’s Computer Science Accelerator programme, [to] be in a better position to appreciate and help to resolve any issues raised by fellow participants.”
“I have encountered new learning for myself and also expressions of very familiar content which I have found to be seriously impressive and, in some cases, just amazing. I must say that I am becoming addicted to the Raspberry Pi Foundation’s online courses!”
She’s been appreciating the open nature of the courses, as we make all of the materials free to use under the Open Government Licence:
“Already I have made very good use of a wide range of the videos, animations, images, and ideas from the Foundation’s courses.”
With 29 courses to choose from (and more on the way!), from Introduction to Web Development to Robotics with Raspberry Pi, we have something for everyone — whether you’re a complete beginner or an experienced computer science teacher. All of our courses are free to take, so find one that inspires you, and let us support you on your computing journey, along with Google and the NCCE.
By continuing to use the site, you agree to the use of cookies. more information
The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.