(UNDER Construction April 20, 2021)
The hottest topic in education for kids in the last 5 or 10 years has been the emphasis on STEM or Science, Technology, Engineering and Mathematics,
It was found that kids in North America especially were not doing to well in these areas especially young girls so the commercial sector was encouraged to make products to make it easier to teach these areas in school.
Computer programming or coding and computer engineering was the main area which girls needed to be directed towards.
So lets talk about the various tools that can be used to introduce young people and just about anybody to computer programming.
Lets deal with some of the easy ways to learn coding. Most elementary kids will learn coding with paper based games or since the learning toys like Lego Mindstorms and Meccano.
We will later touch on the easier languages found on some toys like Scratch, Blockly, NXT-G, Eclipse, Pictobox, Matlab simulator, Labview Makerhub etc.
But back to Mindstorms. Basically Mindstorms was brought to the public in 1998 but started earlier when an MIT programmer named Papert created a Software language called Logo which allowed kids to move a robotic turtle around .
Basically the Logo language was merged with the Lego company and Mr Kristianson from Lego came out with the Mindstorm product and over the years it has evolved from the RCX to the NXT to the EV3 etc.
Now even before we start using coding tools, lets talk about how kids can be introduced to computer programming.
Its a matter of training your brain to think like a robot….that everything in life happens in a certain sequence and there are choices that you make which direct you to do one thing or another.
Many instructors say that there are 5 rules or steps to follow in programming.
- make a plan of what you want the program to do
- use special words that the computer needs to see like “move” or “wait” or “loop” which might get input from the user, or offer a choice of something to do or do an action
- put certain things to do into a group of similar things
- use logic to decide what to do like “and” or “if”
- check out the environment and do actions until something wants it to stop
That is the basics of programming. You write down what you want the program to do in sequence and you write down various events that can happen and then the choices of direction that your program should take depending on which choice you make. At some point you do it over and over again and then eventually you stop or stop the program.
So start getting the kids to write down how they throw a ball or walk across the street. You start on the sidewalk and if the light is green then you walk forward but if a car comes then you stop. You get across and then you decide to turn left or right or go straight. If your teacher tells you to come back to school then you retrace your steps and go back.
So after you start with teaching kids or adults to list all of their actions in a simple activity like walking to school, then you can introduce them to programming games or flashcards or systems/programs like Mindstorms or even simpler things.
A simpler ideas is this neat catipillar toy which has a motor in the front and then a handful of electronic connected USB body peices that when you put them together in a certain way, the catepillar will move forward and then perhaps turn left and them perhaps play a song and then turn left.
Its a great way to introduce a child to the idea that they can program an object like a toy catepillar to perform a certain sequence and that they can easily change the sequence and see right away if they programmed it correctly and make a quick fix if needed.
Then you might want to introduce the child to the idea of putting numbers or words onto a screen and pressing a button to run a program.
This neat older toy tank lets a person do some basic programming on its screen to make the tank turn left or right and record a sound or play a sound etc.
It allows a person or child to program without really worrying about using a programming language other than a symbol of a left turn or a speaker for a sound.
This is the next step up to what you would do with a Lego Mindstorm toy or Meccano when you download the software to your computer and you move a series of blocks around the screen of lerft turns, or pauses or motors etc.
After that you may start to get fancier with a computer language a bit more advanced than a series of blocks.
Usually toys like Lego Mindstorms or Mecanno Meccanoid have a visual “block” programming environment that you download .
Usually you move blocks around the screen in various orders to make your robot do certain things like move left 5 times and access some of your sensors and do something a number of times.
MIT has an easy to build a smart phone APP website at APPINVENTOR.MIT.EDU . You can build an APP online at their website and view your progress on your cellphone or you can download the program to your own computer and create an APP while off the internet. here is the download site https://sourceforge.net/projects/ai2offline/files/latest/download
Its good to learn the basics of putting actions in order and doing them a number of times or only if certain conditions are met.
The newer Lego Spike Prime toy using a visual programming environment which is like the Scratch program used in alot of schools in North America and elsewhere.
Now you can add some version of Python to the Lego and Meccano toys and many other toys and then learn and use that powerful language that is used in high end commercial robots as well.
Another few simple robots are the catepillar “think and learn code a pillar” toy and the moving vehicle one shown here in the photo.
With the catepillar a child can connect various USB pieces to the main head/engine and the catepillar will go left or right or play a song to demonstrate some very simple programming concepts.
The $500 Cosmo toy from Anki could be programmed but has been discontinued and I believe that the cloud support is not available which is why many people hate buying cloud based toys in case the company goes broke and stops supporting the toys brain power.
The Cosmo has 2 great AI features which are facial and spatial recognition. There is a Python add on with the Cosmo Python SDK community.
Here are a few of the more advanced toys for teens and many adults which are great to learn about robotics.
- Sony “KOOV”
- MIT “Scratch” language
- Google “Blockly” language
Lets cover some of that and then in the next section we will cover the traditional computer programming languages that have been used for other things in the past but are now being used alot with regards to robotics. These languages are c, C++, Python and they are used by the home robots enthusiast on microcontroller boards like the Arduino.