Live data from Hacker News

How computer programming languages for kids have evolved and where they're going

blog.makewonder.com

71–80 of 125 posts

Re: How computer programming languages for kids have evolved and where they're going

#71
post #23

Why is BASIC totally left out? An entire generation was inspired by power-on basic in C64 and other platforms. More than just "inspired"... Some huge amount of today's technology wouldn't exist otherwise. I know I'm stuck in the past, but that's what I want for my kids. Flip open the laptop and boom, theres my programming environment, except now with easier graphics/sound APIs. Anyone know how to get this, without bu…

Couldn't you use server linux distro with your user's shell set to a BASIC interpreter?

Re: How computer programming languages for kids have evolved and where they're going

#72

I've always been suspicious of the looks-like-an-animal-with-a-name-and-a-smiley-face-I'm-a-grown-up-and-this-is-what-kids-like approach. I remember one of the coolest things about the apple II was that you could 'poke' the right memory address and get the speaker to click. That was magic when I was 12 and it didn't need a friendly name and a stupid grin. Until they're old enough for K&R (12?, 13?, 14?), maybe they s…

You're conflating different audiences. Sure, cutesy stuff is counter-productive for a 12 year old, and probably even most 9 year olds.

But at 4 years old my kid was already applying loops and subroutines in LightBot (and later Robot Turtles). At that age kids can already get the thrill of command and begin to play with abstractions, if you give them a domain of discourse that's non-textual.

Re: How computer programming languages for kids have evolved and where they're going

#73
post #70

Having animals and colorful bricks is okay, so long as we're not in conflict with what is actually fun about what is being taught here... Programming is fun because we can control the machine, and make it do things... magically, at our whim, with the right combination of instructions. So compared to that, having a cat walk towards a barn seems like a completely irrelevant layer of entertainment forcefully tailored to…

Have you programmed in scratch for any significant amount of time? I have, so have my kids, and as a CS prof (at a small non-engineering college) I encourage my students to do so too. Before age 10, almost entirely on their own, my kids discovered ideas like abstraction (writing custom blocks), recursion, data representation (e.g. encoding/decoding pairs, structs and lists into arbitrary-precision integers), asynchronous vs. synchronous functions, performance tuning, 3d perspective graphics, and race conditions. At bedtime it's not unusual for them to ask about, say, what happens if you do recursion without a base case, or wonder whether you could simulate the scratch language within scratch itself.

All of these things are fundamental CS concepts, and they seem to grasp these at a much deeper level than I did at that age, and better than most of my college students. Yes, they also do some python, html/css, a little java, a bit of javascript. And those all have their place, and they like making websites. But the scratch infrastructure is fantastic. Good learning curve. Just enough language power to do amazing things (threads, fork, async notifications, custom blocks, cloud variables for multiplayer online). Instant publishing. Great community. Fantastic programmers (hi Griffpatch!) putting out incredibly clever programs to admire.

So all this is to say that it is unfair to dismiss scratch as "a cat walks towards a barn".

Re: How computer programming languages for kids have evolved and where they're going

#74

Why aren't kids able to read text written in rows like everyone else? Programming languages just for kids seems mostly like a way to limit them.

Exactly. I "learned" QBasic when I was 5-6 and it was really exciting because it was the actual language that implemented some of the games I liked playing. Kids like to learn about the real world. They can tell when you give them something simplified and they often don't like it.

I don't recall not liking The Cat in The Hat when I was a kid just because it was a more simple version of The Ego and The Id by Sigmund Freud.

In the same vein I can see these languages as the equivalent of a picture book for programming languages.

Re: How computer programming languages for kids have evolved and where they're going

#76
I recently gave an intro to coding to young Girl Scouts using Pyret (http://www.pyret.org). The screencast is here:

https://vimeo.com/163949506

I had to wing it because the ages turned out to be younger than I expected. I've taught my 6yo son using Racket and Pyret so I had the basic approach already. Although I shot over their heads in spots, overall the girls seemed to be really engaged, as were their parents. For my money, Pyret is THE language for an intro to programming, almost regardless of age.

Re: How computer programming languages for kids have evolved and where they're going

#77
post #23

Why is BASIC totally left out? An entire generation was inspired by power-on basic in C64 and other platforms. More than just "inspired"... Some huge amount of today's technology wouldn't exist otherwise. I know I'm stuck in the past, but that's what I want for my kids. Flip open the laptop and boom, theres my programming environment, except now with easier graphics/sound APIs. Anyone know how to get this, without bu…

Maybe try this out — QBASIC is accessible in the browser via archive.org's dos emulation:

https://archive.org/details/msdos_qbasic_megapack

Re: How computer programming languages for kids have evolved and where they're going

#78

I recently gave an intro to coding to young Girl Scouts using Pyret ( http://www.pyret.org ). The screencast is here: https://vimeo.com/163949506 I had to wing it because the ages turned out to be younger than I expected. I've taught my 6yo son using Racket and Pyret so I had the basic approach already. Although I shot over their heads in spots, overall the girls seemed to be really engaged, as were their parents. Fo…

I like Pyret a lot. The guys banging on Pyret and Racket are a great bunch as well.

Re: How computer programming languages for kids have evolved and where they're going

#79
post #73
post #70

Having animals and colorful bricks is okay, so long as we're not in conflict with what is actually fun about what is being taught here... Programming is fun because we can control the machine, and make it do things... magically, at our whim, with the right combination of instructions. So compared to that, having a cat walk towards a barn seems like a completely irrelevant layer of entertainment forcefully tailored to…

Have you programmed in scratch for any significant amount of time? I have, so have my kids, and as a CS prof (at a small non-engineering college) I encourage my students to do so too. Before age 10, almost entirely on their own, my kids discovered ideas like abstraction (writing custom blocks), recursion, data representation (e.g. encoding/decoding pairs, structs and lists into arbitrary-precision integers), asynchro…

I was trying to be careful not to do that, and you'll see that I didn't. So long as we're not in conflict it's okay, and certainly Scratch is more than cats and barns.

But my point remains that cats and barns could be interpreted as "fun because they're kids" since no CS prof in their right mind would teach students that way at, say, MIT. Maybe robots.

The problem isn't with teachers who teach the magic of computers with cats and barns. It's with the teachers who confuse the fun with cats and barns and underplay the real magic, which then leads the students to be confused and unimpressed as well.

Whenever I saw educational games as a child I'd immediately sense the "adults intent to entertain" through boring characters and ugly art. Now, that isn't to discredit their effort, but when you're a kid obsessed with Super Mario Brothers, it's tough competition. Needless to say, educational NES/Famicon games did not fair well on the market. Everyone loved Mario.

Re: How computer programming languages for kids have evolved and where they're going

#80
Scratch is pretty much a traditional text-based language, but with a structure-aware drag-and-drop editor.

Maybe you can't quite literally build a compiler for the bare text...? It's at least mighty close to being doable. That would make a great transition.

You could also make a similar drag-and-drop structured-text editor for a fairly large subset of C.

Post reply on HN