Developer(s) | Carnegie Mellon University |
---|---|
Initial release | 1998 |
Stable release | 3.6.0.3 / October 25, 2021 |
Written in | Java |
Platform | Java platform |
Type | Educational |
License | Some parts released under an open-source license, source code is available [1] |
Website | www.alice.org |
Alice is an 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.
According to Randy Pausch, the name “Alice” comes from author Lewis Carroll, who wrote Alice’s Adventures in Wonderland.
"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: [2]
Alice 3 is released under an open-source license allowing redistribution of the source code, with or without modification. [4]
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. [5]
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. [6]
A variant of Alice 2.0 called Storytelling Alice [7] was created by Caitlin Kelleher for her PhD dissertation. [8] It includes three main differences:
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. [9]
Storytelling Alice was succeeded by the interactive storytelling application Looking Glass, developed at Washington University in St. Louis. [10]
NetBeans is an integrated development environment (IDE) for Java. NetBeans allows applications to be developed from a set of modular software components called modules. NetBeans runs on Windows, macOS, Linux and Solaris. In addition to Java development, it has extensions for other languages like PHP, C, C++, HTML5, and JavaScript. Applications based on NetBeans, including the NetBeans IDE, can be extended by third party developers.
In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. VPLs are generally the basis of Low-code development platforms.
Processing is a free graphics library and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming in a visual context.
In human–computer interaction, WIMP stands for "windows, icons, menus, pointer", denoting a style of interaction using these elements of the user interface. Other expansions are sometimes used, such as substituting "mouse" and "mice" for menus, or "pull-down menu" and "pointing" for pointer.
GameMaker is a series of cross-platform game engines created by Mark Overmars in 1999 and developed by YoYo Games since 2007. The latest iteration of GameMaker was released in 2022.
Andries "Andy" van Dam is a Dutch-American professor of computer science and former vice-president for research at Brown University in Providence, Rhode Island. Together with Ted Nelson he contributed to the first hypertext system, Hypertext Editing System (HES) in the late 1960s. He co-authored Computer Graphics: Principles and Practice along with J.D. Foley, S.K. Feiner, and John Hughes. He also co-founded the precursor of the ACM SIGGRAPH conference.
Rich Gossweiler is a research scientist with Google whose area of expertise is in HCI, interaction design, front-end web development, and System architecture.
Open Source Physics, or OSP, is a project sponsored by the National Science Foundation and Davidson College, whose mission is to spread the use of open source code libraries that take care of a lot of the heavy lifting for physics: drawing and plotting, differential equation solvers, exporting to animated GIFs and movies, etc., tools, and compiled simulations for physics and other numerical simulations. The OSP collection provides curriculum resources that engage students in physics, computation, and computer modeling. The core library is in the Java programming language and licensed with GNU General Public License licenses. The site now serves over 10,000 visitors per month. The Open Source Physics Project is an extension of the Physlet Project.
Randolph Frederick Pausch was an American educator, a professor of computer science, human–computer interaction, and design at Carnegie Mellon University (CMU) in Pittsburgh, Pennsylvania.
"Really Achieving Your Childhood Dreams" was a lecture given by Carnegie Mellon University computer science professor Randy Pausch on September 18, 2007, that received widespread media coverage, and was the basis for The Last Lecture, a New York Times best-selling book co-authored with Wall Street Journal reporter Jeffrey Zaslow. Pausch had been diagnosed with pancreatic cancer in September 2006. On September 19, 2006, Pausch underwent a pancreaticoduodenectomy to remove the malignant tumor from his pancreas. In August 2007, doctors discovered that the cancer had recurred. Pausch was given a terminal diagnosis and told to expect that three to six months of good health remained.
Web-based simulation (WBS) is the invocation of computer simulation services over the World Wide Web, specifically through a web browser. Increasingly, the web is being looked upon as an environment for providing modeling and simulation applications, and as such, is an emerging area of investigation within the simulation community.
Joyce Farrell is the author of many programming books for Course Technology, a part of Cengage Learning. Her books are widely used as textbooks in higher education institutions. She was formerly a professor of computer information systems at Harper College in Palatine, Illinois, US, and earlier taught computer information systems at the University of Wisconsin–Stevens Point and McHenry County College in Crystal Lake, Illinois.
Mama is an object-oriented educational programming language designed to help young students start programming by providing all language elements in the student mother tongue. Mama programming language is available in several languages, with both left-to-right (LTR) and right-to-left (RTL) language direction support.
Embedded Wizard is a graphical user interface tool developed and distributed by TARA Systems GmbH for creating graphical user interface (GUI) applications mainly for embedded systems, including microcontroller and microprocessor units. It provides a WYSIWYG front-end for editing graphics, effects and logic of the user interface and generates source code for particular target hardware. Embedded Wizard is independent of a specific graphics hardware, color format or input mechanism. It supports object oriented programming and does not require a Real-time operating system/Operating system, allowing GUIs to run on bare metal.
The Mobile 3D Graphics API, commonly referred to as M3G, is an open source graphics API and file format specification for developing Java ME applications that produce 3D computer graphics on embedded devices such as mobile phones and PDAs.
Computer-generated imagery (CGI) is a specific-technology or application of computer graphics for creating or improving images in art, printed media, simulators, videos and video games. These images are either static or dynamic. CGI both refers to 2D computer graphics and 3D computer graphics with the purpose of designing characters, virtual worlds, or scenes and special effects. The application of CGI for creating/improving animations is called computer animation, or CGI animation.
Snap! is a free block-based educational graphical programming language and online community. Snap allows students to explore, create, and remix interactive animations, games, stories, and more, while learning about mathematical and computational ideas. While inspired by Scratch, Snap! has many advanced features. The Snap! editor, and programs created in it, are web applications that run in the browser without requiring installation. It is built on top of Morphic.js, a Morphic GUI, written by Jens Mönig as 'middle layer' between Snap! itself and 'bare' JavaScript.