Description #
Alice is a free 3D programming environment designed to teach object-oriented programming concepts through storytelling, animation, and game creation. It allows students to learn the logic of programming while creating visually engaging projects without worrying about syntax.
History #
Alice was developed at Carnegie Mellon University, originally led by Randy Pausch, and first released in the late 1990s. It was one of the first platforms to emphasize storytelling as a gateway to computer science.
Key milestones:
- Evolved from Alice 2.0 (focused on storytelling) to Alice 3.0 (focused on Java foundations)
- Widely adopted in middle school and high school CS courses
- Endorsed by the College Board for AP Computer Science Principles
- Used in classrooms across 100+ countries
Hello World Code #
In Alice, βHello, World!β typically involves creating a 3D scene with a character or text that speaks or displays the message.
For example:
World.say("Hello, World!")
Or drag-and-drop the βsayβ method onto a character in the scene and type "Hello, World!"
.
How to Run #
- Download Alice 3: https://www.alice.org
- Create a new world (scene)
- Add an object (e.g., a person or animal)
- Drag a say method onto the timeline
- Enter
"Hello, World!"
and run the project
π Alice supports event-driven programming with a full GUI editor and 3D assets.
Key Concepts #
- Drag-and-drop coding β no syntax, only visual blocks
- Say method β makes characters speak text
- Scenes and timelines β structure storytelling and logic
- 3D programming β manipulate characters, cameras, and objects
- Object-oriented β uses classes, objects, and inheritance
- Event handling β trigger animations or actions on clicks/keys
- Java-based backend β Alice 3 teaches Java concepts behind the scenes
- Storytelling approach β learn by creating narratives
- No compile errors β visual approach removes frustration
- Pedagogical design β built specifically for classroom use
Try It Online #
π Alice Web Demos
π Alice 3 Download
π Alice Sample Projects
Fun Facts #
- Alice was named after Alice in Wonderland
- Developed by Randy Pausch, author of The Last Lecture
- Some versions of Alice output code similar to Java syntax
- Alice has been used in educational studies to increase CS retention for girls
- Alice projects can include dialogue, music, physics, and 3D storytelling