Archive for Animation and Programming Info

What can Scratch teach kids that can be applied to other computer languages?

logo1

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?

photo 3

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