Alice is an
object-based An object-based language is a programming language that provides a construct to encapsulate state and behavior as an object. A language that also supports inheritance or subtyping is classified as object-oriented. Even though object-oriented seems ...
educational programming language with an
integrated development environment
An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
(IDE). Alice uses a drag and drop environment to create
computer animation
Computer animation is the process used for digitally generating Film, moving images. The more general term computer-generated imagery (CGI) encompasses both still images and moving images, while computer animation refers to moving images. Virtu ...
s using
3D models. The software was developed first at
University of Virginia
The University of Virginia (UVA) is a Public university#United States, public research university in Charlottesville, Virginia, United States. It was founded in 1819 by Thomas Jefferson and contains his The Lawn, Academical Village, a World H ...
in 1994, then
Carnegie Mellon
Carnegie may refer to:
People
*Carnegie (surname), including a list of people with the name
**Andrew Carnegie, Scottish-American industrialist and philanthropist
* Clan Carnegie, a lowland Scottish clan
Institutions Named for Andrew Carnegie
* ...
(from 1997), by a research group led by
Randy Pausch.
Origin of name
According to
Randy Pausch, the name "Alice" comes from author
Lewis Carroll
Charles Lutwidge Dodgson (27 January 1832 – 14 January 1898), better known by his pen name Lewis Carroll, was an English author, poet, mathematician, photographer and reluctant Anglicanism, Anglican deacon. His most notable works are ''Alice ...
, who wrote
Alice’s Adventures in Wonderland. He said:
Alice pays homage to Lewis Carroll, author of Alice’s Adventures in Wonderland and Through the Looking Glass. 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. The name is also a very practical choice. The artwork associated with the Alice books is now in the public domain, its copyright having lapsed. Also, the name "Alice" has several other advantages: It is easy to spell. It is easy to pronounce. It shows up near the top of alphabetical lists.
Purpose
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.
Research
In controlled studies at
Ithaca College
Ithaca College is a private college in Ithaca (town), New York, Ithaca, New York. It was founded by William Egbert in 1892 as a Music school, conservatory of music. Ithaca College is known for its media-related programs and entertainment program ...
and
Saint Joseph's University
Saint Joseph's University (SJU or St. Joe's) is a Private university, private Jesuits, Jesuit university in Philadelphia, Lower Merion Township, Pennsylvania, and Lancaster, Pennsylvania. The university was founded by the Jesuits, Society of J ...
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
Carnegie Mellon University (CMU) is a private research university in Pittsburgh, Pennsylvania, United States. The institution was established in 1900 by Andrew Carnegie as the Carnegie Technical Schools. In 1912, it became the Carnegie Institu ...
, 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.
Variant
A variant of Alice 2.0 called Storytelling Alice was created by Caitlin Kelleher for her PhD dissertation. It includes three main differences:
# 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.
Storytelling Alice was succeeded by the interactive storytelling application Looking Glass, developed at
Washington University in St. Louis.
Looking Glass
/ref>
See also
*Very high-level programming language
A very high-level programming language (VHLL) is a programming language with a very high level of abstraction, used primarily as a professional programmer productivity tool.
VHLLs are usually domain-specific languages, limited to a very specific ...
*Visual programming language
In computing, a visual programming language (visual programming system, VPL, or, VPS), also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create computer program, programs by ...
* PWCT
References
Further reading
*Learning to Program with Alice, Wanda P. Dann, Stephen Cooper, Randy Pausch;
*An Introduction to Programming Using Alice, Charles W. Herbert;
*Alice 2.0: Introductory Concepts and Techniques; Gary B. Shelly, Thomas J. Cashman, Charles W. Herbert;
*Starting Out with Alice: A Visual Introduction to Programming; Tony Gaddis; Pearson Addison Wesley, 2007;
*Virtual World Design and Creation for Teens; Charles R. Hardnett; Course Technologies PTR, 2009; ,
*
External links
*
{{Authority control
Educational programming languages
Educational software
Visual programming languages
Carnegie Mellon University software
Pedagogic integrated development environments
Video game development software