Hacker News new | ask | show | jobs
by masters3d 1560 days ago
I hope to teach my kids programming so I started with the older on learning algebra. I have been using the tablet app called dragonbox algebra (which is amazing!). The issue I am facing now is that my kid knows visually/mechanically what to do in the app but they don’t understand why they have to do some things. We have been moving to the whiteboard so they have to translate swipes and taps to regular algebra notation. They literary think in terms of the app. What has helped a lot is to do a problem on the app then do the same problem on the board. Their eyes light up when they see the connection.

I think I will have the same translation dilema if I start with scratch. At some point we will need to get writing textual based code but I am not confident that I can get my kids exited about programming without graphical tools like scratch/dragonbox.

In classroom setting most teachers could not teach the textual form of programming but something like scratch allows kids to explore and build the vocabulary to be able to translate to a textual representation.

6 comments

I don't think a text representation is intrinsically a problem, but I think Alan Kay was right that the level of abstraction has to be in line with children's intellectual development. Whether one uses Squeak Smalltalk (textual coding) or Scratch 3 (visual coding), the code to implement a Tetris clone for example is surprisingly simple and accessible to kids, because the underlying abstraction is pretty concrete.

I don't think the model language taught in the linked article is going to work for most kids, because the level of abstraction is too high. I'd guess that even most non-CS undergraduates would struggle with the double recursion implementation of Towers of Hanoi that he presents (even with the comments he also adds; without the comments I'd venture most non-CS undergrads would have serious trouble figuring it out).

I think typing skill does matter with text representation. I've seen a lot of 7-9 year olds who might be able to cope with text-based languages conceptually just get frustrated by the slowness of typing when introduced to them. Which doesn't mean it isn't impossible for them to learn to type at the same time but they have to be much more motivated.

Syntax and other errors in many language are also really frustrating and I've seen children give up on text-based languages in frustration with all the errors they get (especially when they make lots of typing mistakes!)

I agree with you. Obviously more explanations should be given around the following examples. This page should be considered as a skeleton used for a guided exploration. More examples from here: http://lambdaway.free.fr/lambdawalks.
Dragonbox algebra uses the normal algebra notation for the later stages, so it could be you just need to persist.

For example initially the unknown variable is the namesake cute dragon in a box, but it later becomes "x", the bubbles become brackets, the green whirlpool becomes 0, the cute animals become other variables etc.

Thank you. You could have a look to this page http://lambdaway.free.fr/lambdaspeech/?view=teaching
Ah cool. I will check it out. Thanks!
My experience with using Dragon Box with my children was that it gave them a way of thinking about Algebra patterns even without knowing all the details of what they are doing. When they actually studied Algebra, they would often look at the explanation of a new concept. Struggle with it for a bit and then a lightbulb would go off and they would say, "Oh I see. This is like what we ere doing in Dragon Box."
Check out Sonic pi, an programming language for musicians. It includes all the complex features of software, a great tool for teachers Imo.
The worst thing you can do to your kids if you want them to program is give them a "smart" device. Part of what drew me into programming at 11 was the realization that I could modify some of the most fundamental behavior of my computer.