No registration, no student data on a server, no third-party services. Students open the page and get going – Python runs entirely in the browser.
🔒 Data-minimal
Progress stays in the student's browser. There are no cookies, tracking or accounts. Details are in the privacy policy (German).
✓ Instant feedback
Every task is checked automatically, error messages are explained clearly, and staged hints help before the solution appears.
🤖 Robotics without hardware
The Pybricks simulator lets everyone program at the same time – even with only a few LEGO SPIKE sets. The code then runs unchanged on the real robot.
📶 Offline in the classroom
Poor Wi-Fi? Press the button once on each device while online – after that all lessons, the training room and Python work without a connection. What you saved stays after updates and is refreshed automatically next time you are online. Codelix can also be installed like an app from the browser menu.
📄 Worksheets and model solutions
Every lesson has a “Print worksheet” button at the top: text, examples and task with writing lines, name/date and a QR code back to the lesson. Without hints or the solution – the pro task gets a page of its own.
All model solutions (including the pro tasks) are collected for teachers – unlocked with a question from the book “Python für Roboter”.
Store measurements in lists and go through them in pairs with zip() · Calculate the average, minimum and maximum · Show data as a bar chart made of text
Decide with __str__ how print() shows an object · Compare and calculate with objects using __eq__, __lt__ and __add__ · Write calculated attributes with @property
Read longer error messages (tracebacks) step by step · Find bugs in classes (forgotten self, wrong calculation) · Check things deliberately with assert and f"{x=}"
Build your own image as a list of lists · Control single pixels and their brightness · Calculate a status display from measurements · Play sounds and melodies
Understand why real robots never drive perfectly · Measure the distance with the distance sensor and the turn with the gyro · Recalculate wheel_diameter and axle_track correctly
Put Pybricks onto the SPIKE hub · Transfer programs from the simulator to the real robot · Measure sensor values before the first run instead of guessing
Write a web page with a heading, paragraphs and lists in HTML · Set colours, spacing and font sizes with CSS · Style several elements the same way with classes
Find an element on the page with document.querySelector · Change the text and look of an element with JavaScript · React to clicks with addEventListener
Run an XS motor forwards and backwards with setSpeed() · Drive an exact distance in encoder pulses with setDistance() · Wait with finished() until a movement is complete
Detect with the line tracker whether a line is under the sensor · Measure brightness as a voltage in mV with the phototransistor · Collect readings in a list and analyse them
Draw shapes and text on a game area · Understand how a game loop works frame by frame · Steer a figure with the arrow keys and keep it inside the window
Make things appear at random places with random · Check whether two rectangles touch (collision) · Count points, take away lives and end the game with game.stop()
Build a game area made of squares with game.grid() and game.cell() · Store a snake as a list of positions and let it grow · Change direction with game.pressed() and detect the end of the game
Understand why computers only calculate with 0 and 1 · Convert numbers between the decimal and the binary system · Know how letters are stored as numbers
Count a program's steps instead of timing it · See how the number of steps grows when the data gets twice as big · Replace a slow algorithm with a fast one
🔗 Class link: choose lessons for your class
Tick the lessons above that your class should work on and give the list a name. The link only contains this selection – no student names, no account. Whoever opens it sees exactly these lessons with their own progress.
Class overview – without a server
1. Students go to “My progress” → “Save as file” and give you the file (e.g. via your school's learning platform), ideally with their name in the file name. 2. Select all files here at once. They are only read in your browser – nothing is uploaded or stored.
🏁 Class leaderboard for the robotics challenges
Students send you their links from “Share time”. Paste them here – one per line, “Name: link”. Every time is re-checked in the simulator, so faked times stand out. Everything happens only in your browser.