30 Years Later, Alice is Still Teaching the World to Code
By Hannah Kinney-Kobre Email Hannah Kinney-Kobre
In late Carnegie Mellon University computer science professor Randy Pausch’s famous Last Lecture — titled “Really Achieving Your Childhood Dreams” — he told the audience that one of those goals was “to make something where millions or tens of millions of people could chase their dreams.”
That thing was Alice, the free-to-use educational software Pausch created thirty years ago.
At the time of his Last Lecture in 2007, it had already been downloaded millions of times. “Millions of kids having fun while learning something hard, that’s pretty cool,” Pausch said. “I can deal with that as a legacy.”
That’s still true. All around the world — from York Community High School in Elmhurst, Illinois, to Amna Bint Wahab Preparatory for Girls School in Doha, Qatar, to Carnegie Mellon University’s Summer Academy for Math and Science right here in Pittsburgh — students are using Alice to create virtual reality (VR) experiences, computer games, and interactive animations. For most of these students, Alice is their introduction to computer science.
Today, Alice continues to be developed and distributed at no charge through The Alice Project: an initiative affiliated with CMU’s Entertainment Technology Center (ETC), the masters degree program Pausch co-founded at CMU.
From VR Prototype to Teaching Tool
In 1991, Pausch published a paper titled “Virtual Reality on Five Dollars a Day.” In it, he describes the need to make VR more accessible with the goal of speeding up innovation in the field. “A good way to spark creative breakthroughs is to increase the number of people actively using the technology,” Pausch wrote.
He began with his research team, Stage 3, on a software that would simplify VR development. By 1995, Pausch and his research team had constructed a prototype they called Alice after Lewis Carroll’s “Alice’s Adventures in Wonderland.”
Along the way, Pausch tested the initial prototype with his own kids to introduce them to coding; what he discovered changed the project’s course entirely. He saw that the biggest roadblock for new programmers was a relatively basic one: the syntax. A single typo could undo hours of work and demotivate budding computer scientists.
“He introduced the concept of a drag and drop interface,” said Eric Brown, 2006 ETC graduate and former director of The Alice Project. “Before then, it wasn’t anything that we would consider entry-level for non-coders today.”
This drag-and-drop interface — sometimes referred to as “block-based” — allowed students to experiment with programming without having to actually type out code. Users could learn to think like programmers without having to program like them, lowering the barrier to entry significantly. The introduction of block-based programming was the hallmark of Alice 99, the first version of the program to be released publicly.
When Pausch came to Carnegie Mellon, Alice came with him. When he co-founded the ETC, he had students in the program’s defining course, Building Virtual Worlds, test it.
“BVW could not have been possible without a program like Alice, because it’s about making something in two weeks. And the stuff you could make in two weeks at that time — especially if it wasn’t a class about learning software — was almost nothing,” said ETC Associate Teaching Professor and 2006 ETC graduate Dave Culyba.
For more experienced students in the class, Alice’s drag and drop programming feature was a redundancy. But for others, it was a revelation.
“It was the first piece of software that let me create as if I knew how to code,” said Melanie Lam, a 2005 ETC graduate and The Alice Project’s current director. “I had no programming background when I came to the ETC, and it was very intimidating because 70% of the students were programmers and could do whatever they wanted in whatever platform they wanted. But Alice helped me to understand what they were doing in a way I could process.”
Around this time, computer science professors Wanda Dann and Steve Cooper got a hold of the software. They quickly realized that the effect it had on Melanie could be replicated in other classrooms. When they presented their idea to Pausch, he saw the value in what they were doing and brought them on board. The three began working together, culminating in the release of a new version: Alice 2.
Adventures in Increased Access
Alice 2 was specifically designed for and tested in early college and university settings, and Cooper, Dann, and Pausch developed a curriculum meant to go with it. This eventually became the popular textbook “Learning to Program With Alice.” It was a near-immediate success — by 2009, over 15% of U.S. colleges and universities were using Alice in the classroom.
Once it was successfully introduced at the college level, its use quickly spread to high schools. “I could start teaching students about the concepts of object-oriented programming very quickly with it, and they didn’t get bogged down with syntax,” said William Barnum, computer science teacher at York Community High School.
It even began being used in middle schools. As part of her PhD research, Stage 3 research team member Caitlin Kelleher developed a version of Alice called Storytelling Alice meant for middle school girls.
Storytelling Alice redesigned Alice 2 with the goal of making the experience of learning programming more fun and engaging by encouraging creative uses of it. Kelleher’s version introduced more 3D models and animations and even more detailed character animation. And it worked; users of Storytelling Alice on average spent 42% more time programming than those using Alice 2 alone.
Kelleher’s work was one of the inspirations behind Alice 3, which was released in 2010. During the development process, Electronic Arts donated animated characters and scenes from its best-selling game “The Sims 2”; this allowed users to tell the kinds of detailed stories Kelleher had in mind with Storytelling Alice.
“It scratched that itch of playing with action figures as a kid,” said Brown.
Alice 3 also facilitated the transition from block-based to text-based coding, adding a new feature that allowed more advanced students to view and edit their code in Java — one of the world’s most popular programming languages. "Now, students can seamlessly transition from a simple, mouse-based programming environment to a production-level programming language," Dann said in 2009.
Coding Without Borders
Alice’s use of Java led to a partnership that helped expand Alice beyond the United States, one that still continues to this day. In 2009, Sun Microsystems — the company behind Java — began collaborating with the university to translate Alice in different languages and to add 3D models unique to various cultures. When Sun Microsystems was acquired by Oracle in 2010, that support continued.
"Because of Oracle Giving’s annual gifts in support of Java education, we have continued to improve and distribute Alice free of charge over the past 10 years," Lam said.
“Our collaboration with the Alice Project has been instrumental in how we engage young minds with computing,” said Oracle Academy Vice President William McCabe. “Through Alice, even those new to programming can learn Java concepts by building captivating 3D animations. We’re proud to offer these resources globally and inspire lasting interests in computing.”
One example of this is in Qatar, which has hosted an annual Alice Middle East Programming Competition since 2015.
“When I was first introduced to Alice in 2008, CS was not something folks in this part of the world could easily relate to during those days,” said Carnegie Mellon University in Qatar Senior Associate Dean and Hamad Bin Jassim Center for K-12 Computer Science Education Director Khaled Harras. “Running various outreach events that exposed them to some form of computational thinking was our way of raising awareness.”
Alice was adopted into the Qatari middle school curriculum after being localized with artifacts unique to local culture like castles, coffee dallahs, and desert landscapes. The Alice competition has flourished as a result. “The quality and complexity of student projects have grown year after year,” Harras said.
“What I appreciate about Alice is how it transforms the way beginners learn programming,” Harras said. “By focusing on animation development with 3D models, Alice allows users to immediately see the results of their code in action, which is incredibly powerful for understanding cause and effect in programming. … It’s like storytelling through code.”
Romania’s National Learn to Code with Alice Competition also began in 2015. Since then, over 7,000 students and 3,000 teachers have participated in the competition.
“In Romania this tool is the only chance students have to learn Java basics from middle school,” said Alin Chiriac, the founder of Adfaber, the organization supporting the competition. “Alice 3 helped us break the perception that coding is just for specialists — it opened the door for young people to experiment, to build, and to believe in their ability to shape the future through technology.”
A Career Journey Powered By Alice
Alice’s success is evident in the stories of the students — now grown — who learned to program with it.
Stephanie Brito’s first encounter with Alice was actually at home with her mom, who had heard about the software and downloaded it for Brito to try. “All we could do was drag and drop characters into it; I thought it was just a game.”
But that changed when Brito attended Carnegie Mellon’s Summer Academy for Math and Science the summer before her junior year of high school. “We all had to take a programming class, and we were learning in Alice. I remember having fun with it, helping other people with their assignments, and just feeling really empowered to learn and explore on this platform,” she said. “That was my first real experience with computer science.”
Brito didn’t think much of the summer after it ended; she thought she wanted to go into journalism or medicine. But she continued to learn programming at her high school. “All the skills I had from Alice just made me pick up things really easily,” Brito said. “I was breezing through assignments.”
Brito ended up at Stanford for undergrad and took computer science her freshman year. When her TA pulled her aside and told her she was talented and to consider pursuing it as her major, she realized how much she enjoyed doing it. “It’s crazy how what one person tells you can make a difference,” Brito said.
After graduating from Stanford, Brito began working at Google as a software engineer. While there, she took part in the Google In Residence program where the company sends engineers to different universities across the country to teach introductory computer science for a semester.
Brito ended up teaching introductory computer science at Florida International University with Maria “Cristy” Charters, an FIU faculty member who used Alice for over 20 years in her classes.
“At first, I thought that this was the wrong level to use Alice with. I thought that we would only use it the first month, and then move on to more difficult topics,’” Brito said.
“But when I was actually boots on the ground, I saw that the students got a lot of gratification from finishing their projects,” she said. “They were motivated by it. And a lot of them didn’t have very strong math backgrounds and hadn’t been exposed to computer science before. It was a good introduction for them, and they made some really, really cool projects.”
Alice’s Next Chapter
Brito’s story illustrates what Alice has always been best at: making programming accessible and engaging.
“Alice taught me that teaching programming wasn’t about the language at all — it was about creating the right frame of mind,” Brown said of his early experience with the software. “The most important thing is building confidence. Once a student feels they can do it, the syntax will come.”
Joel Adams, a professor at Calvin College who spent decades running a coding summer camp that used Alice, sees its fingerprints on the entire landscape of coding education. “With this drag-and-drop interface, you get rid of that entire class of syntax errors and it frees you then to focus on the logic of your application,” he said. “I think that’s the lasting legacy. All these things — Scratch, Roblox, micro:bit — ultimately owe their drag-and-drop interfaces to Alice.”
For the past decade, most of the updates to Alice have been about improving the program’s performance and stability. The next one, coming at the end of this year, will be a little different.
“We’re doing UI [user interface] updates, which we haven’t done in a long time,” Lam said. “Alice has looked pretty much the same since 2008, so we thought it’s time to give it a refresh so it’s more in line with what kids are looking at now. We don’t want them to immediately open Alice and have this disconnect.”
They’re not stopping there. Through the Alice Project’s partnership with the ETC, they’ve been able to experiment with AI integration and voice-activated programming through student-led projects.
“We have the space to research and explore through them, and we learn a lot from those projects. We always want to keep up with what students are expected to learn with what technology they’re using. “But, at the end of the day, we want to stay true to what Alice has done well: engaging students in narrative programming to tell stories.” Lam said. “It’s like Randy Pausch said: ‘The head fake is teaching something hard by doing something fun.’”