Strange. Since I posted this as 'best way I've seen to teach kids programming' the title has suddenly changed to what it is now.
How To Train Your Robot
21–30 of 43 posts
Re: How To Train Your Robot
#22Re: How To Train Your Robot
#23Re: How To Train Your Robot
#24Thank you Josh for putting my work out there for all our fellow geeks to see :)
I absolutely agree with Nikos' approach to teaching programming young learners without using an actual code. If we teach kids the idea of programming early - it will then be much more intuitive for them to pick up the language formalities later. Because by that time, such a fundamental question as "why" is already answered in practice.
In other words, the time for a real language comes as an actual need that has been experienced in practice and doing. And that makes all the difference in understanding what you need and why.
It's all over the web that more and more parents and teachers come to appreciate the idea of teaching kids to code. But the problem is that they don't know where to even begin or what tools to use. As a result, kids looking to learn programming today are faced with two main extremes:
(1) storytelling, game dev, and animation programs; and (2) real-world languages or tools based on IDEs;
Programs in the first category are all fine, except for cases when the app is too compute-intensive, or 3D objects are clumsy or rough-looking (but these problems are just temporary).
But those using real-world IDEs to introduce programming are effectively training young pilots on real fighter jets. Such tools seem too complex and intimidating even for experienced computer users. What they really ought to be using is a "flight simulator", but currently there are too few tools that allow to do that and all pretty limited.
Even when we have something that useful it makes absolute sense to use physical games in the gym to introduce the notion of composing instructions for something/someone else (a parent-robot in Nikos' case :)
Nikos, thanks for sharing your work, and congrats on joining Knewton!
Hope you don't mind me including a link to videos of your class once again:
Re: How To Train Your Robot
#25I'm really happy that my class has gotten all of you excited about this and thank you all for your great comments. You guys have inspired me to keep going. I'm planning more classes with more advanced topics. Whenever I have something fresh I post it on my facebook page www.facebook.com/drtechniko. I would love for you guys to get the conversation going on there as well. DrTechniko
How much time did you give to the activity? I'd love to do this with some of the kids I tutor but I'm not sure if we'd have time. Awesome work!
Re: How To Train Your Robot
#26I am still not sure why everyone should learn programming. Every few days I read about how to learn programming not to mention codecademy and other website. Is it more of a computer literacy thing or is their a huge requirement of auto-didact programmer?
Many of us are taught music lessons early in life but only some become musicians. The main goal of these lessons is not really for us to become professional musicians in future, but to know that music is composed of notes, who the classical musicians were, what instrument are there, and so forth. The same thing applies to arts and painting classes. The basic goal is for us to get an idea about basic techniques and gifted people.
The main thing to learn is the fact that both music and painting are forms of expression and that we will continually encounter them in life. Also, with the help of these early lessons many uncover their inner genius and that helps them go in the known direction from that point on.
Since coding is an activity that trains one's computational thinking - a skill that is so relevant today - it better be introduced early in life too. It is also a form of expression, and knowing that it exists and how it can be applied is just as relevant as knowing about arithmetic, letters, music, art, etc.
I don't suggest that the format of the current classes is the right one (in fact, I believe that it is not), but it is essential to have a child-friendly methodology and teach coding, or rather "programming", as a skill early in life.
Re: How To Train Your Robot
#27I am still not sure why everyone should learn programming. Every few days I read about how to learn programming not to mention codecademy and other website. Is it more of a computer literacy thing or is their a huge requirement of auto-didact programmer?
Similarly, programming is the ability to control computation. It's very hard for us to understand just how a society would behave when 90% of the population has the power to create any software tool it needs, to compute sophisticated statistics, and so on.
You'd be hard-pressed to find anyone today who disagrees it was a good thing that (almost) everyone learns how to read and write. I'm also convinced 100 years from now, you won't find anyone complaining about widespread programming ability.
Re: How To Train Your Robot
#28Very clever. I'm also hoping Notch's 0x10c game will also be a good programming teaching tool for kids.
Their team just raised 170k on Kickstarter and they have the beta ready for download.
http://primerlabs.com/download
http://www.kickstarter.com/projects/primerist/code-hero-a-ga...
Re: How To Train Your Robot
#29Re: How To Train Your Robot
#30I am still not sure why everyone should learn programming. Every few days I read about how to learn programming not to mention codecademy and other website. Is it more of a computer literacy thing or is their a huge requirement of auto-didact programmer?
Fundamentally (and one would hope that this part is made clear to students, teachers, administrators and parents), what is being taught and learned is a method for developing procedures. And I don't mean "procedures" in the context of computation, but procedures in general. I'm talking about the act of dividing a task into its component bits, determining what has to happen in what order, and deciding when things are "done" (whether that's in the sense of being absolutely complete or "close enough for government work").
Those are skills almost everyone needs in life. Programming computers or computer-controlled machines is a great way to learn those skills because of their (to anthropomorphise a bit) literal-mindedness. They aren't going to make assumptions about your desires or correct your meaning. They'll do what you tell them to do if it's at all possible, even if what you told them to do is wrong or stupid, or fail in a most ungraceful way (unless you also taught them to fail gracefully).
We may never reach a point where we need everyone to be able to write software, but we're beyond the point already where we need everybody to be able to give and take instructions.