Saturday, 20 April 2013

10 Tools To Get Kids Excited About Programming

Precocious. That was the single adjective used to describe a child displaying some natural talent straying from the normal. A generational leap later, I am not so sure that the word holds the meaning it used to. Every second toddler these days seems to display a natural likeness for things digital. So, it is easy to assume that they will take to computers as a fish takes to water.
For the average kid (I won’t talk about someone like Lim Ding Wen here, though I will use his cute photo as the thumbnail alongside), computers and smartphones are fun tools. Education comes much later. Getting a kid excited about programming might take some doing because logic needs a bit of time to develop. It is imagination and creativity which arrive first. That’s where the crux of these ten tools lie…using creative tools to get children excited about programming.
Just to illustrate the potential of creative teaching that should help to light the fire, here’s a TED Talk by Conrad Wolfram. Slightly unrelated, but do watch it to understand why kids (once, you and me too) lose interest in mathematics. It will also explain the dire need to take instructions out of their rigid strictures and throw them into the real world and everyday living. He advocates using programming to teach math. And thus, make it more fun, instead of forcing them to learn a subject.

10 Tools That Should Help With Learning Programming Creatively

From games to programming tools, from logic to intuition, let’s take a gander at ten tools that should help to show that programming is not all about functions and loops. Here are the honorable mentions (restricted to ten programming tools)
Learn cool things about: JavaScript
Crunchzilla Code Monster was designed for kids (by Greg Linden, who wanted his kids to learn programming). It is sort of like a barebones WYSIWYG editor with one pane for code and the other pane for looking at what the code does. The Code Monster on top is a friendly ogre who leads everyone along from one lesson to the other. There are 59 lessons in all. You have to keep clicking the speech bubble to move from one to the next. The lessons start easy and are interactive. Variables and parameters are introduced and the colorful objects like boxes and trees are created with JavaScript code. Errors are also caught and explained. Code Monster saves what lesson you are on, so you can stop any time and come back later. As long as you come back on the same browser on the same machine, you’ll get back to your lesson.
What a child might like: JavaScript on the left yes, but simple graphics are created on the right as if by ‘magic’.  A kid learning programming just has to play with the code to see instant colorful results on the right.
Learn cool things about: Control structures in programming with the help of basic datatypes like words, lists, and arrays.
Logo is one of the oldest educational programming languages. It was created in 1967 for educational use and can be used to teach the basic of computer science. It is well known for its implementation of Turtle Graphics. From its early days, it has evolved and branched out into different versions for all operating systems. For instance, Elica is a Windows implementation which advances Logo into areas of 3d animation. The Turtle Academy is a nice resource for some hands on learning with this functional programming language. There are many resources like Turtle Logo and FMSLogo to tap into.
What a child might like: Teaching the turtle with movement and location commands to draw basic shapes and line graphics.


For the average kid (I won’t talk about someone like Lim Ding Wen here, though I will use his cute photo as the thumbnail alongside), computers and smartphones are fun tools. Education comes much later. Getting a kid excited about programming might take some doing because logic needs a bit of time to develop. It is imagination and creativity which arrive first. That’s where the crux of these ten tools lie…using creative tools to get children excited about programming.
Just to illustrate the potential of creative teaching that should help to light the fire, here’s a TED Talk by Conrad Wolfram. Slightly unrelated, but do watch it to understand why kids (once, you and me too) lose interest in mathematics. It will also explain the dire need to take instructions out of their rigid strictures and throw them into the real world and everyday living. He advocates using programming to teach math. And thus, make it more fun, instead of forcing them to learn a subject.

10 Tools That Should Help With Learning Programming Creatively

From games to programming tools, from logic to intuition, let’s take a gander at ten tools that should help to show that programming is not all about functions and loops. Here are the honorable mentions (restricted to ten programming tools).

Crunchzilla Code Monster

programming for kids
Learn cool things about: JavaScript
Crunchzilla Code Monster was designed for kids (by Greg Linden, who wanted his kids to learn programming). It is sort of like a barebones WYSIWYG editor with one pane for code and the other pane for looking at what the code does. The Code Monster on top is a friendly ogre who leads everyone along from one lesson to the other. There are 59 lessons in all. You have to keep clicking the speech bubble to move from one to the next. The lessons start easy and are interactive. Variables and parameters are introduced and the colorful objects like boxes and trees are created with JavaScript code. Errors are also caught and explained. Code Monster saves what lesson you are on, so you can stop any time and come back later. As long as you come back on the same browser on the same machine, you’ll get back to your lesson.
What a child might like: JavaScript on the left yes, but simple graphics are created on the right as if by ‘magic’.  A kid learning programming just has to play with the code to see instant colorful results on the right.

Logo

kids programming
Learn cool things about: Control structures in programming with the help of basic datatypes like words, lists, and arrays.
Logo is one of the oldest educational programming languages. It was created in 1967 for educational use and can be used to teach the basic of computer science. It is well known for its implementation of Turtle Graphics. From its early days, it has evolved and branched out into different versions for all operating systems. For instance, Elica is a Windows implementation which advances Logo into areas of 3d animation. The Turtle Academy is a nice resource for some hands on learning with this functional programming language. There are many resources like Turtle Logo and FMSLogo to tap into.
What a child might like: Teaching the turtle with movement and location commands to draw basic shapes and line graphics.

Scratch

Learn cool things about: Visual interactivity without learning programming syntax.
You cannot argue with 3,000,000 documented projects. Scratch has a worldwide community to boast of and therein lies the richness of learning. With Scratch, you can create interactive stories, animations, and even games. Here, let me direct you to a previous in-depth look into Scratch and just why kids might love it.
What a child might like: The scope to imagine things without learning about complicated programming concepts. Just drag and drop the sprites.

 Learn cool things about: Object oriented concepts with programmable scripts.
EToys is similar to Scratch in that it is a media enriched visual tool for creating cool computer programs. The idea behind the project is to foster creative and critical thinking. EToys runs as a standalone program and also in browsers (with the plug-in) across all platforms. EToys is extensible globally because it is available in several languages and is Open Source. Interestingly, it was first developed at Apple and has been universally used in the One Laptop per Child project.
What a child might like: 2D and 3D graphics supported by text, images, and sound files which can be made interactive and combined with help of easy scripts.
Learn cool things about: Programmable scripts and how a program flows from one step to the next.
Waterbear is a recent development, and was inspired by Scratch. It is similar to Scratch in its visual approach to drag and drop objects (script blocks) and understand the program flow. In the backend, it generates JavaScript but the child does not have to know the syntax. The child has to provide the logic via parameters to assemble the blocks of the program though. One of the differences with Scratch is that the learning environment is the browser instead of a downloadable authoring environment. Waterbear is still not polished (pre-Alpha), but if you are looking for a Scratch alternative, it is worth a try.
What a child might like:  Drag and drop script blocks in the browser. Script blocks are described in simple English.

No comments:

Post a Comment