Let's Make Robots!

Teaching school kids basic programming and electronics

UPDATE: 19/10/2013

Sorry no updates for a long time. I find that whilst trying to organize lessons and actually doing them I don't find much time to record or take pictures.

This latest lesson however I did and we had lots of fun. Unknown to many staff working at the school, many years ago there was a teacher there who taught robotics and electronics. This was so long ago that the kits they used were the LEGO RCX Educator packs. One teacher was remembered about the kits (as he was actually at this school back then) and sought out to try and find them, he did. There were six packs found at the back of a storage closet.

One of the biggest problems I have had teaching the kids is the lack of resources, I was only using my own stuff and so we only had 2-3 Arduino's floating around at a time. Now that we have six LEGO packs the kids can now work more independantly. The great thing about the LEGO is that it is simple to work with but can also be programmed in C. Once we work out how the software works I can see these as being an awesome way for the kids to make some robots.

The Principal has also been impressed with how this is progressing and we are in talks about getting new kits, VEX hopefully, to begin the inter-school competition scene here in South Australia.

The video for the lesson can be found here, or at the end oft the post. Now some pictures :D


UPDATE: 22/06/2013

Well the classes have been going for a little while and the kid have learnt to do a variety of things, however this last lesson for me was definitely a highlight. Some of you may have seen James and Ben being posted lately, these bots were made for the students to assemble and program. I pulled both the bots apart and made a complete set of instructions for them to replicate them. The lesson went very well and one group managed to finish thier robot in one lesson and the other was almost finished. At the end of this post I will add a video showing this lesson.

 


 

Updated: Added video

My old physics teacher has contacted me in regards to helping teach some kids (10-13 years old) some basic programming during Friday lunchtimes.

I gladly accepted the invitation and we are now planning what we are going to do. He also tossed to me the idea of perhaps going over some basic robotic principles, again I gladly accepted, however I am finding it hard choosing what exactly we could do.

I have included a ‘mind map’ at the bottom of the post to show you what I have thought about and what ideas I have already had.

These lunchtime session’s will last a minimum of four weeks but could be extended if the turn out and interest is acceptable, each lunchtime goes for 45 minutes.

At first we will go through basic programming, such as structure and flow. I expect these sessions to last a while but would like to get them involved along the way to not make the start of the sessions boring, so I had an idea to get them programming games. Some of you may know that games programming was the first hobby of mine and I have had many years practice with GameMaker. I would like to be able to teach the kids how to make a very very simple pong game. After these sessions I would like to talk about how electricity works, and how particular components work, very similar to my Arduino tutorial series, but ten times more simplistic.

Once I feel that we are ready I would like to get the kids playing around with microcontrollers, to combine both the programming and electrical skills they have just gained. I am aware that some people may argue that the Arduino language is too complicated and that I should instead go with Picaxe but I feel that teaching the kids how to program an Arduino will help them later in life if they want to go into the IT industry, seeing as the language is very similar to stock C.

I have looked through some of my first builds with the Arduino and thought about what builds the kids would love the most. I think anything with lights will be a winner so I thought about making something that lights up when it gets dark or vice versa, or get it to make sound, very basic stuff. I am aware that this type of stuff is doable without a microcontroller but that would defy the whole point of teaching them programming, if you get my idea.

It is possible for me to get 8 Atmega 328p’s with the Arduino bootloader preinstalled with a crystal and some caps for free or 3 Arduino Uno’s. If I went down the chip route I could build the boards much cheaper and only solder headers onto pins that were needed, it would also mean that if the kids wrecked it, it wouldn’t be so much of a loss. But it would save a lot of time just to buy the Uno’s, let me know what you think.

I have also looked at buying bulk lots of simple electrical components such as LED’s, photoresistors and piezzo buzzers. The ones that I have found aren’t that great so if you know if such a thing exists please let me know.

I think that is all, if I have missed some vital information let me know and I will add it.

Any opinions/remarks/advice will be much appreciated.

Below is the mind map that I have written up:

Monday assembly talk to get kids excited about it

                Talk about why programming is a good skill to have

                ‘It’s not just for computer nerds’

                Programming helps with math and problem solving

                Doesn’t have to look like jargon

                Can make some really cool things

