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.
- Computer Science
- Computer Programming
- Computer Modeling
- Artificial Intelligence
- Computers and Internet
- Distributed Computing
Computers used to keep businesses on track, assist doctors with complicated surgeries and even develop life-saving combinations of drugs. The demand for computer programmers has never been greater, yet there has been a 50-percent drop in the number of computer science majors over the past seven years -- especially among women.
A new program uses the lure of animated movies to entice young students.
The sky should be the limit for someone imagining a future in computers. But how do you light a fire under an aspiring student? Find a way to make it fun. Computer scientists at Carnegie Mellon University have developed a revolutionary new way to teach the basics of computer programming called "Alice."
Instead of using Java -- the computer language with lots of numbers and punctuation -- "Alice" relies on three-dimensional figures placed in a storyline.
"We like to refer to it as Pixar in your garage. It's 3-D characters, but it's obviously low-budget," says Randy Pausch, director of the Alice Project at Carnegie Mellon University in Pittsburgh, Penn.
Users manipulate their computer mouse to select from a gallery of 700 characters and backgrounds. Next, they choose their character's movements using a pull-down menu. Researchers say "Alice" is the perfect way to engage pre-teens, especially girls.
"To really have a substantial impact on the number of female students that end up in computer science, you really have to reach them no later than middle school." Caitlin Kelleher, Ph.D. at Carnegie Mellon University in Pittsburgh, Penn.
For 12-year-old Lucy Gabriel, "Alice" made her computer class the highlight of the school day.
"I like designing the characters. Making them look funny, or making them look the way I want them to look," Gabriel says.
"It's almost sinister in the fact that they're programming, but they don't know it," says Laurie Heinricher, Dean of Students at Winchester Thurston Middle School in Pittsburgh, Penn.
Alice's developers give the software away as a free download. They're hoping someday, Alice sparks enough interest in computer programming to sharply increase their ranks.
Alice's developers say they don't know exactly how many schools are using the program to teach computer programming, but they say there have been more than a half a million downloads. Download your own copy at: http://www.alice.org
The American Mathematical Society and the Mathematical Association of America contributed to the information contained in the video portion of this report.
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.