3 ms·
Hi HN! I'm pleased to present PyKidos [1], a quick-and-dirty web application I built in a few days to teach my 8-year-old kid basic programming concepts using P
by rossant 3y ago
Hi HN! I'm pleased to present PyKidos [1], a quick-and-dirty web application I built in a few days to teach my 8-year-old kid basic programming concepts using Python.
I 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 provides 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 [2], 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.
Feel free to report issues, ask questions, offer suggestions, or submit pull requests.
[1] https://pykidos.github.io/ https://pykidos.github.io/
[2] https://pyodide.org/en/stable/ https://pyodide.org/en/stable/
- partitioned 3y agoThank you for doing this
- vram22 3y agoInteresting effort. Did you check out sites like python-tutor.com (sp?), repl.it, PythonAnywhere, etc.? I don’t mean for feature parity, but just to get feature and flow ideas. There are more like those that I don't remember right now.