Live data from Hacker News

Show HN: An iPad app to teach kids how to program

news.ycombinator.com

21–30 of 39 posts

Re: Show HN: An iPad app to teach kids how to program

#21
post #11

I always wondered how successful those apps and languages (Logo etc.) are as learning tools. It seems like a great idea - you make colorful apps, that are easy to fiddle with and you sneak in coding under 'move dinosaur few centimeters to the left' cover - but 'real' programming is not very much like this - it might create false illusion to those children, that it's and fun and easy, and you get real programs working…

One of the most important skills a programmer needs is rigorous thinking. You can not "wish" the turtle to do something different -- and whatever it does is a direct result of your instructions. With logo, you can start to understand that "technically correct is the only kind of correct."

Because it is a safe and interactive playground, logo is a great entree to programming, as you suggested. Given the right tooling and attitude, 'real' programming is very much like this. I put a great deal of effort in minimizing my iterative loops because it helps with motivation and predictability.

Finally, the turtle metaphor is nice because the child imagines themselves as the turtle and so learns to anticipate what the turtle will do when given a set of commands by imagining themselves following it -- this is a fantastic exercise that helps build the skill of mentally modeling the behavior of a machine.

The turtle can do a lot more than pen-down, move, pen-up, but it is still a great metaphor for the computer being the automatic executor of the programmer's wishes.

One of the differences between very good programmers and mediocre programmer's that I've noticed is that very good programmers understand code as it commands the machine (virtual or physical,) whereas mediocre programmers understand code as such.

Logo is much closer to Assembly than to Java, and that's a Good Thing. You are right that there is a big distance between Logo and professional code -- similarly, there is a big difference between elementary math and actuarial science.

Re: Show HN: An iPad app to teach kids how to program

#22
post #20

I would move away from text-based programming and try a visual metaphor approach, especially on the ipad when touch/gesture are fundamentally easier for kids to learn, i.e. replace "grow" with growing animation of the dinosaur Take a look at what http://launchpadtoys.com/toontastic/ is doing for animation/story-telling.

It'd be cool to have a lisp that you could edit structurally with an iPad. Structural editing is a foreign thing when done on a keyboard. But it's 1:1 on an iPad. I know that's not visual in the way you meant. I just think it'd be easier to grok than syntax.

Also, Conal Elliot did a talk about how to visualize higher order programming. He demonstrates a UI for manipulating higher-order functions. I don't know how directly useful it would be but it's at least a good place to farm for ideas. http://www.youtube.com/watch?v=faJ8N0giqzw The demo starts at 22:22 if you just want to skip to that.

Re: Show HN: An iPad app to teach kids how to program

#23
post #16

Getting a programming environment is indeed a barrier which I have experienced a number of times. This contrasts with schooldays when I could start writing a basic program simply by switching the computer on. Why don't Apple, Microsoft etc. package the stuff you need to get start programming with their OSes? (So one could begin learning with 5 mouse clicks or less.) Sorry if this is a hopelessly naive question

"Why don't Apple, Microsoft etc. package the stuff you need to get start programming with their OSes?" They do, or at least Apple does with the inclusion of a version of Ruby as standard in OSX, various shell scripting options, and Xcode available for free from the Mac App Store (although I would question how easy that is for a novice to get started with). Windows? Not so much.

Those sound like good things but as you suggest this doesn't meet the standard of beginner friendliness.

This would be something like clicking on an application called 'Ruby' in the applications folder and then a window popping up ready to start typing my script in. (If there are choices to be made, fine, just make it work with some default options and I can switch text editor or whatever later.)

The same set-up on every single Mac/PC, out of the box. Every resource required pre-installed and automatically updated with the OS.

No credit cards, no searching online, no knowledge of what is required beforehand, no obscure dependencies, no expert friend required, no need to read instructions about how to set up, etc.

Re: Show HN: An iPad app to teach kids how to program

#24

I will never understand why anyone would want to teach little kids to program. Especially those who barely know how to add and subtract. I know of no upwardly mobile, reasonably successful adult, 18+, who knows how to program. This makes as much sense as teaching them brain surgery.

I know of no upwardly mobile, reasonably successful adult, 18+, who knows how to program.

Huh? Surely I'm misreading this or there's a typo here. If not, you've stumbled into the right place. Say hi to the legions of programmers on HN who are upwardly mobile and very successful.

