Teaching school kids basic programming and electronics
March 6, 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
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
Games, visual/physical interaction, hands on, simple to understand and execute
Make it easy
Make them want to come back
Work toward a final product
Eg. Game or robot
What to use
Parts for kids to play with
Possible projects could be
Torch that lights up when it gets dark
Light seeking robot*
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.