Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Buggy Racing: a Python programming project for teachers and tutors

Got students learning Python?
Buggy Racing is the software, documentation and supporting material for running a practical Python programming project: see the overview.

See the demo race server at


Configurable for your institution and teaching environment including links to supporting sites and control over which student data is included

Project broken into tasks and phases, all fully customisable (although the defaults are tried and tested!)

Support for student reports/lab notes: collecting task-based texts as-they-go (or not: you configure how the project is run)

Tech notes” supporting material on key technical concepts encountered in the project (can be replaced with your own)

Can run with GitHub: server forks repo into students' accounts and injects tasks as issues (or use GitHub without automation, or just Git... or no Git at all — download zip and go!)

Students do their development work where you want: own machines, college machines, or online services like PythonAnywhere or Replit.


See the full requirements. You need to host your own race server.


Race server

Main project website:
students' buggy uploads / race results / staff admin features

Task list

Detailed project tasks (with instructions and hints)


Full buggy-racing specifications and race rules (text and JSON format)

Tech notes

Web pages of supporting tech material

Admin pages

Full staff access to config, project and student data

Race player

Animated view of race result

Editor zip

Source code for student apps (optional, if not using GitHub)

Buggy editor

Basic app that each student starts with: already working, but to be developed according to the tasks


This site :-)

Not included

Submission and assessment of projects is not included (because how you do that depends enormously on your institution and the course of study it’s part of, if any)… although we have guidance on how to handle that too.

Buggy Racing was originally created in 2020 as the final term project of the CompSci Foundation programme at Royal Holloway, University of London (RHUL). It ran as a 6-week course of weekly lab sessions with students who’d done at least one full term of introductory Python.

Since then we’ve made it very configurable so you can run it in a way that works for your institution or course — university department, FE College, or local code club. Available for free under the GNU GPL license.

License: free and open source software

The race server and buggy editor is made available under the the GNU Affero General Public License: a free, copyleft license (see for details).

In practice this means: you and your institution don’t have to pay to use it — there’s nothing to buy, because the whole thing is made freely, explicitly available for you — and you can modify it and even improve it (but if you do, you should make those improvements available to other people too).

See the race server’s LICENSE.txt

“Free as in speech, free as in beer”

Remember to teach your students about Open Source software :-)

Buggy racing mascot: Mesocricetus roadentus