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.