I've taught code to children for years as the founder of a coding nonprofit, and this is a great way of laying out logic. Block code is very often taught to children and is a pet peeve of mine as it doesn't translate into strongly typed code for them, so we lose a number of kids in the shuffle when they believe code is too hard. Thank you for sharing!<p>If you were wanting to build on this, one of the greatest struggles, particularly with children, is syntax and spelling errors. They very often misspell words like "background" when we're teaching web dev, or forget their brackets and semicolons, so their code doesn't run.<p>If you were to make something similar but in a language they're already learning, such as Javascript, Java or Python (which, in my opinion, are the most common languages taught to kiddos), that might be useful.<p>Happy to chat more about this if you're looking for more on this perspective.
> When programming, you tell the computer with a special code what to do.<p>I'd suggest changing that to something like "with a special sequence of commands".<p>While one can refer to computer programs as "code", it doesn't work to refer to them as "a code" -- when people read that they'll think of a short sequence of letters or numbers, and it will be confusing.
Reminds me of a comment I made a while back reflecting on past teaching experience. Programming is easy to teach, provided you have a fairly friendly context to teach under. Teaching programming in the context of p5js and by making a bunch of simple visual / interactive "toys" is easy.<p>It gets complicated when you have to build websites and apps to actually solve some kind of business / consumer need, and I would argue it isn't even the programming aspect that makes it complicated. Rather, it's the fact that the thing you're building is built atop a layer of dependencies that you don't really know anything about, who in turn have their own layer of dependencies. To use these dependencies effectively, you need to know about some of the concepts embodied within them, such as a render lifecycle if we're talking about some kind of frontend js framework, knowledge that isn't precisely "programming knowledge".<p>And I as I mentioned before, this is why I think I'm not too worried about LLMs getting good at programming.
Thinking is harder than most people program.<p>Solving a problem is a complex process that has a small amount of programming even if it is a programming problem.<p>Programming is communication with both a computer and a person. Have fun!
The struggle with teaching children programming is very real. I think a major issue is that we're often too quick to jump into abstract concepts without laying a strong foundation in the basics. In my experience, kids (and adults alike) need to see the concrete, step-by-step process of how a program works before we can start abstracting away. The "what's going on under the hood" questions always come when the program is broken and you need to debug.
What I'd like to know is what people think about the notion that programming is inherently about logic and problem-solving, but then there's the reality that most programmers spend a significant amount of their time on boilerplate code, debugging and dealing with the consequences of poorly designed software.
It is, all programming is easy once you know the syntax. Loop is a loop, and a conditional is a conditional.<p>The hard part nowadays is setting up the environment. There's so much meta to a language now its scary.<p>Then everything is thrown in your face and don't explain the fundamentals.<p>Imagine a bucket, with blue paint. Lets store this information of paint assigned to a variable of "paint_bucket".<p>Most guides are: "this is a variable, lets define it as blue".. assuming you know what a variable is. Sure it's not hard to follow and understand but for those like me, I need to know.
I like the use of 1000 colors, with the digits being RGB. I know there's 12/15/24 bit color schemes already (for example), but having it human-readable as 0-9 digits is handy IMHO.
Sure. Then you ask a simple question. Is point A to the left or the right of the line defined by points C and D and then you find out that your code gives different answers depending on how you ask the question then you find out about floating point robustness with regards to geometric problems then you wish you had stuck to studying high energy physics.
Programming and problem solving is generally much easier than system installation and configuration. This is why so many novices can build amazing contraptions in Excel.
I appreciate inventing a simple language to teach programming and this looks like a good introduction.<p>But at first glance, this looks SO similar to Python - just teach them to use some parentheses and colons and you'll be learning programming AND learning a very useful language.
> print "Hello " & n$<p>I don't like this. It looks like nothing I've ever seen. It will make transition to real languages difficult.
Aren't you just reinventing Logo?<p>See, for instance, <a href="https://www.transum.org/software/Logo/" rel="nofollow">https://www.transum.org/software/Logo/</a>