Re: Show HN: An iPad app to teach kids how to program

#25
post #16

Getting a programming environment is indeed a barrier which I have experienced a number of times. This contrasts with schooldays when I could start writing a basic program simply by switching the computer on. Why don't Apple, Microsoft etc. package the stuff you need to get start programming with their OSes? (So one could begin learning with 5 mouse clicks or less.) Sorry if this is a hopelessly naive question

"Why don't Apple, Microsoft etc. package the stuff you need to get start programming with their OSes?" They do, or at least Apple does with the inclusion of a version of Ruby as standard in OSX, various shell scripting options, and Xcode available for free from the Mac App Store (although I would question how easy that is for a novice to get started with). Windows? Not so much.

Microsoft does this by releasing "Express" editions of Visual Studio: https://www.microsoft.com/express, which is available for C#, C++, Basic, JS/Web and Windows Phone. Although the installation is different (Mac App Store vs hunting it down on Microsofts website), what they actually do is very similar.

Re: Show HN: An iPad app to teach kids how to program

#27
I learned to program on my TI-82 calculator because I couldn't pay attention in my Engrish class. Learning to program allowed me to actually understand the math I was studying and put it into a practical framework. Especially since I was replicating a lot of games that I couldn't afford. It was great.. I was learning and becoming more popular by distributing these games to my classmates.

I played your app with a kid I mentor (he is 7) and he got bored of it very quickly. I think the main problem is that it does not have a clear objective. I can make a dinosaur move, but OK... I get bored super quick. Now. Old school games like the incredible machine... that's an awesome game because its colorful, the objective is clear, there are tons of flexible solutions per stage and it causes him to think with the tools he has in hand.

If you add in a mission based structure, I think that will help in the use and addictive-ness of the application. A thought to consider!

Re: Show HN: An iPad app to teach kids how to program

#28
post #11

I always wondered how successful those apps and languages (Logo etc.) are as learning tools. It seems like a great idea - you make colorful apps, that are easy to fiddle with and you sneak in coding under 'move dinosaur few centimeters to the left' cover - but 'real' programming is not very much like this - it might create false illusion to those children, that it's and fun and easy, and you get real programs working…

I don't think kids will make such a big jump. :) But I agree in a point you made... you can't expect a "learning tool" to be created with just a few cute graphics. I would argue that this sort of tool would be super valuable once you add in the element of "infinite possibilities" of things to do. It's not quite there yet... but could be if adding in some elements such as a mission based structure with increased complexity.

Re: Show HN: An iPad app to teach kids how to program

#29

I learned to program on my TI-82 calculator because I couldn't pay attention in my Engrish class. Learning to program allowed me to actually understand the math I was studying and put it into a practical framework. Especially since I was replicating a lot of games that I couldn't afford. It was great.. I was learning and becoming more popular by distributing these games to my classmates. I played your app with a kid…

As an aside -- I picked up Scribblenauts on iOS recently. It's not quite as good as I remember the Incredible Machine -- but it's got a lot of the fun "let me come up with a weird solution to this problem" puzzles. Worth the $2 if you haven't got it.

Re: Show HN: An iPad app to teach kids how to program

#30

I learned to program on my TI-82 calculator because I couldn't pay attention in my Engrish class. Learning to program allowed me to actually understand the math I was studying and put it into a practical framework. Especially since I was replicating a lot of games that I couldn't afford. It was great.. I was learning and becoming more popular by distributing these games to my classmates. I played your app with a kid…

I totally agree. Programming is a hard thing to "teach" when so many of us "learn" it in order to accomplish something.

As the saying goes, some things are taught, and others are learned.

I don't have an iPad, so I couldn't try this app, but these are just my thoughts on kids' applications in general, not the app itself:

I agree that in a learning-based program, a mission of some kind would be helpful, but too often, creators of these apps think it's good enough to put in a smiling dinosaur, or a silly animal friend and that'll do the trick. It does not.

I have a 7 year old, and he is just starting to like to "create" on the computer. He loves Sploder.com for creating games right now, but programming doesn't interest him much. If I told him to move a dinosaur across the screen he'd look around for his 4 year old brother who still likes smiling dinosaurs. At 7, which I think is a good early age to start programming, they are already into monster trucks, clone wars, and big time action. No more cutesy stuff. If that dinosaur didn't devour Jedi's, I don't think he'd like it much.

Post reply on HN