Uncoupling Alice
Mark A. Cohen · ACM Inroads · 2013
T he Alice 3D programming environment is complex, yet it was designed to hide its own intricacies, and to allow students to slowly peel away layers of abstraction, exposing the complexity in a controlled fashion.This design has made Alice a popular choice for teaching introductory programming concepts, but very few have considered using it to teach more advanced concepts.This paper argues for peeling away the layers of abstraction in Alice by uncoupling it from its visual development environment, and using an "uncoupled Alice" to teach advanced object-oriented design.In this paper, detailed examples are given to illustrate how this was done to teach design patterns in an upper-level object-oriented design class. IntroductIon