Programming with Alice (2024)

Shriveled, slithery, and wily, Gollum is one of the more memorable characters in the Lord of the Rings movies. But it took computers to bring Gollum to life, creating animated images of the character that smoothly blend with the actors on the screen.

And wherever there are computers, there have to be computer programmers who write the instructions that tell the computers what to do, step by painstaking step.

Programming with Alice (1)

Want to learn how to program a computer and have fun at the same time? Give Alice a try!

Stage3 Research Group, Carnegie Mellon University

The skills of programmers, computer scientists, and software engineers are essential not only for generating special effects in movies but also for creating video games, operating cell phones, searching the Internet, downloading and playing music, and much more.

Nowadays, there are computers in airplanes, cars, television sets, vending machines, and kitchen appliances. All these computers need people who understand how computers work and can provide the necessary instructions. A set of instructions for a computer is called a program.

Unfortunately, the popularity of computer science as a career has been fading in the United States. There are 50 percent fewer computer science majors at U.S. universities now than there were 5 years ago, says Randy Pausch. He’s a computer scientist at Carnegie Mellon University (CMU) in Pittsburgh.

Equally troubling is that fewer than 20 percent of these students are women, he adds.

“Computer science has tremendous power to make a big difference in people’s lives,” says Caitlin Kelleher, a graduate student in computer science at CMU.

Kelleher wants middle schoolers, especially girls, to get excited about working with computers. Using an interactive computer program called Alice, Kelleher has made it her mission to show kids all the exciting opportunities that open up when you can talk to these machines in a language that they can understand.

Programming with Alice (2)

Using Alice, a student can quickly create an animated movie in which characters move about and interact in an imagined 3D world. Along the way, the student learns how to write a simple computer program.

The results don’t look like Lord of the Rings, but if you give Alice a try, you can experience the immense satisfaction of getting a computer to do what you want it to do—and of showing off your waddling penguins or attacking bugs to friends.

Action commands

In a computer program, each instruction specifies an action. Writing a program to animate 3D objects is all about deciding what actions you want these objects to perform.

With Alice, students begin by crafting stories. Then, they work out lists of actions that must go into the programs to tell the story. The students learn how to break a large problem into smaller pieces. It’s a bit like doing a word problem in math.

Programming with Alice (3)

Users select characters, such as ice skaters or monsters, and environments, such as a forest or a city. They then create scenes in which the characters talk and move around in these environments. The results are satisfying little animations that can be funny, sad, or even weird.

Working with Alice, students aren’t faced with the hardest part of writing a computer program—specifying in excruciating detail, and in exactly the right language, every little thing that has to happen.

For example, suppose you had to tell someone who had never been in a kitchen how to make a peanut butter-and-jelly sandwich. You couldn’t just say, “Make a peanut butter- and-jelly sandwich.” You’d have to specify where to find the ingredients and the knife, how to use the knife, how much jelly and peanut butter to measure out, how to assemble the sandwich, and so on. You’d also have to tell the person what to do if something went wrong—for example, if the jelly jar were empty or there were only one slice of bread.

“If you write a paragraph in English and you put a semicolon or comma in the wrong place, people will still understand what you’re talking about,” Kelleher says. “With computer languages, if you get one thing wrong, it doesn’t work anymore.”

Programming with Alice (4)

With traditional programming, beginners often get frustrated. They’re unable to figure out what they’ve done wrong.

With Alice, students use a mouse to select commands. Then, they can watch what happens on the screen. If a monster happens to end up in the wrong place, for instance, they can simply change the command.

Improved grades

So far, Alice seems to be doing its job. It’s getting students more interested in computers.

One study looked at college freshmen who were interested in computer science but were at risk of failing because of low grades. Without Alice, Pausch says, the students averaged a C in their first computer science class. Only 47 percent went on to take another computer class.

The average grade of students who used Alice, however, jumped to a B. Eighty-eight percent of these students took a second class. Alice conveyed the basic ideas and purposes of programming. After that, students were better able to learn the specifics of computer languages, such as Java and C++.

Programming with Alice (5)

Teachers at 50 colleges and 40 high schools are now using Alice to teach introductory computer science classes, Kelleher says. She has been using a modified version with Girl Scout troops.

In Colorado, graduate student Agata Dean and her coworkers have used Alice at the middle school level in an after-school technology club and in a weeklong technology summer camp at the Colorado School of Mines. In both cases, students learned the software and were able to begin using it quickly, Dean says.

The beauty of Alice, Pausch says, is that it shows students how exciting and creative computer science can be. Working with computers doesn’t make you a geek, he insists. Computer work is an art form, only better.

“Painters are limited by paint, and sculptors are limited by clay,” he says. “Computer programming is limited only by the limits of the imagination . . . . There’s nothing you can’t do.”

