ALICE Tea Party - An Alternative or Supplementary Approach to Introductory Object-oriented, Event-driven Programming Dr. W. Brett McKenzie Associate Professor CIS Gabelli School of Business Roger Williams University Bristol, RI 02809 USA (401) 254-3534 (Office) (401) 254-3545 (FAX) wmckenzie@rwu.edu ABSTRACT This workshop introduces ALICE as an alternative or supplement to traditional introductory programming courses. ALICE is a 3D programming environment developed at Carnegie Mellon University and funded by the National Science Foundation. ALICE is designed to facilitate learning object-oriented, event-driven programming by drawing on our student’s immersion in graphically rich media through animation and games. Evaluations have demonstrated that subsequent to studying ALICE , (1) students chances of succeeding in programming courses increases, (2) attraction and retention of women and minorities increases, and (3) student enthusiasm for computing as a major increases. ALICE has been built upon two premises. First, visualization of abstract concepts aids understanding. Second, syntax errors are a major barrier for novice programmers. To address these issues, ALICE programming uses figures, real or fantasy such as Alice Liddell or a white rabbit, that interact with objects, such as tables, chairs, or place settings, in environments that may contain trees, ponds, or buildings. Programming is achieved through dragging and dropping tiles with commands into an editor. Typing is reserved for assigning values to variables. ALICE facilitates different approaches to programming, some of which are particularly appealing to underserved groups, such as women and minorities. ALICE programs may be either animations, which tend to tell stories, or interactive worlds, which tend towards games. Storytelling seems to have particular importance for the underserved groups. Fundamental computing constructs and logic are introduced through either storytelling or games. Similarly, ALICE allows more complex object-oriented activities, such as creating, exporting, and importing new classes built upon base classes, or invoking events through key presses or mouse actions. The ALICE environment is an open source JAVA based suite and includes an object tree, event editor, program editor, and visualization area. While ALICE comes with a rich set of models, it is possible to import additional models as well as to import and play back audio tracks. ALICE is currently at Version 2. The next version will include better models and rendering in collaboration with Electronic Arts. Additionally, the new version will have the ability to dump the JAVA code and to interact with external data sources. Tutorial/Workshop Activities In the course of the workshop, participants will build ALICE Worlds (as ALICE programs are called) that demonstrate fundamental aspects of OO programming. The target audiences are instructors from introductory programming and computer fluency courses; however, the workshop does not presuppose knowledge of OO programming. Participants who bring their own laptop computers will get the latest version of ALICE and all workshop materials to install on their computers. The workshop will also include discussions of integrating ALICE in the curriculum from stand-alone to brief courses, as well as the latest model being developed “the blended course”, which combines ALICE and JAVA instruction. ALICE has been adopted at over 100 colleges and universities ranging from the liberal arts schools, such as Haverford College, Pennsylvania to state research universities, such as University of Texas. Tutorial/Workshop Leader: Dr. W. Brett McKenzie introduced ALICE at Roger Williams University and has presented at NSF Workshops on ALICE at Haverford College, PA and Duke University, NC. More information about ALICE is available at www.alice.org