How to use six(im).possible().things()
The workflow
Each challenge asks you to solve the same problem in six different coding styles. Here is the intended workflow for each style:
- Choose a challenge from the row of hexagons at the top of the screen. Hover over a hexagon to see the challenge name and difficulty.
- Structure the code — start in the Structured style tab. Your goal here is to break the solution into well-named subroutines (functions) and keep concerns separate. Separating concerns means that each function does one clear job: a function that reads input should not also do calculations; a function that computes a result should not also print it. Keeping concerns separate makes code easier to read, test, and reuse.
- Debug in the Debugging stage — run your code interactively using the Run button. Fix any errors before moving on.
- Iterative Testing — step through the individual test cases one by one. Each test runs your code against a specific input and checks the output. Fix failures and re-run.
- Final Testing — once you have viewed all the test cases, the Final Test button unlocks. This runs the full automated test suite plus a style check and produces a score out of 10.
- Repeat for the other five styles. Completing Final Testing on the Structured style unlocks the remaining five style tabs — Readable, Robust, OOP, Recursive, and Minimalist. Work through each one.
The six styles
| Structured | Code is divided into focused functions that each do one job. Input, processing, and output are kept in separate functions. Clear, step-by-step logic that reads like an algorithm. |
| Readable | Self-documenting code — descriptive variable names, helpful comments, and a layout that makes the intent immediately obvious to any reader. Prioritises human understanding over brevity. |
| Robust | Handles edge cases and invalid inputs without crashing. Uses validation, error handling, and defensive checks so the code behaves correctly even when given unexpected data. |
| OOP | Object-oriented — the solution is modelled using classes and objects. Data and the methods that act on it are encapsulated together, reflecting real-world entities or concepts. |
| Recursive | The function solves the problem by calling itself on a smaller version of the same problem. Requires a clear base case (when to stop) and a recursive case (how to reduce the problem). |
| Minimalist | As short and clean as possible — typically a single function (often a one-liner or two) using Python's built-in tools. Demonstrates how expressive Python can be when conciseness is the goal. |
Scores, XP, and Rank
Each style is scored out of 10 points by the automated test suite. A challenge has six styles, so the maximum per challenge is 60 points.
The per-challenge score appears below the output window on the right — it shows your current total across all six styles for the active challenge.
Your total XP (Experience Points) is the sum of all your scores across every challenge you have attempted. It is displayed in the top-right corner of the screen alongside your current Rank:
| 0 – 49 XP | Dormouse 🐭 |
| 50 – 99 XP | White Rabbit 🐇 |
| 100 – 149 XP | Mad Hatter 🎩 |
| 150 – 299 XP | Gryphon 🦅 |
| 300 – 599 XP | Jabberwock 🐉 |
| 600 + XP | Cheshire Cat 😸 |
Save, Load, and PDF export
Your progress is auto-saved in your browser as you work, so closing and reopening the tab will restore where you left off.
The buttons in the bottom bar let you do more:
- 💾 Save — downloads your entire progress as a
.jsonfile. Use this to back up your work or transfer it to another device or browser. - 📂 Load — loads a previously saved
.jsonfile, restoring all your code and scores. - 📄 Save PDF — generates a portfolio PDF of all your scored attempts, with syntax-highlighted code and scores for each style. Download it to share with a teacher or keep as a record of your work.
Free, Coder, and Pro tiers
Challenges 1–12 are free forever. To unlock more challenges and features, two paid tiers are available.
Coder Tier — £29 / year
For individual students or teachers who want the full challenge set and portfolio export.
- ✅ Challenges 13–24 unlocked
- ✅ All future rolling challenge sets
- ✅ PDF export (all attempts + scores)
- ✅ Email PDFs to students / parents
- ✅ Everything from the free tier
Pro Tier — £99 / year (early adopter price)
For class and department management — everything in Coder, plus tools for teachers.
- ✅ Everything in Coder tier
- ✅ Teacher dashboard — view submissions and track progress
- ✅ Class reports & analytics
- ✅ Leaderboard
- ✅ Class management & rosters
Interested? Get in touch or see the about page for more.
© Alan Harrison, Harrison Proserv Ltd hpro.uk