Basic animation of an ice skater
|Developer(s)||Carnegie Mellon University|
3.4 / March 12, 2018
|License||Some parts released under an open-source license, but with no source code available |
Alice is an open-source object-based educational programming language with an integrated development environment (IDE). Alice uses a drag and drop environment to create computer animations using 3D models. The software was developed first at University of Virginia in 1994, then Carnegie Mellon (from 1997), by a research group led by Randy Pausch.
Origin of name
"Carroll was a mathematician, novelist, and photographer. Most important, he could do intellectually difficult things but also realized the most powerful thing was to be able to communicate clearly and in an entertaining way. This inspires our efforts to make something as complex as computer programming easy and fun."
Alice was developed to address four core problems in educational programming:
- Alice is designed solely to teach programming theory without the complex semantics of production languages such as C++. Users can place objects from Alice's gallery into the virtual world that they have imagined, and then they can program by dragging and dropping tiles that represent logical structures. Additionally, the user can manipulate Alice's camera and lighting to make further enhancements. Alice can be used for 3D user interfaces.
- Alice is conjoined with its IDE. There is no syntax to remember. However, it supports the full object-based programming, event driven model of programming.
- Alice is designed to appeal to specific subpopulations not normally exposed to computer programming, such as students of middle school age, by encouraging storytelling. Alice is also used at many colleges and universities in Introduction to Programming courses.
- Alice can be used with Netbeans to convert the Alice file into Java.
Alice 3 is released under an open-source license allowing redistribution of the source code, with or without modification.
In controlled studies at Ithaca College and Saint Joseph's University looking at students with no prior programming experience taking their first computer science course, the average grade rose from C to B, and retention rose from 47% to 88%, exceeding even the 75% retention rate of students with prior programming experience.
In a second study at Carnegie Mellon University, students taking their first computer science course with a mediated transfer approach that transitioned from Alice 3 to Java scored an average of 84.96% and 81.52% in two semesters of testing this approach, compared to an average of 60.8% before the mediated transfer approach.
- High-level animations that enable users to program social interactions between characters.
- A story-based tutorial that introduces users to programming through building a story.
- A gallery of 3D characters and scenery with custom animations designed to spark story ideas.
In a study performed on middle-school girls in the United States, Storytelling Alice appeared to increase interest compared to generic Alice, with a 42% increase in programming time, with students three times as likely to do additional work on their projects, with no reduction in basic programming concepts learned.
- Alice 3's license
- What is Alice?
- Daly, Tebring (2015). Learning Java through Alice 3: 3rd Edition. CreateSpace Independent Publishing Platform; 3 edition. ISBN 978-1514278901.
- "Alice 3 End User License Agreement". alice3.pbworks.com. Retrieved 31 January 2015.
- B. Moskal, D. Lurie, and S. Cooper, Evaluating the Effectiveness of a New Instructional Approach.
- W. Dann, D. Cosgrove, D. Slater, and D. Culyba, Mediated Transfer: Alice 3 to Java.
- Storytelling Alice
- Motivating Programming: using storytelling to make computer programming attractive to middle school girls
- "Storytelling alice motivates middle school girls to learn computer programming". Proceedings of the SIGCHI Conference on Human Factors in Computing Systems: 1455–1464. 2007.
- Looking Glass
- Learning to Program with Alice, Wanda P. Dann, Stephen Cooper, Randy Pausch; ISBN 0-13-187289-3
- An Introduction to Programming Using Alice, Charles W. Herbert; ISBN 1-4188-3625-7
- Alice 2.0: Introductory Concepts and Techniques; Gary B. Shelly, Thomas J. Cashman, Charles W. Herbert; ISBN 1-4188-5934-6
- Starting Out with Alice: A Visual Introduction to Programming; Tony Gaddis; Pearson Addison Wesley, 2007; ISBN 978-0-321-47515-2
- Virtual World Design and Creation for Teens; Charles R. Hardnett; Course Technologies PTR, 2009; ISBN 1-59863-850-5, ISBN 978-1-59863-850-9
- Pausch, Randy; Forlines, Clifton (2000). "Alice: model, paint & animate — easy-to-use interactive graphics for the web". SIGGRAPH Comput. Graph. 34 (2): 42–43. doi:10.1145/351440.351452.