PyKidos, Teach Your Kid Python In The Browser
PyKidos is a minimal web application I built in a few days to teach my 8-year-old basic programming concepts using Python.
I had tried several existing apps but couldn't find one that met all my criteria:
- Fully browser-based, no need to install anything
- Supports Python
- Open-source and customizable
- Simple UI/UX
- Includes simple graphical elements like a grid (my kid thought my plain IPython terminal was too "boring")
So I just built my own.
PyKidos offers a playground where you can introduce various programming and math concepts to your child, such as:
- Variables
- Basic mathematical operations
- Loops
- Conditional statements
- Modular arithmetic
- Vectors
- Functions
- Coordinate systems
- Color systems
- Trigonometric functions
- Matrices
- And more.
Features:
- Completely client-side: data is stored only in your browser (localStorage).
- Utilizes Pyodide, a CPython port to WebAssembly, with support for NumPy and other scientific libraries.
- Includes a Unicode emoji picker and color picker.
- Allows manipulation of a grid (cell colors and text, including Unicode emojis) using Python.
- Reacts to click and keyboard events within the grid.
- Supports animations.
- Enables local download of your Python scripts.
- Facilitates code sharing through a URL containing the entire code and data.
PyKidos is still quite rough around the edges since I primarily built it for my own needs, but I hope it proves helpful to others. In particular, I didn't take the time to ensure it runs smoothly on mobile devices, different browsers, or operating systems.
- PyKidos
- GitHub repository
- Hacker news discussion (132 points, 57 comments)