Computer programming -- Educational programming languages
Find other posts in the same category: | | | | |

Main Article

There have been several programming languages or programming frameworks designed to teach programming to student in elementary school, middle school, and high school. These are also used in colleges.

Here at kids like . info, we have reviewed several of the main ones. Here are the ones we think are the best educational programming languages so far.

We will use the words "child" and "student" interchangeably.

Quick Overview

I recommend that you start your child on Scratch, then move on to Alice, then move on to Greenfoot.

Note that all 3 are used at the college level in addition to other age groups.

1. Scratch
* originally designed for elementary school children. Came out of MIT. Used to teach programming at Harvard.

2. Alice
* designed for middle school children. Came out of Carnegie Mellon

3. Greenfoot
* designed for high school and college students. Came out of University of Kent (England)

..................

1. Scratch
POSITIVES
Scratch is an easy place to start because
* There are good beginners tutorials
* There are many, many (almost 200,000) Scratch projects online. Most of them are games that your student can play
* It's pure drag-and-drop programming

NEGATIVES
* Scratch does not teach programming with functions.
* However, if you know Smalltalk, you can download the source code for Scratch and write your own Scratch functions

ADDITIONAL INFORMATION
* Scratch is based on the language Squeak, which is based on the language Smalltalk.
* The Scratch team is based at MIT.
* Scratch was designed for elementary school children.

To teach your child programming with Scratch
http://www.kidslike.info/scratch_computer_programming_tutorials

2. Alice
POSITIVES
Alice is a good second step after your child has learned Scratch. You can also start a child (beginning around age 7) on Alice and skip Scratch.
*. It has most features of a real programming language, including functions
* The large number of graphics that come with Alice means you can make professional looking "movies" very quickly
* It is easy to add your own sounds
* Alice is available for Windows, Mac, and Linux

NEGATIVES
* There is no widely known website where you can share Alice projects
* There are few beginners tutorials
* Does not teach text based programming

ADDITIONAL INFORMATION
Alice is based on Java. The Alice team is based at Carnegie Mellon University.

A basic beginners tutorial
http://www.kidslike.info/programming_alice_lesson_1_alien_robot_teaches_...

How the Alice screen is laid out,
http://www.kidslike.info/programming_with_alice_what_the_different_parts...

To read the kids like . info encyclopedia article on Alice
http://www.kidslike.info/alice_programming_language_educational

To buy a textbook for Alice
http://www.kidslike.info/learning_to_program_with_alice_book_by_wanda_da...

3. Greenfoot (updated Dec. 16, 2008)
POSITIVES
* Teaches text-based programming
* Focused on making video games to interest students
* Available for Windows, Mac, and Unix
* Greenfoot Gallery enables you to share your games, creating a social network
* A lot of good games are available on Greenfoot Gallery

NEGATIVES
* Is not widely known
* There is no real book about Greenfoot available.

ADDITIONAL INFORMATION
* Based on the computer programming language Java
* The Greenfoot team is based at University of Kent (England)

To see the kids like . info encyclopedia article on Greenfoot
http://www.kidslike.info/greenfoot_programming_language_educational
Here are some pages on learning Greenfoot
http://www.kidslike.info/free_tagging/greenfoot_programming_manual_in_pr...

4. Traditional programming languages
When your student is ready to move on to a traditional programming language, Python is a good choice.
It supports concepts like classes, but is forgiving and does not force you to declare them.

This kidslike.info article discusses Python
http://www.kidslike.info/python_using_python_as_an_educational_programmi...

We recommend this Python book because it's about making games and is written in simple language
http://www.kidslike.info/python_programming_for_the_absolute_beginner_ma...

To see resources for teaching Java to kids
http://www.kidslike.info/teaching_java_to_kids_a_list_of_resources

People often consider using Squeak (also known as squeakland or etoy) instead of Scratch. We find that kids prefer Scratch because of the games they can share, and Squeak does not teach anything that Scratch does not.
http://www.kidslike.info/teaching_children_how_to_program_computers_comp...

5. New online game environments
There have been some interesting new entries. Roblox.com is a place where kids build multiplayer online games through a drag-and-drop interface. They can also open the script editor and code directly. The language is Lua.
Kids love Roblox, so they are motivated to learn this.
http://kidslike.info/roblox_using_roblox_as_an_educational_programming_l...

What I find particularly interesting about the Roblox world is that it has its own Roblox currency (tickets and Roblox dollars). So kids can sell their graphics and learn about business, including marketing.


This is an encyclopedia article on Kids Like . info. We try to write in a style that is easy enough for children to understand, but still provides useful and important information. You can help us improve these articles by adding a comment with suggestions. If you have a suggestion about an article you would like to see, you can write it yourself or use the Contact Us tab under the logo. You can log in as "guest" with the password "guest"