3 ms·
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
by klausa 15y ago
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 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.
- laironald 15y agoI 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.