How to: Planning & Technology
Let's get planning!
Planning is important for making sure that your Code Club runs smoothly and that the club members enjoy it. We'll help you get everything in place in advance, so that once the sessions begin, you can be off to a great start.
Here are the key things to think about in advance
We provide over 250 free coding projects , which are self-guided lessons for children aged 8-15 to learn key coding concepts and create animations, games, websites, and much more.
All our projects:
- Introduce key coding concepts.
- Encourage challenge-based learning.
- Enable learners to build up programming skills as they progress through each project guide.
- Are unique, each one helping learners to create something different and original.
- Are gender-neutral and browser-based.
- Are matched to the Australian Digital Technologies curriculum.
- Use programming languages suitable for kids aged 8-15 years.
You can access our projects online or in a downloadable PDF format.
You also have free access to:
- A range of resources to help you plan and run your club. Check out the downloads in the Helpful Resources section of your Dashboard.
- Free teacher, librarian and volunteer online training . Whether you're new to coding or an experienced "techie" teacher, let us help you get started.
- An annual record-breaking event called Moonhack to inspire young people to code.
- A community of teachers, volunteers and libraries that run coding clubs. Join our Facebook group here .
- A regular newsletter, blog , Facebook and Twitter presence to share club stories, new projects and news (look for @CodeClubAus on social).
Code Clubs come in all shapes and sizes. A typical Code Club is:
- Run at a school or library.
- Led by a teacher, librarian, or volunteer and may also be supported by other volunteers.
- Has around 15 kids that participate.
- Runs weekly – typically for at least for a school term (10-12 weeks).
- 45-mins to 1 hour sessions.
Venue
The club venue should be a safe and fun place where young people are able to take part in your activity. Code Club works brilliantly in schools and libraries. Ideally, it will be a digital technology room with computers and is conducive to learning e.g. quiet, well-lit, and spacious enough.
Timing
Code Club sessions typically run for 45mins to one-hour as Code Club projects are designed to take that long to complete. Code Club sessions can be run in class time as part of the curriculum, at lunchtime or out of school time.
The young people that will attend
We recommend that your attendees should be between 8 and 13 years for Code Clubs, because the projects we provide are aimed at this age group.
In most cases, the young people will need permission to take part in the activity you are running. The best person to arrange this is the venue host, as there may already be a system for permissions in place at the venue, especially if it is a school. Check out the downloads in the Helpful Resources section of your Dashboard for a template permission letter.
You’ll need some desktop computers or laptops for your club. One computer per attendee is ideal but pairing young people up can work well too.
You can complete most of the Code Club projects using just a computer with a web browser, so it is super easy to get started.
Computers
- Laptops/desktop PCs: Most Code Clubs start with Scratch. To use Scratch, you will need laptop or desktop computers (Windows/Mac/Linux operating systems are all fine).
- Chromebooks: Chromebooks work well for clubs too — but you’ll need to use Scratch online, so make sure you have an internet connection.
- Raspberry Pi computers: If you don’t have laptop or desktop computers, you could also run a Code Club with just Raspberry Pi computers and accessories — you can complete all the regular projects using such a setup.
Headphones & speakers
- Not essential, but some Code Club projects use sound, so if you want to complete these projects you will need them.
- Speakers are often built into laptop and desktop computers, but it may get noisy if all your club members are working on projects with sound at the same time.
- Headphones can be useful to allow them to focus on their own projects and not be distracted by sounds coming from other computers.
Tablets
- The latest version of Scratch, which is called Scratch 3, was released at the beginning of January 2019. This version is suitable for use on tablet devices however we recommend that the students use a keyboard and mouse.
The key thing to remember is that the Code Club resources are flexible, so you can use the hardware that you already have to hand to set up your sessions in a way that suits your club.
Our focus is always on free and browser-based content to make it as easy as possible to get started, and we provide free projects with which the young people use to learn Scratch, Python, HTML/CSS, and Sonic Pi.
Most clubs start with the graphical language Scratch. However, if you’re familiar with coding and have an advanced club, you might want to jump straight into text-based programming.
Scratch
Scratch is a graphical programming language developed by the Lifelong Kindergarten group at the Massachusetts Institute of Technology. Users drag and combine code blocks to make a range of programs, including animations, stories, musical instruments, and games. You can use Scratch online and offline, so you can choose which one suits you, your learners, and your hardware best. Head over to scratch.mit.edu for access or here for a guide to getting started with Scratch .
Tips:
- You don’t need an account to use Scratch online, but if you want to give the children the chance to save their work in order to access it again from any internet-enabled computer, they will need accounts.
- Having a Scratch account also gives users the option to share Scratch creations publicly, and to comment on other people’s creations. Make sure the children in your club understand how to use these options responsibly
- If you are going to use Scratch online, we recommend that you set up access for your learners using an educator account . This will help with password management as well as other benefits.
- Remember to get appropriate permissions from parents or guardians when you are creating accounts and make them aware that their child will be able to access their Scratch account outside the club.
- Offline: You can download Scratch to a laptop or desktop computer from the Scratch website. Once it is downloaded and installed, you won’t need an internet connection to use it, and the children will be able to save their work locally.
Python
Python is a widely used, general-purpose, text-based programming language. Python is often the first text-based language people learn because it’s very readable and you can get things done with fewer lines of code than in many other languages. Python has support for graphics and other modules that make coding fun and colourful.
Python is used for real projects in industry, so it’s a useful language to learn. Code Club projects make use of the latest version, Python 3.
Python also covers our Raspberry Pi and Sense HAT emulator lessons. All of our hardware lessons use an online emulator.
HTML/CSS
HyperText Markup Language (HTML) is a language for describing and structuring web pages. HTML documents can include text, images, sound, and video, using tags to organise the content.
Cascading Style Sheets (CSS) is a language used to format and style HTML documents.
How to code with Python and HTML/CSS — TRINKET
If you want to start using Python and HTML in your club, we recommend you use Trinket . Trinket is a web app that allows you to write and run code in a web browser without installing any additional software.
Trinket can be used without an account, although it’s important to understand that Trinket creates public webpages, and projects that can be viewed by anyone with a link. Trinket accounts make it easier to keep track of projects and to make updates. Please note that parental permission is required for Trinket accounts for children under 13 years of age. Active clubs can download template permission letters from the Code Club website to give to parents.
Our Raspberry Pi and Sense HAT projects also use Trinket, which means the kids can code hardware without having to buy anything!
A great way to structure a class is around one of our coding projects. Each project will take around 45 mins to 1 hour to complete and contains everything you need for the class. A good idea is to start with the first in a series and build upon this in subsequent lessons in the order they presented. But it’s entirely up to you.
Here are a few thoughts about the different ways that you could organise your sessions around the Code Club projects:
- One project each week, everyone does the same.
- The young people choose what they do. This is an interesting way to work if your club members and leaders are already quite confident coders.
- The young people choose from a preselected set.
- Try Code Club World a new gamified online approach to learning code.
In-person clubs
There is no one teaching style for a club, but here are the most popular approaches:
- Getting the kids to work in pairs, one managing the instruction, one doing the coding.
- Kids working independently to complete the task.
- Live coding the class together.
Virtual clubs
In recent times, many of our clubs have moved to a virtual delivery. Here are some things to consider:
The different ways you can run your session
Some clubs live-code their online sessions, put the kids into breakout rooms to work together, or work independently and share collaboratively. The key thing to remember is that running a class online is different from in-person. Our top tips are:
- Go slowly. Slower than you would in person.
- Keep the classes small (20 kids max)
- If you're live coding, use two screens so you can always see the young people, your coding environment and the coding project.
Safety tips
- You should never be the only adult present.
- If kids are at home, suggest a virtual background.
- Do not make it compulsory for young people to share their video.
- Disable chat between participants. They should only be able to chat with the whole group.
The tools you will use
Tips for using Zoom, the most popular platform for virtual delivery:
- Turn off the ability to annotate on the screen.
- Use the highlighter to draw attention to your cursor.
- Make sure you know how to mute participants if they forget.
Tips teaching Scratch online:
- Sign into Scratch and share the link from your account. That way if a student accidentally deletes their code they can refresh their browser and they will be brought up to where you are.
Tips for teaching Python online:
- With a beginner Python group, typing speed and accuracy are going to be the hardest part, and monitoring that online is tricky.
- Really emphasize grammar and punctuation. Sometimes they won't know where the : is, so point it out, name it.
- Consider how you can solve problems when they have errors. If the school or library allows, you could get the kids to share the screen. It's almost always that they have the wrong punctuation!
- General coding teaching tip that is very relevant to Python: ask questions in response to their questions. You won't be able to see their screen right away, so that's the easiest way to get them to rethink what they've written.
Check out the downloads in the Helpful Resources section of your Dashboard for additional resources for running a virtual club.
Unplugged and offline coding
Although learning coding with computers is extremely beneficial, sometimes you might like to take a break from the screens. Learning principles of coding is vital to a student becoming a computational thinker, which can all be done unplugged! We've got four great blogs on how unplugged and offline learning can support computational thinking:
We provide over 250 free coding projects , which are self-guided lessons for children aged 8-13 to learn key coding concepts and create animations, games, websites, and much more.
Our coding projects can be sorted by coding language or topic with different themes like science, art and the environment so you can integrate this into any classroom or cater to any skill level. Most clubs start with the graphical language Scratch. However, if you’re familiar with coding and have an advanced club, you might want to jump straight into a text-based programming language like Python or HTML.
If you're still having trouble deciding where to start, why not try our new learning paths ? Each learning path is a series of six coding projects that are designed to scaffold learners' success in the early stages, and then lets them build upon this learning by providing them more open-ended tasks.
Each path is made up of three different types of projects in a 3-2-1 structure.
- The first three Explore projects introduce learners to a set of skills and knowledge, and provide step-by-step instructions to help learners develop initial confidence. Throughout these projects, learners have lots of opportunity to personalise and tinker with what they’re creating.
- The next two Design projects are opportunities for learners to practise the skills they learned in the previous Explore projects, and to express themselves creatively. Learners are guided through creating their own version of a type of project (such as a musical instrument, an interactive pet, or a website to support a local event), and they are given code examples to choose, combine, and customise. No new skills are introduced in these projects, so that learners can focus on practising and on designing and creating a project based on their own preferences and interests.
- In the final one, Invent project, learners focus on completing a project to meet a project brief for a particular audience. The project brief is written so that they can meet it using the skills they’ve learned by following the path up to this point. Learners are provided with reference material, but are free to decide which skills to use. They need to plan their project and decide on the order to carry out tasks.
As a result of working through a path, learners are empowered to make their own ideas and create solutions to situations they or their communities face, with increased independence. And in order to develop more skills, learners can work through more paths, giving them even more choice about what they create in the future.
Our first learning path is 'Introduction to Scratch '. This is an introduction to coding in Scratch for beginners. By completing this path your young learners will add code, costumes, and sounds to sprites as they make animations, a game, an app, and a book. We've also got a collection of additional projects at each skill level so your young learners can dive in further before moving to the next skill level.
More advanced learning paths to come!
Step 1 - Try the coding project you've selected for the class out for yourself.
Step 2 - Get the technology and software ready, and check internet access. You might like to get the coding environment (e.g. Scratch or Trinket) and the starter project set up on each computer ahead of the class.
It's that easy.
We have designed some easy to use Project Skills Maps to match with our Project Collections . These skills maps clearly show the skills covered in each project in a project collection to demonstrate a building of skill over time. These skills maps can also be used to help select a project. Do you have a coder that wants to learn how to use data structures in Python ? These skills maps will show each project that covers this skill.
We have 2 skills maps released to work with our Scratch and Python project collections. As more collections are released you will see more skills maps released as well.
When selecting projects there are two different types.
Block coding is when coders use blocks that link together to create code. Scratch and Micro:Bit are two that we feature in our projects. Block based coding is used in the Australian curriculum up to and including year 6.
Text based coding is when we type the code. Python, Java, HTML and CSS are languages that we feature in our projects. Text based coding is used in the Australian curriculum from year 7 through to year 8 as mandatory learning. From year 9 Digital Technologies is an optional subject and students will continue with text-based coding.
It is tricky to know when kids are ready to transition between block and text-based coding. To help see if kids are ready to move on, we have 4 Discover Projects that are short samples of text-based coding, taking around 15 minutes to complete.
“Code Club has definitely shown me that learning new digital skills isn’t hard. If the kids can do it, so can I. Every week, I try out the project we are going to do at the Code Club at home. I’m really enjoying it, and impressed with my own growing coding skills.”
Elbrie de Kock, Code Club Leader
Example of a school based club – let’s chat with Mr Jones, Code Club leader and primary school teacher
The children were very interested in coding and gaming, and we wanted to provide them with an opportunity to actually practise those skills and develop them. So we set up a Code Club.
The club runs every week after school for one hour, with around 20 children attending. The teacher leads the club, and sometimes parents join the teacher to help out.
Being a Code Club leader has been a huge step in my professional development. I started it four years ago. I had no coding experience whatsoever. Over the years, I’ve developed my knowledge of Python, HTML, and you’ll learn along with the children that come to the club as well.
The children work in three groups, and they all work on different projects including Scratch, Python, and HTML. They work independently, as the teacher is keen to let the children lead their learning, but he is on hand to help if they get stuck.
The children get lots out of Code Club.
First of all, they enjoy coding. They’re excited to come to Code Club each week. They work together brilliantly as teams, and they solve lots of problems. Because with code, you often have to get things wrong and then overcome those problems, and coding really helps build their confidence.
The advice I would give to schools or communities looking at setting up their own Code Club is, first of all, not to panic. There’s lots of support out there, lesson plans on Code Club, for example. Enjoy it, and there’s loads of support offered for you.
