Skip to content

Home

Hello and welcome! Why have I started this site? I run a Code Club in a library in rural Norfolk in the UK which I thoroughly love. One of the biggest challenges I've found is in having suitable materials for the children to work through; particularly when delivering the sessions on library computers that are completely locked down (and old). All of the lessons I deliver are done using tools that can be run in a browser on a relatively low specification computer. Also, the materials and tools I use are free to minimise costs.

Even though there are plenty of materials out there, they are often hard to find in the ocean of the world wide web. I have also found that some platforms are better supported than others and the quality of materials available varies a lot.

This site is a curated list of quality materials from other sources that I use in my sessions and some that I have produced myself to help you on your coding journey. The materials are presented in a structured pathway to help you develop your skills in a progressive way. I regularly make updates to this site. See recently added for the most recent changes and roadmap for the planned materials for the next year.

My recommended pathways are:

  • Beginning (Blocks)
  • Progressing (Python)
  • Advancing (CircuitPython)

Beginning (Blocks)

Start with Blocks based programming using Scratch. This is generally the easiest route into coding with lots of resources available. For my recommended starting materials, see Blocks.

Once your skills have developed and you are comfortable with blocks, there are multiple routes you can take to push your skills further. I really like MakeCode Arcade as it provides a nice bridge between blocks and text based programming, providing a smoother transition into coding. It also remains very visual and interactive allowing you to develop your skills. For my recommended starting materials, see Blocks.

As your skills develop, you can also explore the BBC micro:bit which offers blocks based programming and even MakeCode Mindstorms. These entries into physical computing add an extra dimension to coding.

Progressing (Python)

As your programs become more advanced, blocks based programming can become more challenging to use. At this point you will want to transition from blocks to text based programming. The best language to use to make this transition is Python. The easiest way to get started writing Python is to use an online IDE which helps eliminate any barrier to entry. My favourite and recommended online IDe is Replit. For my recommended starting materials, see Python.

Python is also supported on the MakeCode Arcade, MakeCode Mindstorms and BBC micro:bit platforms.

Advancing (CircuitPython)

Now is time to move onto the Raspberry Pi Pico with CircuitPython! This takes you on a journey of physical computing where you write Python code to control microprocessors. To give you a flavour of what can be done with CircuitPython (or its cousin MicroPython) take a look at these short YouTube videos of the Halloween 2023 project and Halloween 2024 project projects which my daughter and I worked on. You can read more about that adventure and see some other projects we've worked on at Coding Clubs by heading over to my GitHub project pages pico-interactive-halloween and pico-interactive.

Don't be scared by any complex looking electronics. Getting started with CircuitPython or MicroPython is super easy and there are plenty of guides available. For some great places to start, take a look at the my CircuitPython links.

Recently added

December 2024

The PyGame Zero game Muncher had some modest re-working to reduce the amount of editing existing code in order to make the instructions simpler to follow. It also now has the code for each step provided at the start of the step if students get stuck. This is now considered final quality.

The PyGame Zero game Smash was put on the site along with a couple of sub-tasks. It is a complete project and considered final quality.

November 2024

The Python pathway has been extended significantly to add in an extra 8 modules based on Al Sweigart materials. See here

Added links to the updated Halloween 2024 project, including references to my CircuitPython framework pico-interactive. See Advancing (CircuitPython) for more details.

Roadmap

I did not have anywhere near as much time in 2024 to dedicate to updating this site, mostly because of the massive amount of effort I needed to put in to pico-interactive and the Halloween 2024 project. Next year will be a bit different though as I have quite a few overdue improvements and extensions to add. This is the planned roadmap (subject to change)

Python - December 2024

  • Add a section on starting with Replit; including how to easily work within the 3 repository limit for free accounts.

Code Club AI - December 2024

  • I loved the Hands on AI session at the Clubs Conference and will be building these materials into my Blocks pathway ready for the students to pick up early next year

General - Christmas 2024

  • Move to new hosting environment including support for HTTPS.

BBC MicroBit - Christmas 2024

  • Add my existing materials with some minor rework to the Blocks section.

MakeCode Arcade - 2025

This is my primary materials goal of 2025. Previous experience has highlighted that producing good visual materials based on MakeCode Arcade is very time consuming.

  • Complete overhaul of all existing materials so they are updated with the newer UI and Blocks.
  • Add a section on the MakeCode Arcade environment and how to do common tasks.
  • Add a section reviewing various MakeCode Hardware platforms as I get asked this a lot.

Physical Computing - 2025

Adding more physical computing contents is my secondary goal of 2025. I love working on these projects and the students love doing them.

  • Rework and add in my existing projects (Micro:Bit and Pico)
  • Add in Lego projects using the Pico and Inventor board.
  • Explore and review some new online IDEs and make recommendations that work in libraries.

And taking it just a step further...

At the Clubs Conference, I was super impressed and inspired by the talk on building an escape room. This is something that I am going to run as a bigger project with my group and also hopefully get a local primary school or two to also run something similar. I will keep a full commentary as I go along. Full details to follow but these are some of the inspiration:

  • https://github.com/brggs/Fix-The-SpaceShip-Escape-Room
  • https://curiouscoders.substack.com/p/build-your-own-escape-room-puzzle

Python - late 2025 or 2026

  • Add more Python challenges.
  • Complete Module 1 of More Games with PyGame Zero.
  • Rework the MakeCode Arcade Python games with the updated IDE.