Learn OOP while creating 3-D animations with Alice

College computer science students often find it difficult to get started in programming languages like C++ and Java, largley due to the disconnect between simple middle-school languages like logo and advanced object-oriented programming (OOP) languages. To help bridge the gap, researchers at Carnegie Mellon University (CMU) have developed an OOP language to create computer animations using 3-D models, called Alice.

The team of researchers at CMU led by Randy Pausch examined several C++ and Java beginning computer science texts. Some of the essential concepts they found taught are decisions, repetitions, recursion, functions/methods, collections (typically arrays, though sometimes lists), objects (including state and behavior), inheritance, encapsulation, polymorphism, and so on. Alice provides an environment that introduces students to these concepts as they modify 3-D objects and write programs to generate animations.