Live data from Hacker News

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

blog.makewonder.com

101–110 of 125 posts

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

#101
post #4

[Follow up read] Why developers never use state machine: http://www.skorks.com/2011/09/why-developers-never-use-state...

Scratch is actually pretty good at expressing state machines. Since all statements are atomic and all scripts on a sprite run in parallel, you can write one script that says

    forever:
      wait until Today == Saturday
      repeat until Today != Saturday:
        do things outside
and another script that says

    forever:
      wait until Today == Thursday
      repeat until Today != Thursday:
        if there is trash:
          take out the trash
and then any process that updates `Today` will cause the sprite to perform the right behavior on the right day.

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

#102
While this is not truly for kids since I was teaching university students I always wanted to investigate if domain specific languages should be used more.

We did some unpublished experiments for an AI class on agent development where groups developed a card playing agent in Prolog and a domain specific language for that card game. The DSL agents were quite a bit more sophisticated.

My point being...I think usually we assume kids should be taught general programming. It might be more fruitful to pick a cool domain and a language suited for that domain. Unfortunately a lot of the programming exercises/projects across all age groups are rather boring for lots of the students from anecdotal evidence. I'm envisioning something like this:

Educator: Tell me something that's cool.

Kid 1: Pokemon!

Kid 2: Football!

Educator: Ok, tomorrow we'll learn how to program (Pokemon stuff here) and (football stuff here). Educator goes home, configures the PokemonLanguage and FootballLanguage and starts teaching that language with Pokemon/Football specific examples. Does it scale...probably not but we're in the business of doing things that done't scale, right?

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

#103

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…

That is also a very decent approach in my opinion. I'm not aware of any studies on ideal age for programming or other skills that correlate to learning it better but I suspect it can't hurt to wait a bit and not rush it (it's very likely to be a hugely individual thing).

Since I have recently ventured into learning how to draw (I am pretty horrible at it) my mind is kind of blown at how much that influences my general thinking and thought modes. Maybe identify these general activities and nurture them first before jumping into the actual programming (logic, drawing, thinking in processes and parallel etc.).

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

#104

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…

> Until they are old enough

Agreed. There is evidence that capability for true abstract reasoning does not properly develop until 12 or so, and that students who are taught basically no math before then catch up to their peers in a matter of years anyways. Before a certain point it is just wasted, probably.

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

#105
post #97
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…

"Having animals and colorful bricks is okay, so long as we're not in conflict with what is actually fun about w that is being taught here..." The concept of 'fun' is highly personal. Surely you are not suggesting there is only one way to enjoy using a computer :) "Programming is fun because we can control the machine, and make it do things... magically, at our whim, with the right combination of instructions." I thin…

"draw himself a character and the program the character to respond to key presses."

Except, don't you see that that's him controlling the machine and making it do things magically at his whim with the right combination of instructions?

The statement I made may not be universal, but you provided an example, not a counterexample, which infers you may not have well understood the full scope of said statement.

And most certainly cats and barns is a stab at universal-as-possible fun. We may not be identical, but nor are we that different.

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

#106
As someone who started programming at a young age where using three meta keys on the ZX Spectrum was something my hands literally couldnt do... I say to all the people suggesting give kids a raw language interface, think about how accessible that interface really is. First you have to learn typing and unlike the spectrum you need to remember and learn most keywords. You are eliminating perfectly smart kids immediately. Because they have a massive barrier to the reward of programming. I remember using a pencil in my mouth to get the third meta on that keyboard. Fairly sure thats a health and safety nightmare. But the frequently used commands were single finger. As my desire to program increased the interface to my own goals got harder. I had the advantage distribution of my software to friends was trivial too. Thats not true anymore outside of JS in the browser. Raspberry Pi goes some way to aid that for scratch.

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

#107
post #102

While this is not truly for kids since I was teaching university students I always wanted to investigate if domain specific languages should be used more. We did some unpublished experiments for an AI class on agent development where groups developed a card playing agent in Prolog and a domain specific language for that card game. The DSL agents were quite a bit more sophisticated. My point being...I think usually we…

This made me think of Micropython on a $1.79 ESP8266 board[0]

Educator: Tell me something that's cool.

Kid 1: Pokemon!

Kid 2: Football!

Educator goes home, gets ESP, modules, sticks them together, write examples.

Does it scale? It's doable: there should be common libs (pre-written snippets) for moving chassis, limbs, RC over wifi, object detection[1], swarm control/collaboration etc. Educator would fit hardware/software together and rock the class.

[0]http://aliexpress.com/item/New-Upgraded-version-ESP-01-ESP82...

[1]Look at http://openmv.io

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

#108
post #96

Earlier quoted context omitted.

I strongly agree. Kids are smarter and much more adaptable than the people developing this stuff seem to think. I don't understand why we aren't just exposing them to real programming languages from a very young age, like their native tongue.

Visual programming system such as Scratch eliminates spelling as a source of frustration for younger kids and especially those whose native tongue is not english (on which the syntax of most programming languages is based on). The logic of programming however, exposes the developer to exactly the same mental processes as programming with a typed language would. I've watched my son programming Scratch and I can guaran…

spelling as a problem is eliminated, but sticking together blocks also has its limits - with scratch the code gets complicated, when it does it becomes quite hard to drag and drop out of this mess - i found it hard to manipulate a structure of blocks with more than two levels of nesting.

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

#109
post #86

This ignores Minecraft and things like Scriptcraft ( http://scriptcraftjs.org ) which I've found are far more effective at home my kids attention than Scratch. Scratch is nice but IMO the end result is too limited - kids sense their program is "stuck" inside the window of the Scratch environment and is missing out on much of what the computer is capable of.

Yeah I just introduced my kids to http://computercraftedu.com/ and its visual minecraft programming language. They got the hang of it quickly because they really want to create things in minecraft.

Nice - hadn't seen that before - thanks for the tip

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

#110
post #16

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…

I was certainly in a similar boat (though a later generation of computers) whereby I found around age 9 that "poking" at a computer (either plugging random things in, or clicking random buttons or keys) enough yielded some interesting/mildly entertaining results. Of course, many times, these results ended with being grounded for breaking something, but nonetheless, the endless possibilities of random keystrokes and m…

I started using Z80 Assembly around 12, already knew ZX Basic and Timex Basic before it.

But was already aware of Assembly with age of 10, when I started reading the Input magazine series with their hexdumps of microcode listings.

Post reply on HN