Coding for kids: Art, games, and animations with our new beginners’ Python path
Python is a programming language that’s popular with learners and educators in clubs and schools. It also is widely used by professional programmers, particularly in the data science field. Many educators and young people like how similar the Python syntax is to the English language.
That’s why Python is often the first text-based language that young people learn to program in. The familiar syntax can lower the barrier to taking the first steps away from a block-based programming environment, such as Scratch.
In 2021, Python ranked in first place in an industry-standard popularity index of a major software quality assessment company, confirming its favoured position in software engineering. Python is, for example, championed by Google and used in many of its applications.
Coding for kids in Python
Python’s popularity means there are many excellent resources for learning this language. These resources often focus on creating programs that produce text outputs. We wanted to do something different.
Our new ‘Introduction to Python’ project path focuses on creating digital visuals using the Python p5
library. This library is like a set of tools that allows you to get creative by using Python code to draw shapes, edit images, and create frame-by-frame animations. That makes it the perfect choice for young learners: they can develop their knowledge and skills in Python programming while creating cool visuals that they’ll be proud of.
What is in the ‘Introduction to Python’ path?
The ‘Introduction to Python’ project path is a set of written coding instructions, designed according to our Digital Making Framework.
Through the Framework, we encourage learners to become independent coders and digital makers by gently removing scaffolding as they progress along the projects in a path. Paths begin with three Explore projects, in which learners are guided through tasks that introduce them to new coding skills. Next, learners complete two Design projects. Here, they are encouraged to practise their skills and bring in their own interests to personalise their coding creations. Finally, learners complete one Invent project. This is where they put everything that they have learned together and create something unique that matters to them.
The structure of our Digital Making Framework means that learners experience the structured development process of a coding project and learn how to turn their ideas into reality. The Framework also supports with finding errors in their code (debugging), showing them that errors are a part of computer programming and just temporary setbacks that you can overcome.
What coding skills and knowledge will young people learn?
The Explore projects are where the initial learning takes place. The key programming concepts covered in this path are:
- Variables
- Performing calculations with variables
- Using functions
- Using selection (if, elif and else)
- Using repetition (for loops)
- Using randomisation
- Importing from libraries
Learners also explore aspects of digital visual media concepts:
- Coordinates
- RGB colours
- Screen size
- Layers
- Frames and animation
Learners then develop these skills and knowledge by putting them into practice in the Design and Invent projects, where they add in their own ideas and creativity.
Explore project 1: Hello world emoji
In the first Explore project of this path, learners create an interactive program that uses emoji characters as the visual element.
This is the first step into Python and gets learners used to the syntax for printing text, using variables, and defining functions.
Explore project 2: Target practice
In this Explore project, learners create an archery game. They are introduced to the p5
library, which they use to draw an archery board and create the arrows.
The new programming concept covered in this project is selection, where learners use if, elif and else
to allocate points for the game.
Explore project 3: Rocket launch
The final Explore project gets learners to animate a rocket launching into space. They create an interactive animation where the user is asked to enter an amount of fuel for the rocket launch. The animation then shows if the fuel is enough to get the rocket into orbit.
The new programming concept covered here is repetition. Learners use for
loops to animate smoke coming from the exhaust of the rocket.
Design project 1: Make a face
The first Design project allows learners to unleash their creativity by drawing a face using the Python coding skills that they have built in the Explore projects. They have full control of the design for their face and can explore three examples for inspiration.
Learners are also encouraged to share their drawings in the community library, where there are lots of fun projects to discover already. In this project, learners apply all of the coding skills and knowledge covered in the Explore projects, including selection, repetition, and variables.
Design project 2: Don’t collide!
In the second Design project, learners code a scrolling game called ‘Don’t collide’, where a character or vehicle moves down the screen while having to avoid obstacles.
Learners can choose their own theme for the game, and decide what will move down the screen and what the obstacles will look like. In this project, they also get to practice everything they learned in the Explore projects.
Invent project: Powerful patterns
This project is the ultimate chance for learners to put all of their skills and knowledge into practice and get creative. They design their own unique patterns and create frame-by-frame animations.
The Invent project offers ingredients, which are short reminders of all the key skills that learners have gained while completing the previous projects in the path. The ingredients encourage them to be independent whilst also supporting them with code snippets to help them along.
Key questions answered
Who is the ‘Introduction to Python’ path for?
We have written the projects in the path with young people around the age of 9 to 13 in mind. To code in a text-based language, a young person needs to be familiar with using a keyboard, due to the typing involved. A learner may have completed one of our Scratch paths prior to this one, but this isn’t essential. and we encourage beginner coders to take this path first if that is their choice.
What software do learners need to code these projects?
A web browser. In every project, starter code is provided in a free web-based development environment called Trinket, where learners add their own code. The starter Trinkets include everything that learners need to use Python and access the p5 library.
If preferred, the projects also include instructions for using a desktop-based programming environment, such as Thonny.
How long will the path take to complete?
We’ve designed the path to be completed in around six one-hour sessions, with one hour per project. However, the project instructions encourage learners to upgrade their projects and go further if they wish. This means that young people might want to spend a little more time getting their projects exactly as they imagine them.
Can a young person save their progress through the path?
Yes, if you or your young person sign up for an account, progress will be saved. The account will also show what other projects on our website the young person has completed.
What can young people do next after completing this path?
Taking part in Coolest Projects Global
At the end of the path, learners are encouraged to register a project they’re making with their new coding skills for Coolest Projects Global, our world-leading online technology showcase for young people.
Taking part is free, all online, and beginners as well as more experienced young tech creators are welcome and invited. This is their unique opportunity to share their ingenuity in an online gallery for the world and the Coolest Projects community to celebrate.
Coding more Python projects with us
The ideal next place to go for young people who want to do more coding is our ‘More Python’ path. In this path, kids move beyond the basics they learned in ‘Introduction to Python’. They learn how to use lists, dictionaries, and files to create charts, models, and artwork. And keep your eye on our blog and social media to find out when we release the ‘Further Python’ path for young coders.
9 comments
Mekail
Great work! Thanks for sharing, you made some excellent points. We understand the importance of coding more than ever before. It’s a great opportunity for the young Kids.
My son will certainly take advantage of this kind of program, as he is very interested in programming.
Oliver R.
Wow, with such a father who supports his kids from a very young age their lives are gonna be successfull.
I wished, I had a father like you :-). Any kid should have the chance to learn. And be supported.
Alastair Stevens
This is great: I’ve recently started a coding club at my son’s primary school (for Y5/Y6) and we are focusing on Scratch for now, but some of them are already looking like they need a next-step challenge. So I’m hoping to get some of them started on this, perhaps next term, and really move it forwards!
Raspberry Pi Staff Janina Ander
That’s great to hear, Alastair! I hope this Python path and the one we’re publishing soon will be helpful for your coding club. An amazing way to get them to write their first Python program is Mission Zero in the European Astro Pi Challenge, where participants write code that runs on the International Space Station!
And in case you haven’t seen these already, we’ve got four Scratch paths for the learners in your club that want to take advantage of everything Scratch has to offer:
‘Introduction to Scratch: sprites, scripts, and loops‘ is for beginners.
‘More Scratch: broadcast, decisions, and variables‘ will help learners build more complex programs.
‘Further Scratch: clones, my blocks, and boolean logic‘ allows learners to develop their coding skills even more in Scratch by making a range of advanced programs including simulations, games, and computer-generated art.
And with a Raspberry Pi computer and a few electrical components, learners can start to create projects that interact with the physical world, using our ‘Physical computing with Scratch and Raspberry Pi‘ path.
Happy coding!
ISMAIL KHAN
I want to learn the coding system
ABODUNRIN Deborah Odunayo
This is a great opportunity provided on this platform. My daughter will be glad to have this having participated in scratch training earlier.
Orkmork
Clicking on “Get started with ‘Introduction to Python’” doesn’t do anything :(
Raspberry Pi Staff Janina Ander
Whoops! Thank you, we’ve fixed that now.
Colin
Fabulous resources that help me with my code club and coderdojo. So much fun to be had.. thanks