

Effective coding for small children?  - fyacob

So we're about to launch a toy on kickstarter that effectively and truly introduces children to programming logic. It is basically a physical version of the logo turtle, and uses a visual sequence of instructions to breach concepts of high level abstraction.<p>The first time a child plays, he/she effectively writes her/his first line of code. The neat thing about all this is that children can do so without the need for literacy or numeracy.<p>We see all sorts of on screen and off-screen products that deal with the subject of programming and early learning. They are either to advanced, to complex or completely useless.<p>The earliest thing we found was something called www.Codebabies.com , which we thought was a bit of a parody at first (not their more advanced stuff which is OK, but their early range products).<p>In terms of physical toys the best one we could find is the super popular Bee-bot. While being a great toy, we thought it missed the point a little bit.<p>Here is a link to the product we are launching shortly. The actual packaging has changed slightly, this is footage we took while the product was still a University project. It's slicker and designed for mass production/consumption. Any feedback or conversation around the topic and/or product is massively appreciated.<p>http://tinyurl.com/on9zj9q
======
RodgerTheGreat
So it's essentially a physical version of the puzzle game Light Bot[1]. I can
definitely see this being an approachable toy, and it does encourage the kind
of visualization and sequential reasoning that underlies programming. That
said, with such a limited number and variety of instructions (Looks like a
12-step program with the opportunity for a single 4-step subroutine) I don't
see much potential for teaching about abstraction and reuse, and I think
children will reach the limits of the toy very quickly.

Given that you're already committed to putting this into production, are you
actually looking for critical feedback or are you simply trying to raise
awareness?

[1] <http://armorgames.com/play/2205/light-bot>

~~~
fyacob
No, genuinely trying to get some debate going. We have debated upgrades for a
while now at the Arduino head office in Torino where we work. We thought of
tapping into the endless wisdom of the HN community for a fresh perspective.

The learning curve plateaus eventually, but it's also about experimenting
control within new environments, "go around mommy's feet" "circle the kitchen
counter".

In it's basic form no numeracy or literacy is required to approach Primo. This
is key, but what do you suggest a suitable upgrade should be bearing this in
mind?

We have a Primo 2.0 for schools in R&D right now that will allow for multi
play (or super hog play) by controlling several vehicles from the same board.
what you think about that?

~~~
RodgerTheGreat
I see where you're going with taking the toy into different environments to
produce varied challenges. Controlling multiple vehicles at once could be
interesting- I'm reminded of tool-assisted speedruns in which a single set of
gamepad inputs are used to complete different games simultaneously. You could
create obstacle courses where the same program will help all the robots get
out.

From the perspective of learning about abstraction and code reuse, I think
having a single function definition that can only be four instructions long is
very limiting. If you had more (even just a second one) you'd have many more
ways of combining them together- they could be chained, they could call one
another, etc- and thus more ways to try breaking down problems. Breaking tasks
down into smaller subtasks is, in my opinion, one of the most fundamental
concepts in programming, and your toy _can_ teach this idea.

From a totally different angle, have you thought about adding a crayon/marker
mount to the car so that kids can lay out a big piece of paper and then have a
visual record of their trial-and-error progress? Thinking about the toy as a
sort of creative tool, if the kids had some ability to turn the overall
program into a repetitive loop rather than just a sequence you could do some
neat spyrograph style stuff. Maybe add a toggle switch to enable that?

