Scratch makes it easy to program your own interactive stories, games, and animations — and share your creations on the web. As you create and share projects with Scratch, you learn to think creatively, reason systematically, and work collaboratively. Scratch is a project of the Lifelong Kindergarten group at the MIT Media Lab. It is
Why teach kids programming or robotics?
Sometimes I think, “aren’t I just letting my kids fool around on the computer and play with toys? What are they really learning?” For starters, they are fooling around and having fun, but I also know that programming and robotics are “thinking development” tools. They require kids to solve problems, anticipate outcomes and come up with solutions. They reward logic. They build real
What can Scratch teach kids that can be applied to other computer languages?
If Scratch can be taught to eight year olds, how useful is it anyway? Scratch, like Alice, and Etoys, was developed to make learning the logic and concepts of programming easy and allow the student to move past the frustrating and tight syntax requirements of more advanced computer languages like C. Scratch is much more forgiving,
What we built this Fall
Here are a few videos and images of robots we built this Fall. The first few classes focussed on building rovers. The classes start with a very simple, single motor rover, in two versions. One that is fast, but breaks easily. The other is slow, but reliable. We discuss how efficiency and reliability or reproducibility are important in robotics design. We
Why aren’t there any smiling kid’s faces in my photos or videos?
I can see some people coming to this site and wondering, where are the photos of all the happy kids taking her classes? Why are there only feet or hands in the videos? I admit, it seems a little odd, even to me. It is mostly nerves. I am too concerned about invading the privacy
What we built this Fall
Here are a few videos and images of robots we built this Fall.
The first few classes focussed on building rovers. The classes start with a very simple, single motor rover, in two versions. One that is fast, but breaks easily. The other is slow, but reliable. We discuss how efficiency and reliability or reproducibility are important in robotics design. We deal with gear and wheel friction and how changing the gear sizes changes the speed of the rover, even as the motor and all other parts remain the same. Changing the wheel size does the same thing, and I see the first inkling in my students eyes of really understanding rotation and motor control through gearing.
Then we moved to a two motor rover. Two motors means separate control of the axels, and that allows the rover to turn. A robot than can turn requires programming to do so, and here is where the fun really begins. Now we can add touch sensors and light sensors. The robot can back up and turn when it hits a wall, turn off and on with a flashing light. Every kid was able to program the rovers to respond to obstacles and follow a line on our test pad. See video at: linetracking1. This will always be one of my favorite classes.
By October we were ready for a little more adventurous designs. We made a roving, arm waving, free design rover, and clutching hands and claws for Halloween. I wanted the students to use off-set rotation, allowing things to wave, wobble or vibrate, depending on the speed of the system. See ghostvideo . I also wanted them to learn how directly linked gears actually rotate in opposite directions, allowing for a clutching, opposable thumb-type action.Halloween hand video
Our most challenging build was the biped mini-bot. This little robot uses only one motor, waves his arms and legs, and is remotely controlled through a long lead to his RCX brick. His movement relies upon controlling the center of gravity of the mini-bot. The gearing is complex, involving crown gears and gearing accross four corners. Once its built, it is cute as a button! Getting it to walk straight, well, let’s just say it requires a lot of patience and careful programming.
For relief from touchy designs, we returned to rover bots and it was time for free design. Naturally the students quickly set up robot wars, races and rover-destroyer bots to compete with each other. I was genuinely impressed with what the kids were able to build based on their earlier designs and with their own imaginations. One video is drill car vs. robot destroyer
Finally I gave the students their first Robotics Challenge. I wanted them to make either a house that lit up or otherwise responded to a car driving up to it, or a door that opened and shut when a car drove up, or a car that sensed when it drove up to the house or door structure and responded appropriately to it. For some of the younger students, this kind of combined free design and thoughtful programming would be too much. For these students I set specific design plans for them, allowing them to build rovers to participate in the challenge without having to complete the challenge. It was tough, but several groups were able to make a door that lit up in response to the rover and one group made a swinging door that opened and shut for the rover bot. This challenge requires the students to program the light sensor and motor in a coordinated fashion and requires good knowledge of gearing. I was very pleased at all the effort the students made, successful or not, and I let them all build crazy cars to crash after that.
Some classes had more experienced builders than others, so they were able to complete additional designs. One design came from “Forbidden Lego”, which was the airplane launching, clutch action, rubber band gun. Since most of the students were more focussed on the rubber band action than the clutch mechanism, I decided to change out this build for future classes. Very fun, but I’m not sure the educational value was quite as high as most parents could expect from this class. This is definitely one for a rainy Saturday, and I’m happy to hand out instructions to any parents that are interested. It does not require a programmable brick or motor, and will keep your kid busy for hours.
Lego: technic kits vs robotics, NXT vs RCX and more
Parents often ask me about getting their kids Lego robotics equipment and what the differences are between all the products out there. So I’ve decided to put together a quick breakdown of the types of Lego products and some pros and cons about each line.
1. Regular Lego: these are the bricks we all grew up with. Of course, now they come in kits costing 10 – 800$ and come ready to have your child assemble replicas of star wars space craft, architecturally correct models of famous buildings, and can be populated by an never ending line of mini-figures. There are no batteries, motors or programmable bricks involved.
2. Lego Technic: these are the “holey beams” sets. For very young kids (under 7), these are rather hard to work with because the bricks and connections they make are very strong and rigid – therefore hard to get apart if you misassemble something or want to use it in another way. However, these are what you want when building robots or other movable designs. They are light, strong, and allow for special connections, like having an axle fit through the holes so wheels can be put on and the axle can still turn. Some of these kits come with motors and battery packs. They do not come with programmable bricks.
3. Lego Mindstorms – NXT and RCX: The Lego Mindstorms kits come with lego technic pieces, motors, programmable bricks, instructions, and a CD rom to run the programming software on your computer. These are the robotics kits. They come in toy sets (make your own robot, usually with enough parts to make three different versions), and the educational sets, with come with lots of parts to make many different types of robots. The NXT is the new system that you can buy off the shelf right now. It is more functional than the RCX – you can upload any sound file you want for instance, and there are more sensors – but the RCX is more “buildable” in my opinion. It has more sites for attaching lego pieces to it (NXT is more “smooth”), so I think its more fun/easier for kids to build with. However, to purchase RCX bricks, you need to buy a used set, and then you need to be careful to ensure the set is complete and in good condition (programmable brick, motors, wires, sensors, instructions, CDrom, and all the other parts). Another issue with RCX bricks in the operating system needed to use the programming software. It needs to be the older Windows Vista or Windows XP operating systems. Make sure you have an older operating system available, or it just won’t run the software. Of course, you can buy a lot more RCX bricks, motors and pieces for the cost of new NXT, but over time, NXT will be what everyone builds with. In fact, First Lego League, the leog robotics competition league, is all NXT now. So if that is the direction you want your kid to move in, perhaps spending the money on NXT systems is what you have to do. First Lego League is for kids 9-14, so if you have a year or two to go, then start with some cheap RCX. Its just too frustrating to watch your kid play with the NXT set once, and put three hundred dollars worth of toy under their bed.
That’s my brief explanation of Lego kits. I hope this helps and remember, no matter what you buy your kid, they’ll enjoy building with it.
What I would recommend buying for your robotics-obsessed kid.
Some of you asked me about recommending robotics and lego robotics gift
ideas for your kids, and I know I’m very late responding, but here are
some recommendations that will stay true throughout the year. I apologize
for being late with this, but it took me a while to find some ideas I
could really stand behind.
My number one recommendation for a lego product comes from a review in
Make magazine. Its the Lego technic container truck 8052, retails for
around 70$. Its not programmable, but comes with a really cool linear
actuator and motor, battery pack, and can be used with all the other
technic sets. Without programming, its not a robot in the pure sense, but
for building experience, a great set that can be added to, and will
encourage free building, all at a price I don’t choke over, I think its a
hit. I wish I could justify buying one for myself…
For reliable programmable robotics for kids, there really isn’t anything
comparable to the NXT and other lego programmable brick systems (older is
RCX, what I use). Obviously, I like them, but they are expensive. The
educational sets are considerably better than the NXT robot toy sets if
only because they allow for more different projects to be built, but they
are costly. And don’t forget the cost of the software. Make sure any kit
you get, new, used, educational, whatever, you must have the software to
program the brick. I would put this as the number one question to anyone
selling you a set on Bricklink or Craigslist. I’ve come accross people
selling sets who didn’t even know they were supposed to include the disk
with the robotics software. You also need it to have at least two motors.
Newer NXT and technic sets will come with more of the nice rounded pieces.
Older RCX containing mindstorm sets will not have the rounded sets. The
issue between the newer and older sets comes when getting instructions for
robotics builds. NXT build sets are different enough that the
instructions will not work for RCX and vice versa. A lot of the online
free directions are for the NXT. Rather frustrating for me, but I will be
posting more and more RCX ones for all the old schoolers like me out
there.
As for non-lego stuff. I have a real soft spot in my heart for all sorts
of model building projects, and ones with motors and moving parts are my
favorites. These are of course not true robots as they are not
programmable, but they are still good building experiences for kids. Most
use the little motors I sent them all home with, which run about 4$ and
can be bought at any Radio Shack. Then sets of plastic gears and little
robot models can be picked up at model shops like Boss Robot (College Ave,
Berkeley or www.bossrobot.com). Sciplus.com also has lots of very
inexpensive 10-20$ range, but as one reviewer put it, these are “more
fragile than agile”. Might be too frustrating for young builders, but if
they can see it as a building experience rather than a heavy duty toy they
can play with, they make for really fun model builds.
I generally like to have kids see real motors and start building models
because I don’t love the price tag Lego puts on their products and because
those are the toys I grew up with. That being said, nothing beats Legos
for longevity and amazing robotics products. Like I mentioned above, the
Technic sets have a whole lot of great motors, battery packs, gears and
actuators that make for great building without heading down the truly
pricey NXT road.
Ok, those are all my thoughts, and again, I realize this is late. For
last minute models, I’d hit radio shack or boss robot and don’t buy
anything too expensive because its likely to break. But the motors can be
used over again, and with some balsa wood and household recycling, hours
of fun can be had. Think “make your own spin art machine” or “how much fun
is a spinning popsicle stick that knocks over lego towers”. Radio Shack
also sells really good extra strong double sided tape that works well in
household building projects. It comes in strips, not rolls, and the
motors are called micro motors. Better than the stuff at the hardware
stores and rather useful to have around the house.
Happy Holidays to you all,
-Frances
What is the coolest thing your kid will do in robotics class this Winter?
Perhaps the coolest thing your kid will do this Winter is to make a robot rover track along a line. The rovers do this using a light sensor that can tell the difference between the black line and the white mat. With some simple programming, the rover “knows” to follow the line.
Maybe the coolest thing will be learning to use the touch sensors. These little gadgets can be programmed to cause an action either by being pushed in (think running into a wall) or by being released (think firing a ping pong ball). They can be used to launch the catapult or simply start and stop the car.
What will your kids think is the coolest? Will it be the walking robots, the scampering bugs, the scooper or ping pong ball launcher? The fastest rover or the drill car? Robot wars will come in near the top for many of the kids. For others it will be the first time they get the light to turn on as their house senses the rover bot approaching.
What’s cool for the parents? Perhaps it’s knowing you are giving your kids a chance to build complicated machines, learn some basic programming, or spend their afternoons experiencing gear friction, motors, and light sensor technology hands on. Perhaps it is just the hope that problem solving skills they learn will be used in all their non-lego robotics challenges, or that may spark their interest in engineering and design careers.
That’s the coolest part for me.
Why aren’t there any smiling kid’s faces in my photos or videos?
I can see some people coming to this site and wondering, where are the photos of all the happy kids taking her classes? Why are there only feet or hands in the videos? I admit, it seems a little odd, even to me.
It is mostly nerves. I am too concerned about invading the privacy of my students to post pictures of them. I know many of the parents would give their permission, but still I have hesitated. I haven’t asked. When I think about it, I know its a lost opportunity for my business, a squeamishness that perhaps I can’t afford, but I am running a little business, out of my home, to kids in my community. I think the parents can ask their kids if they are having a good time or not, without me soliciting pictures to post. I guess I am relying on good will and personal referrals.
I’m sure some would find my choice overly cautious, perhaps ridiculous, but believe me, this is a rather self-interested choice on my part. I know that very soon I will have to insist my children be oh, so careful with their online presence. I’m sure many a night will involve discussions of Facebook privacy, what exactly was meant in a text, and (hopefully not, but one must be prepared) consolations over a mean cyberspace attack or regretful posting by a former friend.
This is what I thought about when I chose not to put the happy faces and excited yips from my students online. I thought about how close to their teens many of them are. How quickly a few years go by. How difficult it will be for me to say to my kids “but you were younger then, it was ok. Do as I say, not as I did!”
So, for now, I refrain from the happy photo shoot and rely only on videos of the bots, with the occasional back of the head, hands or feet in the shot as the only proof my students were ever here. To be honest, I’m pretty sure it will all be ok, with or without the pretty photo shoot with the kids.
Frances Donovan,
overly cautious parent and proprietor of Animation and Robotics.
Robotics is not for Reading
My favorite thing about Robotics class? Its not about reading. This is not a class about the words used to describe engineering. This is a hands on class. A class where you get to work things out for yourself, learn problem solving skills, and show off your creativity and smarts in a whole different arena than the typical classroom.
I know reading is fundamental, and I read to and with my kids every night, (and I risk being run out of town for suggesting I like something for kids that doesn’t emphasize reading). That being said, there are many ways to learn and stretch that brain power, and sometimes its great to have a learning tool that has nothing to do with reading.
With robotics, kids get to build it, show it off, discuss it with their friends. Plenty can be learned from “playing” with complex toys.
There is nothing like the joy of figuring it out for yourself. There is nothing like Robotics for fun.
What can Scratch teach kids that can be applied to other computer languages?
If Scratch can be taught to eight year olds, how useful is it anyway?
Scratch, like Alice, and Etoys, was developed to make learning the logic and concepts of programming easy and allow the student to move past the frustrating and tight syntax requirements of more advanced computer languages like C. Scratch is much more forgiving, intuitive, and immediately rewarding so the students can focus on understanding the concepts – loops, threads, statements, events and boolean expressions – that are the underpinning of most programming languages. And keep in mind, they were developed for and are used by the college freshmen taking introductory computer science courses at MIT, Carnegie Melon, and yup, even Harvard (not that they are such the bastion of CS, but take a look at their intro course that features Scratch – http://academicearth.org/lecture/introduction-to-programming-and-scratch its pretty funny.)
Why teach kids programming or robotics?
Sometimes I think, “aren’t I just letting my kids fool around on the computer and play with toys? What are they really learning?”
For starters, they are fooling around and having fun, but I also know that programming and robotics are “thinking development” tools. They require kids to solve problems, anticipate outcomes and come up with solutions. They reward logic. They build real life thinking skills that apply to any area of study. I am always amazed by what they can do and how hard they are willing to work to make their animation or robot do what they want it to do.
Creativity is also highly rewarded. Making an animation or video game, designing and building a robot – these are very creative activities and they allow kids who are surrounded by technology and digital media to make something of their very own. Knowledge is power. Self expression is a form of power, and empowered kids are happy kids.
This is fun, low stress learning in a hands on, do it yourself environment. Programs and robots give kids immediate feedback on their performance – it worked, it didn’t work, it gave an unexpected result. There’s no grading – you just work at it till you get the job done. I’m amazed at how much effort kids will put into solving a problem if it involves completing their video game or making their robot move. Its funny, but I never see that kind of focus put into emptying the dishwasher or putting away their clothes.
Like most parents, I worry about my kids education – will they be prepared for the future, are they getting enough math, science and engineering at their school? I don’t have a crystal ball, but I think being tech savvy and knowing a little programming will help any kid in the future. I think all kids should learn a simple programming language like Scratch in elementary school and Greenfoot or similar in middle school. I think kids need to grow up comfortable with the idea of learning new computer languages. Robotics is a great way to teach physics and engineering. The basics behind technologies like sensors, actuators, and power sources can all be learned with robotics, and I hope all schools can add this to their curriculum. In the meantime…
I’ll work on making this true in my local school system, and I’m teaching classes to catch the kids who might not get this otherwise.
For more on exactly what I think kids can get from Scratch see “What can kids learn from Scratch that applies to other programming tools.”
For more on Robotics see “Robotics is not for Reading”.
All about Scratch, a learning program from MIT’s Lifelong Kindergarten group
Scratch makes it easy to program your own interactive stories, games, and animations — and share your creations on the web. As you create and share projects with Scratch, you learn to think creatively, reason systematically, and work collaboratively. Scratch is a project of the Lifelong Kindergarten group at the MIT Media Lab. It is available for free download from http://scratch.mit.edu
That is what MIT wants me to tell you about Scratch. What I want to say is that I think Scratch is the best way to teach anyone how to start programming. Please don’t just take my word for it, take a look at Harvard’s introduction to computer science class where they use Scratch to get their students off to a good start. If its good enough for Harvard, well, maybe its good enough for my third grader…http://academicearth.org/lectures/introduction-to-programming-and-scratch Mostly, I think its simple enough to learn very easily, and powerful enough to be a super fun tool.
One last point. Scratch can appear like a simple, fun tool, but it can also be used to teach important concepts that are used across all programming languages. Scratch teaches what loops are, how variables, boolean equations, and algorythms work. They allow major concepts to be understood without punishing students for the minor syntax errors which plague students when learning more complex languages like C. Of course, Scratch is not the only language developed to help with learning programming. See my post on