Make it fun and interesting

                How?

                                Games, visual/physical interaction, hands on, simple to understand and execute

Make it easy

                How?

                                Easy instructions

                                Simple definitions/terms

                                Pictures/video

Make them want to come back

                How?

                                Work toward a final product

                                                Eg. Game or robot

                                Fun environment

What to use

                Gamemaker

                Scratch

                Arduino IDE*

 

 

Parts for kids to play with

                LED’s

                Speakers

                Motors/Servos

                Photo-resistors

                Switches

Possible projects could be

                Torch that lights up when it gets dark

                Basic piano

                Light seeking robot*      

Structure

                Start with programming basic game stuff

                Look at electronic components

                Use programming skills to do simple things

 

 

* = Don’t know of possibility

 


 

Me talking about the idea of programming becoming part of the curriculum for high school kids in America:

Showing the kids L33T, also got to show him going around the stage avoiding things:

Counting the kids who were interested in joining the 'club'. Thirty kids came to see me after the presentation, and several more have contacted me since, bringing the number to around 40:

The lessons don't start for a while, but I am starting to work out ideas of what the kids could make, cost being a huge issue. Ill keep you guys updated with how things are going when they happen, so stay tuned.

 


 

Had the first lesson today. The turn out was great! (as you can see from the pics the room was completely full!)

We had half an hour and covered what variables are, how to use them and also looked at if statements. I have included the powerpoint I gave aswell.

I didn't record much of the presentation and the bit I did record was pretty lame, hopefully next time I can get a rig set up and get some good recording happening.

 

AttachmentSize
Programming_For_School.pdf446.22 KB

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Maxhirez's picture

This is what I wonder when I see others teaching:

chickenparmi's picture

Hah! That's ironic because over on G+ I made a comment on the post about how kid these days need programming to be more multi sensory. These generations have been brought up with HD graphics, 7.1 surrond sound, 3D and thanks to the internet, whatever they want when they want it. You can imagine now that getting a kid to program a simple "hello world" text output doesn't do it anymore. For kids to get interested in programming it needs to have immediate and aweseome results, that's why I think teaching kids to program with robotics is the way to go. You can program a few lines of code and get a motor to move a robot etc. Thinking that we can follow the same teaching curriculum for 'teaching programming' from 20 years ago(?) when text output was the only means of interaction is foolish. 

After that comment some idiot said I made a strong case for re-introducing coroporal punishment into schools. Some people are just too stupid to be on the internet.

6677's picture

We have some RCX and NXT bricks at uni :P Both reflashed with java. Mostly used in the problem solving module in the first year, we have some of the proper robotic kits that cost several thousand pounds each too.

chickenparmi's picture

Update: New lesson pictures and video added

chickenparmi's picture

So I know some of you have been pretty keen to see me blabbing on at the front of the classroom so here it is. I am explaining variable usage in game maker, which we will be using for another week or two before moving onto Arduino programming and electronic theory.

ATM not enough money has been raised to buy the electronic parts let alone some Arduinos so I am thinking of ways that I could take mine in and get all of them to work on something. Any thoughts or suggestions would be appriciated.

birdmun's picture

So important, it was mentioned twice?!? :P

chickenparmi's picture

I only noticed that when I was actually giving the presentation haha

bdk6's picture

The new pictures tell the story.  Those kids were loving it.  Great job.  Remember, "video or it didn't happen!"  Maybe we'll let you slide this time, though.

chickenparmi's picture

Next time I will do it!

bdk6's picture

First, congratulations on the turnout.  Sounds like it will be quite successful.  You will definitely have your work cut out for you with that many participants.  Remember good organization up front will be critical.  Good luck on it.

A thought just occured to me:  you may be able to get credit at your university for this.  I'm not sure how universities there operate and are organized, but here (the US) each student has an advisor assigned.  I suspect you have the same.  I would go and talk to him/her about what you are doing and see if there is any way to get credit in your program of study, if only as an elective.  You will be putting a LOT of work into this that will be very valuable for your own education.  I would think they would be willing to work with you on it.