8 ms·
Show HN: An iPad app to teach kids how to program
This app is a graphical programming environment for kids to learn coding by creating animations.
Although we released it to the app store it's still more of a beta version and we would love to solicit feedback from HNers with iPads. To me, programming is something that kids could really enjoy but the obstacles in their way (getting a programming environment, publishing their code, learning syntax) make the barriers to entry unnecessarily high. We're hoping this will be a good first step in overcoming some of that.
http://itunes.apple.com/us/app/daisy-the-dinosaur/id490514278?ls=1&mt=8
Tell me what you think!
Thanks,
Samantha
- tdenkinger 15y agoCongratulations for getting this out in front of people. Good luck. I'll be checking it out.
- the-kenny 15y agoI like the concept and the graphics, but I dislike "website in a webview"-apps. Why not simply release this app as a website?
- smj2118 15y agoWell, there is a slightly buggy webview version at: http://gethopscotch.com/index.html http://gethopscotch.com/index.html But since it only really works on iPad we decided to release it as an app.
- lowglow 15y agoGood luck, Samantha -- looks great :) Also, clickable : http://itunes.apple.com/us/app/daisy-the-dinosaur/id490514278?ls=1&mt=8 http://itunes.apple.com/us/app/daisy-the-dinosaur/id49051427...
- deleted 15y ago[deleted]
- andycds 15y agoLet me know if you want your app in Portuguese. software.pro.br
- base2john 15y agoGreat news, I hope this means Apple will allow MIT's Scratch into the App Store soon. http://computinged.wordpress.com/2010/04/15/apple-removes-scratch-from-ipadiphoneitouch/ http://computinged.wordpress.com/2010/04/15/apple-removes-sc...
- hockeybias 15y agoInteresting!
- jocastette 15y agoGetting 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
- smj2118 15y agoI think programmers themselves have a bias against getting started easily. Everyone knows how much they had to struggle to get their environment set up so they expect it to be a hard problem and don't consider it necessary to solve when building an OS. I imagine it's simply not a priority although I wish it was.
- ChronosWS 15y agoI dunno, I started on a Commodore 64. When you turn the computer on, you are in the BASIC interpreter. It didn't get any simpler than that.
- sc00ter 15y ago"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.
- jocastette 15y agoThose 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.
- klausa 15y agoI 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 after 5 minutes. Illusion, that will break to pieces when confronted with real world - and I think that disillusionment might actually discourage kids.
- xyzzyz 15y agoOf course real life is not like this -- but it's not that bad either. You could say the same thing about anything -- why teach kids play basketball, as it might create false illusion that they will master it after few games? Why teach kids art, as their drawings will be crap judged by adult artist standards? Why teach kids anything? The educational programs serve the purpose of accustoming kids to challenges that await them in real life, and I believe that the prepared ones will be served with the less severe blow.
- smj2118 15y agoThat's an interesting comment, it sounds like you've experienced the frustrations of programming first hand. Basically what you're talking about is the issue we want to solve. There will always be frustrations around getting your code working (some would say that's the fun of it) but we hope to create something that will eliminate a lot of the other non-code problems that stop people from moving on to the next step. What we want to do next is add in a way to publish your code to the web through our app (which may morph into a web app if that turns out to be more appropriate). At that point, in my opinion, a user would be doing real programming since she or he would be creating something in code and distributing it to others for use.
- aaronblohowiak 15y agoOne 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.
- drhowarddrfine 15y agoI 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.
- smj2118 15y agoExactly! The fact that it seems so unattainable to you is the problem we are trying to solve. Being a programmer myself I know that it can be a challenging field but I also know that it's definitely something kids can do and enjoy as well. I like the analogy to Legos- not every kid who plays with Legos will grow up to be an architect or civil engineer but they can gain a great deal of enjoyment out of doing a simpler version of what these people do professionally.
- mover 15y agoI think you'll find plenty of upwardly mobile and reasonably successful adults on HN that know how to program. Many of the best started as little kids. And as software increasingly touches every aspect of our lives, knowing the basics of programming will be useful for understanding how things work in the world. Brain surgery is a highly specialized discipline that takes years of preparation before the surgeon makes her first cut--Daisy the Dino is specifically trying to make programming less intimidating to learn with a lower barrier to early success.
- ebf 15y agoI really enjoyed learning Logo in my 5th grade gifted program. I'm pretty sure that most of the class enjoyed it as well.
- ryanwaggoner 15y agoI 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.
- floggit 15y agoI 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/ http://launchpadtoys.com/toontastic/ is doing for animation/story-telling.
- KeithMajhor 15y agoIt'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 http://www.youtube.com/watch?v=faJ8N0giqzw The demo starts at 22:22 if you just want to skip to that.
- rbreve 15y agoIt runs very slow on my 1st gen iPad
- laironald 15y agoI 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!
- whatusername 15y agoAs 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.
- dpcan 15y agoI 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.