Live data from Hacker News

How To Train Your Robot

drtechniko.wordpress.com

21–30 of 43 posts

Re: How To Train Your Robot

#22
post #21

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.

I think HN simply "de-linkbaited" the title.

Was it really link bait? Just described what it was IMO. Weird.

Re: How To Train Your Robot

#23
I 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?

Re: How To Train Your Robot

#24

Thank you Josh for putting my work out there for all our fellow geeks to see :)

Thanks for sharing this, Josh!

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:

https://www.facebook.com/drtechniko

Re: How To Train Your Robot

#25

I'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!

The whole class was about an hour. However, I spent about 20 minutes or so playing a different game which would get the kids excited about robots. I showed them some robots that exist today from current research and I actually had a little robot I made, which started walking when you clap. This way I introduced them the concept of a "brain" or computer residing inside the robot so that it would do stuff if you gave it the right instructions.

Re: How To Train Your Robot

#26

I 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?

It better be a computer literacy thing.

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

#27

I 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?

You can easily compare this to literacy, the ability to control written communication. I'm sure around 1800 many people didn't understand the point, since you could always just walk up to almost everyone you'd want to communicate with. There was no way then to forecast all the implications (esp social and technological) that widespread literacy would eventually entail.

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

#28

Very clever. I'm also hoping Notch's 0x10c game will also be a good programming teaching tool for kids.

SkyMarshal, check out a new game called Code Hero. It's a game that teaches kids how to control Unity 3D env with code.

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

#29
post #21

Earlier quoted context omitted.

I think HN simply "de-linkbaited" the title.

Was it really link bait? Just described what it was IMO. Weird.

There's a cultural inhibition on HN against editorialising article titles. It's technically in the guidelines, I think.

Re: How To Train Your Robot

#30

I 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?

It's easy to fall into that line of thinking if you always see "computer programming" as a single, integrated concept. It's not, although using computers is a great way to teach the actual concepts underlying the exercise.

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.

Post reply on HN