Pyzzle is an interactive educational software to make students learn Python using bricks of code to build their programs. It contains exercises designed for people who have never touched programming.

The app features :

  • Python interpreter included inside the program
  • Open exercise pack files
  • Complete the exercises by moving blocks in the UI to build code
  • Get graded based on your success
  • Error detection
  • Manage settings and your username
  • Save your progress and open it later
  • Select a list of opened saved files (.spyzl) to make a .csv file you can open in Excel or similar software containing the scores of them
  • Cheat detection
PlatformWindows 10, Windows 11, Linux
ReleaseApril 2024
LanguageFrench only
Development toolsJava, JavaFX, Python
Target usersMath teachers in college / high school (french)

Creator’s note

After almost 2 years of very slow development with lots of procrastination, Pyzzle is finally… not finished ^^”

Actually the scope of this project was way too big, and I want to move on with more interesting projects at that point.

However, instead of completely cancelling the project, I decided to finish it off quickly and release it as a prototype. Most of the features I had in mind are technically implemented, but the app overall lacks a lot of content (exercise packs), has few bugs, lacks playtest, doesn’t graphically looks good etc… But it runs, and you can toy with it.

So, it’s more like a proof-of-concept than a fully fletched product.

Since November 2024, the project is open source on GitHub.

Download

Before running Pyzzle you will need the latest version of Java Development Kit : https://www.oracle.com/fr/java/technologies/downloads/

Windows 10 / 11 :

Just unzip, follow the installer and your’re done.

Linux :

There is no installer. Unzip, then run java -jar Pyzzle_Prototype_1-0.jar

JSON Exercise Packs

Level packs are encoded in JSON and then are encrypted into .pyzl files. A level editor was planned but the idea was scrapped. So, the only way to make your own packs is by making JSON files and opening them in Pyzzle.

Here are the JSON files of the default level packs in the program you can use as a template :

Screenshots