In Ruby Slippers we discussed (in comments) the dreadful state that computer science education finds itself in the west US. Kami mentioned CMU's Alice in comment back then and Grady Booch reminds us anew recently:
"(Alice is) a modern programming environment designed to be a student's first exposure to object-oriented programming. It allows students to learn basic computer science while creating animated movies, simple video games, where students control the behavior of 3D objects and characters in a virtual world."
From SIGCSE feedback it may be that Alice is back (if it ever went away) with a Wonderland vengence. Will virtual worlds be the driver that revives computer science?
Take a look at the 2007 SIGCSE presentation (8mb PPT). Note the instructional material at aliceprogramming. From the SIGCSE slides, the 3.0 version is slated for release in 2008. Mentioned is Caitlin Kelleher's work with Storytelling Alice (dissertation, 15mb PDF): Using Storytelling to Make Computer Programming Attractive to Middle School Girls.
Worth the visit!
------------------------------------------------------
Other resources:
David Brin. "Why Johnny Can't Code." Salon, September 2006. "BASIC used to be on every computer a child touched -- but today there's no easy way for kids to get hooked on programming."
Computer Science Teacher's Association. "When the Worst of Times is the Best of Times." December 2006. "At the risk of looking a little too hard for that silver lining in the big black cloud, I am beginning to think that some very good things might come out of the current bust in computer science education."
TN. "Jimmy Neutron." Jan 5, 2007. Related discussion.
Very interesting. Thanks Nate. Booch is not among my favorite methodologists, but one must take notice of what he says nonetheless.
I can see Alice's appeal to middle-school aged students. I would contend that appeal is not limited to girls, but would also bring in more boys who don't fit the gearhead stereotype.
How well does Alice teach students the fundamentals of polymorphism, which seems to be one of the stumbling blocks keeping people away from grasping modern CS?
Posted by: randolfe_ | Mar 14, 2007 at 17:29
randolfe_>
Hi randolfe, from the FAQ, it doesn't sound like Alice supports polymorphism directly. It does sounds like there is an awkward means via lookup of methods off an object's method table. I would imagine that this likely represents a simplifying nod given a history in an "objects-first" view towards programming instruction, see "Teaching Objects-first in Introductory Computer Science", Cooper et al.
I don't think its approach is limited to girls either. From here:
Storytelling Alice presents programming as a means to the end of storytelling... I observed girls interacting with Storytelling Alice and analyzed their storyboards and the story programs they developed. To enable and encourage middle school girls to create the kinds of stories they envision, Storytelling Alice includes high-level animations that enable social interaction between characters, a gallery of 3D objects designed to spark story ideas, and a story-based tutorial presented using Stencils, a new tutorial interaction technique.
To determine the impact of the storytelling focus on girls' interest in and success at learning to program, I conducted a study comparing the experiences of girls introduced to programming using Storytelling Alice with those of girls introduced to programming using a version of Alice without storytelling features (Generic Alice). Participants who used Storytelling Alice and Generic Alice were equally successful at learning basic programming concepts. However, I found that users of Storytelling Alice show more evidence of engagement with programming. Storytelling Alice users spent 42% more time programming and were more than three times as likely to sneak extra time to continue working on their programs (51% of Storytelling Alice users vs. 16% of Generic Alice users snuck extra time).
Posted by: nate_combs | Mar 14, 2007 at 20:08
These approaches quite remembers me of Seymour Papert's constructionist learning theory at MIT. MaMaMedia (http://www.mamamedia.com/) or the LOGO language are some well-known examples of his work.
Meanwhile, I do hope he is back in shape again (http://papert.media.mit.edu/). Best, v.
Posted by: Vitorino Ramos | Mar 15, 2007 at 08:37
Is Storytelling Alice different from Alice 2.0 at www.alice.org? Kelleher's description of her work (that Nate cited above) draws a distinction between Storytelling Alice and Generic Alice, but it isn't clear to me which I get if I go to alice.org.
My 8 year old daughter was curious about how video games get made, so I did some research on this a few months ago. She experimented with Alice 2.0 and spent about 4 hours total playing around with it. I think it's about a year or two out of her reach, still. But if there's a different version focusing on storytelling, I am certain she would respond better to it.
Posted by: Axecleaver | Mar 15, 2007 at 08:56
I took a look at the Powerpoint -- it's a neat program. I may try it out with my kids. I was encouraged by them noting how production values matter and that they've got a deal with EA of some sort to use IP from the Sims.
What I'm wondering is this: could marketing a program that teaches programming skills be profitable for EA or another company? The Reader Rabbit line or other educational software titles once raked in a good deal of money, but I think that side of the industry has been in a slump due to Web-based offerings from Nick Jr, etc.
Posted by: greglas | Mar 15, 2007 at 09:42
BTW, for those who'd like a quick and engaging overview/introduction, the videos are worth the gander:
http://www.alice.org/Alice_movies/
Posted by: nate_combs | Mar 15, 2007 at 21:22
Isnt alice just based on python?
If so, I'd say its OO is marvelous.
Posted by: dmx | Mar 20, 2007 at 12:46