Alice: A System for Teaching Computer Programming to the Rest of Us
Speaker
Randy Pausch
Professor of Computer Science, HCI, and Design, Co-Director, Entertainment Technology Center, Carnegie Mellon University
When
-
Where
Newell-Simon Hall 1305 (Michael Mauldin Auditorium)
Description
Programming computers is an intrinsically difficult activity, but our current methods and technologies for teaching it could be much better. We have spent the last seven years developing the Alice environment, which uses interactive 3D graphics and a drag-and-drop interface to make a student’s first exposure to computer programming much easier, while still keeping the full power of a Java/C++ level language. Alice attempts to provide the benefits of a system like Papert’s Logo without being relegated to being a toy: we provide a system that supports everything most traditional semester-long “Introduction to Programming” courses cover, but remove unnecessary hurdles, and provide a more motivating learning environment.
In addition to the intrinsic concepts (conditional execution, iteration, subroutines, parameters) of programming, beginning programmers are simultaneously confronted with needing to type unforgiving syntax, the inability to see the state of their program as it runs, and low motivation for their assignments. Alice improves the initial introduction to programming by:
1) Avoiding the typing and syntax hurdles by providing a drag-and-drop interface where students visually manipulate program elements (“if”, “while”, “for”, etc.).
2) Showing program state with 3D objects, which reinforces the object-based programming model and makes all changes to data both visible and animated.
3) Using 3d graphical characters as a vehicle for storytelling, a great motivator in early pilot trials, especially with female students. Alice is part of a larger initiative at Carnegie Mellon, where we have recently increased our undergraduate CS population from 13% females to 40% females.
We have taught “introduction to programming for non-majors” courses using Alice at St. Joseph’s University and Ithaca College, as well as using it in the “Building Virtual Worlds” course at Carnegie Mellon. Prentice-Hall will be publishing a textbook using the Alice system, available in Fall 2003. In this talk we will provide a demo of the Alice system, describe our design principles, and discuss our experiences with the system.
Speaker's Bio
Randy Pausch is a Professor of Computer Science, Human-Computer Interaction, and Design at Carnegie Mellon, where he is the co-director of CMU’s Entertainment Technology Center (ETC). He was a National Science Foundation Presidential Young Investigator and a Lilly Foundation Teaching Fellow. He has consulted with Walt Disney Imagineering on the user interface design and testing of interactive theme park attractions, and with Google on user interface issues. Dr. Pausch is the author or co-author of five books and over 50 reviewed journal and conference proceedings articles, and he has been the director of the Alice project for the last seven years.