Show HN: Build with Python – a beginner course where your code draws
https://scimigo.com/en/learn/build-with-python/01-draw-with-python
Hi HN, I built this because I watched my daughter struggle at learning Python. I made something that runs only in the browser with visuals rather than relying on CLI/terminal output. No need to worry about python installation, package versions, venv etc.The lab runs with Pyodide in a web worker, and the program output is a picture by the side of the code block. A user would experiment with the code, and see the immediate changes in the visual output.
The course has 13 modules, with the first 6 foundation modules free, module 7-13 with free readings but guide labs for a one-time price of $49.
Please give it a try at https://scimigo.com/en/learn/build-with-python Send me feedback on the UX and on the exercise design, especially if you teach kids to program.
I am also working on a C++ version for beginners (also with browser, no gcc or command lines). stay tuned.
(
20 comments
| 5 points
| on HN
)
Also fwiw, 49$ one time is on the very low end for about any product except mass produced (not common on early startups). It would only miss the mark for $/mo in B2C
If I can't get a customer to shell out 50$, I'd rather mark the idea as lacking pmf than trying it out at lower price points.
For example the `range` example in the second activity doesn't show a `for` loop's structure, how `range` is called, or what it does. One of the hints shows you the syntax for a `range` call, but nothing about loop syntax.
The hints are on request rather than at-need, and aren't linked to what's going wrong for them - doing some structural analysis of the code to decide what hint might be needed would make hints more useful. The couple of activities I looked at didn't have particularly useful hints that targeted real problems and were more of the "here's a snippet of completed code" variety, which doesn't teach anyone anything.
I'd recommend going and looking into some teaching pedagogy before building stuff, tbh.
The actual activity objectives don't look too bad, but the UI is a mess of the wrong sorts of information to help kids learn the principles.
I was curious about the tutor, but not curious enough to hand over an auth token to it. I've been building a writing tutor using local models for my kids, and it's been an interesting experience trying to provide helpful, structured information at the time they need it, rather than just asking for answers, or parsing generic advice.
on the AI tutor, I originally allow a user ask a few qeustions without requiring login, but Claude advised against it for security reasons (possible abuse of unauthenticated model relay/call)
Because I'm using pretty small models (biggest option I've been working with is a 14B) and primary age kids writing is really different from adults, there's a lot of very targeted prompts around mechanics, vocabulary, sentence and paragraph structure, general encouragement and so on. I've also got LanguageTool feeding spelling and grammar analysis into it, since small language models just make up so much dumb stuff when it comes to spelling (it helps that we have an Amazon Echo and they're used to dumb AI so don't expect too much of it).
The kids can "submit" their draft to get a bit of summative feedback which runs it through the whole suite and they can go through the different feedback contexts (highlights relevant passages, suggests word choices, gives general feedback related to the writing purpose and prompt). Each draft takes a snapshot so my wife and I can see what the kids change about the draft after the feedback. This part actually works pretty well.
There's also a "nudge" mode where occasionally the LLM tutor will surface a bit of feedback with a subtle notification while they are writing. This aspect sounded pretty good in my head but since it's analysing a writing fragment sometimes it's not super helpful and even though the notification isn't too disruptive, it still breaks into the flow.
The more I think about it, the more useful this sort of model sounds useful for code too, since it doesn't need to just be about "does the code run, are the outputs correct" but could reason a bit more about program structure, naming of variables and functions and whether they are appropriate to the purpose, quality of comments and whether they indicate an understanding of the code and so on. Most of that you could get with a decent AST analysis, but relevance of comments etc is something that could be quite useful.
Good luck with teaching Python to your own kiddo. I'm finding my own are more interested in programming microcontrollers like the micro:bit than graphics. Gets you really comfortable with fairly simple code and immediate feedback about whether you gets things right. See the micro:bit Python editor for a really well scaffolded IDE too (https://python.microbit.org/v/3).
You can download it for free here: https://simpl-pseudocode.itch.io/simpl
Python and C++ both run in the browser, with a single-step debugger. Python has turtle and matplotlib (both interactive, not static images), and C++ has full STL. There's also a Linux terminal with redis-server/redis-cli built in, all running locally in your tab, not on a remote VM.
It's free and needs no sign-up, so give it a try.