Going Deeper:

Scientist’s Notebook: Why is Alice called Alice?

Additional Information

Questions about the Article

Word Find: Alice

Programming with Alice (2024)

FAQs

Is Alice good for programming? ›

In object-first strategy, Cooper et al (2003b) concluded that Alice is a very useful tool for teaching object-oriented programming as it provides good visualization of objects, thus making it easy for students to see and understand object-oriented concepts.

What programming language does Alice use? ›

Alice (software)
Basic animation of an ice skater
Developer(s)Carnegie Mellon University
Initial release1998
Stable release3.6.0.3 / October 25, 2021
Written inJava
6 more rows

Is Alice coding free? ›

Alice is an object-oriented, open source system developed over the last decade and provided free to educators and students by Carnegie Mellon University.

Does Alice 3 periodically remind you to save your project? ›

Alice 3 will periodically remind you to save your project.

Who is the No 1 coder? ›

If you are talking about competitive programming, then I would say Gennady Korotkevich. He is around 18 years old and is currently the highest rated coder in TopCoder (world rank 1).

Which AI is best for coding? ›

It integrates well with AWS services, making it a great tool for cloud-based development projects. If you're looking for the best AI for code, Amazon CodeWhisperer is a top contender due to its seamless integration and efficiency.

Is Alice free? ›

Alice is Free to All

The Alice Project is dedicated to making Alice a widely accessible tool around the world for growing the diversity and access to early computer science education.

What is Alice in Python? ›

Alice is an innovative block-based programming environment that makes it easy to create animations, build interactive narratives, or program simple games in 3D. Unlike many of the puzzle-based coding applications Alice motivates learning through creative exploration.

Can AI write computer code? ›

In recent years, AI has been used increasingly to write code. This is because AI can be used to automate repetitive tasks and improve efficiency.

Can you make games with Alice 3? ›

This isn't a step by step how to, but there are links to the Alice 3 guides included. Using Alice, you can: animate stories and build virtual reality worlds. design and build interactive games.

What is Alice software used for? ›

Alice is an object-oriented, open source system that features a drag-and-drop interface that allows users to create 3D-animations, stories and video games.

What is the code in Alice? ›

Code in Alice is a summer program by Carnegie Mellon University Qatar. Our goal is to teach computer programming within an engaging environment and small teacher-student ratio. This program is fueled by volunteer teachers and open to students from all over the world!

How do you create a programming instruction in Alice? ›

Program statements in Alice are created by selecting the object that will execute the procedure, dragging the procedure tile into the editor, and selecting the appropriate arguments for the procedure. object's move. Alice allows you to Run your program as often as you want.

What is the four step process that you must go through to make an Alice program? ›

Do in order and Do together are part of the Alice language. We call them control statements because we use these statements to tell Alice how to carry out the instructions in a program. You will recall that the four steps in creating an animation program are: read, design, implement, and test.

Can saved Alice projects be opened and edited? ›

Saved Alice 3 project files can be opened and edited. Th t t i ti Ali 3 j t fil There are two ways to open an existing Alice 3 project file after launching Alice 3: Select the project from the My Projects tab Select the project from the My Projects tab. Browse for the project using the File System tab.

Which personality is best for programming? ›

The top MBTI personality types found in software engineering careers are ISTJ and INTJ. The ISTJ is known as the Inspector, and the INTJ is known as the Mastermind. Both types are introverted (meaning they recharge best on their own), analytical, and prefer clear direction or rules.

What is the best AI assistant for coding? ›

Intellicode - Best AI coding assistant for Visual Studio

Developed by Microsoft for Visual Studio and Visual Studio Code, Intellicode offers intelligent code completions based on patterns found in thousands of open-source projects. It constantly learns from the codebase to provide contextually relevant suggestions.

Which language is best for coding robots? ›

The most popular language in robotics is probably C/C++ (C++ is an object-oriented successor to the C language). Python is also very popular due to its use in machine learning and also because it can be used to develop ROS packages – see below.

Top Articles
Latest Posts
Article information

Author: Francesca Jacobs Ret

Last Updated:

Views: 6339

Rating: 4.8 / 5 (68 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Francesca Jacobs Ret

Birthday: 1996-12-09

Address: Apt. 141 1406 Mitch Summit, New Teganshire, UT 82655-0699

Phone: +2296092334654

Job: Technology Architect

Hobby: Snowboarding, Scouting, Foreign language learning, Dowsing, Baton twirling, Sculpting, Cabaret

Introduction: My name is Francesca Jacobs Ret, I am a innocent, super, beautiful, charming, lucky, gentle, clever person who loves writing and wants to share my knowledge and understanding with you.