Electrical Engineering
      and Computer Sciences

Electrical Engineering and Computer Sciences


UC Berkeley


2009 Research Summary

Utilizing Interactive 3D Graphics to Introduce Computer Science to At-Risk Middle School Students

View Current Project Information

Jeremy R Huddleston, Dan Garcia, Orpheus Crutchfield1, Christopher Harrison2 and Guy Haas3

Alice is a rich development environment available from CMU that allows novices to jump into programming in a very exciting way. Its unique feature-set provides a very friendly experience to beginners, allowing them to develop an engaging, interactive, code-driven, 3D graphical environment within a few hours of exposure.

At its core, Alice is a platform for telling stories through programming. It taps into a student's imagination and lets their creative needs motivate their educational experience. For example, a student may be designing a barn scene when she comes up with an idea: let a few horses roam around in a fenced area until the user clicks on a gate, which should then open to allow the horses to roam outside. The student might, on her own, investigate how to handle clicks, or simple animations, or how to make the horses meander about more naturally. This student-driven exploration happens much less frequently when using traditional introductory languages such as scheme, logo, java, or python.

It has been suggested that early exposure to computer science at the junior high level is a key factor in attracting and retaining students to the major in college. The SCIence For Youth (SCI-FY) program was created by Alameda County Supervisor Keith Carson to address this concern by providing a technical education summer program to local junior high students. SCI-FY is now one of the initiatives of the Berkeley Foundation for Opportunities in Information Technology (BFOIT). The limited time frame of their summer program required an educational tool with a shallow learning curve, allowing instructors to focus on the concepts rather than the syntax. Our desire to use Alice to teach new students computer science aligned perfectly with SCI-FY's educational needs; it was a perfect fit.

In the summer of 2006, we joined the SCI-FY team to develop curriculum for junior high students. Our time with the students was limited to 3 hours per day for one week. The kids were incredibly excited about Alice, and this enthusiasm carried through the entire week. Our initial goal was to teach computing concepts through recursion, but after a few days, we realized this was not a very realistic goal and adjusted our curriculum appropriately. We effectively covered functions, variables, loops, and interactivity. We observed that the students who were more emotionally invested in their story or game were more likely to progress technically. Students were allowed occasional free time to work on their Alice projects in whatever way they desired; this led to some extremely rich 1-on-1 interactions. We expanded the curriculum in the summer of 2007 to a full two weeks in order to allow students more undirected time between core topics.

These programs were extremely successful in both educating students and sparking their interest in computer science. What follows are some of the comments we received from our students at the conclusion of the course:

"The best thing about SCI-FY was the animation program. It was great. I made a horse jump twice, I made people talk, I did object methods and all that stuff."

"What I'll really remember about SCI-FY was this program called Alice. It was really, really fun."

"With Alice, you can pretend that you're the creator of the world."

"I will really remember Alice. I got to make my own world. It was challenging. You had to make objects move, and try to figure things that didn't work along the way."

"It's cool how you can make animation--make things do what you want them to do."

Figure 1
Figure 1: Screenshot of the Alice development environment

Alice Integrated Development Environment, http://www.alice.org.
S. Cooper, W. Dann, and R. Pausch, "Alice: A 3D Tool for Introductory Programming Concepts," Proc. CCSC Northeastern Conf. Journal of Computing in Small Colleges (Ramapo College of New Jersey, Mahwah, New Jersey, United States), J. G. Meinke, ed., Consortium for Computing Sciences in Colleges, 2000, pp. 107-116.
B. Moskal, D. Lurie, and S. Cooper, "Evaluating the Effectiveness of a New Instructional Approach," Proc SIGCSE Technical Symp. Computer Science Education, Norfolk, VA, March 3-7, 2004, pp. 75-79. DOI= http://doi.acm.org/10.1145/971300.971328.
N. Rountree, T. Vilner, B. C. Wilson, and R. Boyle, "Predictors for Success in Studying CS," Proc. SIGCSE Technical Symp. Computer Science Education, Norfolk, VA, March 3-7, 2004, pp. 145-146. DOI= http://doi.acm.org/10.1145/971300.971351.
"2002. Identifying Factors that Attract and Retain Teenage Girls in IT Career Preparation Programs: Information Technology Career Cluster Initiative," Gender & Diversities Institute Newsletter, Winter 2002, Issue # 1. http://www2.edc.org/gdi/Newsletter/Issue1/itcc.htm.

1Berkeley Foundation for Opportunities in Technology
2Berkeley Foundation for Opportunities in Technology
3Berkeley Foundation for Opportunities in Technology