About DBIS   | Story archive   | Contact DBIS  | DBIS home

Alice Teaches Kids to Program

Computer Scientists Develop New Kid-Friendly Programming Language

October 1, 2007

Computer scientists have found a way to make computer programming visual. Instead of using numbers, letters, and punctuation like other programming languages, ALICE uses three dimensional figures placed in a storyline. Users select from a gallery of characters and backgrounds, then select the character's movements through a pulldown menu.

read the full story...

Science Insider

Science behind the news is funded by a generous grant from the NSF

BACKGROUND: Learning to program a computer is difficult, but a new software program developed by scientists at Carnegie Mellon University called Alice makes the learning process fun, as well as more accessible to both girls and boys. Alice could revolutionize the way computer programming is taught in the United States.

HOW IT WORKS: Alice programming software is currently used at 100 US high schools and universities. Instead of focusing on the manipulation of numbers and code, the Alice programming language lets students drag and drop 3D characters -- people, houses or animals -- into scenes on the computer screen, move them around, and tell stories as the student is learning the basics of programming. One major advantage is that it makes abstract concepts concrete in the eyes of first-time programmers. The number of students studying computer science in US colleges and universities has dropped 50% in the last five years. Studies funded by the National Science Foundation have shown that Alice improves student performance and retention at the college level, especially among young women and minorities.

SPEAKING ITS LANGUAGE: To make a computer do anything, you have to write a computer program. A computer program is a set of instructions that tell a computer exactly what to do. The instructions might tell the computer to add up a set of numbers, or compare two numbers and make a decision based on the result, or prompt the user to input something. But a computer program is simply a set of instructions for the computer, like a recipe is a set of instructions for a cook or musical notes are a set of instructions for a musician. The computer follows your instructions exactly and in the process does something useful -- like balancing a checkbook or displaying a game on the screen or implementing a word processor. In order for a computer to recognize the instructions you give it, those instructions need to be written in a language the computer understands -- a programming language. There are many computer programming, just like there are many spoken languages. They all express approximately the same concepts in different ways. A compiler translates a computer program written in a human-readable computer language into a form that a computer can execute. The EXE files on your computer contain executables -- machine-readable programs translated from human-readable programs. When you are telling the computer what to do, you also get to choose how it's going to do it. That's where computer algorithms come in. In computer programming, there are often many different ways -- algorithms -- to accomplish any given task. Each algorithm has advantages and disadvantages in different situations.

Video help

Latest stories

  • A Satellite Named Violet and a Student Named Amanda
  • Behind the Scenes with the K-Team
  • Deep Space Discoveries
  • Dogs Fighting Cancer
  • Earthquake! What's Your Risk

More information on this story

ON THE WEB:
www.alice.org
TO GO INSIDE THIS SCIENCE:
Dr. Randy Pausch
Carnegie Mellon University
Pittsburgh, Pennsylvania
412-268-3579
pausch@cmu.edu

American Mathematical Society
www.ams.org
Providence, RI 02904-2294
1-800-321-4267

Mathematical Association of America
www.maa.org
Washington, DC 20036-1358
1-800-741-9415


© 2011 American Institute of Physics