Show HN: Build with Python – a beginner course where your code draws
scimigo.comHi 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.
I tried out the first lesson for a few minutes. I thought it was pretty cool how the code immediately turned into something visual, especially with the drawing. I got a little confused when the lesson got to loops, so some more explanation there would have been helpful.
CMU Academy https://academy.cs.cmu.edu/splash Does a great job implementing this idea and making it available at no cost.
Thanks for the pointer to CMU CS Academy. it’s an excellent resource with shared approach on learning through visuals. it seems to be more oriented to teachers but indeed is a great resource.
Most of teaching kids to code is them understanding terminology, structure, and getting them unstuck. This has bits of information mixed with unscaffolded terminology all over the place, some hidden in collapsibles, and some just missing.
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.
your feedback is really helpful! yes, you are right on the range exercise. the course is not self-contained and I put more work on the lab but did not check on the logic sequence of terms and concepts. on the hints, I am curious what works in your earlier work on writing tutor.
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)
The writing tutor is part of a home hosted web app that I've got to try and encourage my kids to get a bit more fluent at intentional writing, plus specific types of writing (creative, reflective, persuasive, etc).
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).
I tried to create a comprehensive environment to meet the needs of students and beginners who want to get into programming. Version 1.0 was released just a week ago, and I'm currently finalizing version 1.1, which should go live very soon.
You can download it for free here: https://simpl-pseudocode.itch.io/simpl
My only feedback is $49 for AI slop feels like extortion at best, and delusion at worst. Don't give up building stuff, we should all be using AI to build ideas because the cost of developing them has dropped substantially. We should not be using them, however, to grift one another.
your criticism well received. Yes, AI was heavily involved, but the raw python content and core viz ideas grew out of my earlier informal teaching and coaching. The advanced labs add some complexity analysis and animation. And to be honest, the $49 price is just an experiment.
I dislike AI slop too, but we shouldn't be taking pricing feedback from anyone that isn't a potential customer, unless they are saying, "I wouldn't buy this at 49$, but I would buy it at 19$", it goes straight into /dev /null.
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.
Honestly, you're right.
Thanks!
It has a nice interface and I really like it. I'll stay in tuned for the C++ version as well.
It needs a bit of work, but it looks like most slop sites I have seen unfortunately.
points taken, I would appreciate if you have some specifics so that I can improve on both the content and the formatting.
Mobile could use some work too.
You may want to review it a bit more before soliciting feedback. For example, the very first task it asks the user to do is already done.
oh thanks for the quick feedback. my bad that it was left over from the earlier starting code as a demo for the first module. I have now fixed it and the starter code is now partial, and will fail the checks unless the user completes the tasks.