This reminds me of playing RoboRally ( http://www.wizards.com/default.asp?x=ah/prod/roborally ). RoboRally is a board game where you have to program your robots next 5 steps with instruction cards (turn left/right, move, ...).
How To Train Your Robot
31–40 of 43 posts
Re: How To Train Your Robot
#32Awesome ! Love that part : For some reason, kids loved making their parents repeat stuff 100 times over. It's exactly the kind of thing I used to do when I first tried a programming language (printing random stuff 500 times already feels strangely empowering... not to mention email spamming scripts!). I guess it's one of the main purposes computers were made for.
If I were to teach programming to a class of kids in the 8-16 range, I'd probably get a Python environment up and running and spend:
- Two to five minutes explaining a small concept (start with the print statement, go to variables, then operators, then functions, and so on and so forth) - A couple of minutes playing around with the concept using some neat functions or classes which you write before the lesson. Like a send_email() function, where you supply each kid with a disposable email address and password. - Up to an hour repeating the first two steps. - A few seconds giving them an optional homework assignment which they can work on and show off to their classmates when they come back.
I'm sure they'll be hooked when they find five hundred emails in their inbox, that's certainly the sort of thing that got me hooked back when I first started.
Re: How To Train Your Robot
#33Re: How To Train Your Robot
#34Re: How To Train Your Robot
#35Awesome ! Love that part : For some reason, kids loved making their parents repeat stuff 100 times over. It's exactly the kind of thing I used to do when I first tried a programming language (printing random stuff 500 times already feels strangely empowering... not to mention email spamming scripts!). I guess it's one of the main purposes computers were made for.
I couldn't agree more. Whenever I'm learning something, I find that breaking things is the best way to get concepts to sink in. You don't know what a null pointer is until you dereference one. If I were to teach programming to a class of kids in the 8-16 range, I'd probably get a Python environment up and running and spend: - Two to five minutes explaining a small concept (start with the print statement, go to variab…
Do you mean 8-16 as an age range or a number of students in the class?
Also, not all kids get excited at the first sight of scale. It often requires taking time to explain things and give different examples of this phenomenon.
Re: How To Train Your Robot
#36Earlier quoted context omitted.
I couldn't agree more. Whenever I'm learning something, I find that breaking things is the best way to get concepts to sink in. You don't know what a null pointer is until you dereference one. If I were to teach programming to a class of kids in the 8-16 range, I'd probably get a Python environment up and running and spend: - Two to five minutes explaining a small concept (start with the print statement, go to variab…
I agree with you on your first point where you say that the best way to get concepts is by breaking things. But two to five minutes for explaining such CS concepts as variables, functions, and even operators may prove to be nothing more than just a fleeting moment, especially if you are dealing with a group. Do you mean 8-16 as an age range or a number of students in the class? Also, not all kids get excited at the f…
It seems to me that attention span is the biggest hurdle. You're unlikely to hold a ten year old's attention for more than a couple of minutes if they don't have a solid understanding of why the concept you are teaching is important and how it ties in to the other concepts they have learnt. If you can show them how useful a concept is, they're probably more likely to go and gain a more thorough understanding on their own.
> Do you mean 8-16 as an age range or a number of students in the class?
Age range. Ideally you would want to avoid having that sort of spread in a single class (perhaps take one class for the 8-12 age range and one for 13-16 age range).
> Also, not all kids get excited at the first sight of scale. It often requires taking time to explain things and give different examples of this phenomenon.
True, I'm just basing what I wrote on what my friends and I found particularly interesting. It's probably different for everyone.
Re: How To Train Your Robot
#37This reminds me of playing RoboRally ( http://www.wizards.com/default.asp?x=ah/prod/roborally ). RoboRally is a board game where you have to program your robots next 5 steps with instruction cards (turn left/right, move, ...).
How did you find playing the RoboRally game? Did you think you that were being taught programming, or that you were just playing a board game? Thanks.
I think what people can learn from the game is how to combine simple instructions into more complex robot movement. In addition, you to step through your 'program' in your head in order to check that it is doing what it is supposed to do. But I honestly cannot say if this game is suited to teach programming.
Re: How To Train Your Robot
#38 1. Unscrew lid of peanut butter jar
2. Put knife into jar
ERROR: knife cannot enter jar, lid is still on top of jar.
Her goal was teaching how to write the method section of a scientific paper, but I find it far more valuable to teach introductory programming.Re: How To Train Your Robot
#39For the past 5 years or so, I've been spending my summers teaching kids how to program, build robots, make websites, videogames, etc. I usually teach algorithms without using a computer as well. I put kids in groups, and give them a shuffled deck of cards. How can we sort it as fast as possible? Can they come up with their own techniques? Then we have little challenges to see which group sorts it the fastest, and the…
My kids are in ages 8-12. One big problem is that I must find a way to have them work and explore on their own, but most of the tutorials and documentation that I know is good and up-to-date, is in the English language (and I'm Dutch, as are the kids). At that age they really can't yet read English very well.
Of course the best solution to that problem is to spend some more time and try to find good Dutch HTML tutorials. They should be out there, it's just that my Internet bubble seems to be a bit anglo-centric :) Also if Python was invented by a Dutch guy, there should be some quality Dutch language material written on it, no?
But apart from that, I also wonder if there's some other ways that do not involve reading manuals. While the cards thing seems interesting, I wonder whether the kids would be excited about it, it's not a school, they go there after school and are offered the opportunity to work on all sorts of technical projects with our guidance (there's also an electronics lab where they get to solder resistors and diodes and such to make flashing LEDs etc).
I'm kind of looking at how the more "crafts" like departments have it easier (apart from electronics, there's wood, metal working, clay/pottery and more). There, the teacher can just show how to do something and explain, multiple kids can watch and then try it themselves. With the computers it's like they can't do very much or explore new things without me explaining them one-on-one. Which takes way too much time and also isn't really the best way to facilitate the "exploration" aspect (which is one of our goals).
So I sort of know where the problems are, but I'm kind of stumped on how to fix them. Except for taking the time out to write tutorials (and perhaps some screencasts) myself.
Re: How To Train Your Robot
#40For the past 5 years or so, I've been spending my summers teaching kids how to program, build robots, make websites, videogames, etc. I usually teach algorithms without using a computer as well. I put kids in groups, and give them a shuffled deck of cards. How can we sort it as fast as possible? Can they come up with their own techniques? Then we have little challenges to see which group sorts it the fastest, and the…
I'm currently doing pretty much the same thing as volunteer work. Would you mind expanding more on the methods you use? My kids are in ages 8-12. One big problem is that I must find a way to have them work and explore on their own, but most of the tutorials and documentation that I know is good and up-to-date, is in the English language (and I'm Dutch, as are the kids). At that age they really can't yet read English…