Programming with Pictures
Nationwide, drops in computer science enrollment are staggering, with a Computing Research Association survey finding that the number of new computer science majors at Ph.D.-granting institutions in fall 2006 was, at 7,798, just half the total in 2000.
Computer science departments were once the hottest destinations in academe, privileged to have the ability to weed out weaker students with plenty of stronger ones to spare. But, a few notable exceptions aside, they haven't adapted very well to the changing times, Carnegie Mellon University’s Randy Pausch says. In fact, he argues, many computer science departments are a quarter century behind on adapting their instructional methods for the purpose of attracting and retaining students, continuing to teach the gateway course to the field -- introductory programming -- just as they did 25 years ago.
“The mechanics of how we teach it for the most part have not changed. People create textual programs with keyboards, having the capacity to make syntax errors that are completely nonsensical to novices,” says Pausch, a professor of human-computer interaction and computer science and the director of the Alice Software Project, a programming environment for beginners.
“You have all these random errors that can go wrong and at the end of the day, you can print out the sum of the first 20 integers," he says, referencing a common introductory exercise in which students design a program to determine the sum of a certain sequence of numbers.
About 10 percent of the nation’s colleges now use Alice, an open-source, graphical software program available free online that allows users to learn the very basics of programming -- concepts like iteration, if statements and methods -- while making 3-D animations. Alice’s growth within college computer science departments has been impressive: Most colleges only began incorporating Alice in their introductory CS0 or CS1 courses within the past 18 months, since the release of an accompanying textbook.
But the software, currently readable to users in plain old English (a major drawback for many faculty who of course teach programming in standard computer languages like Java and C++), is potentially poised to penetrate far more colleges in 2008, when Alice 3.0 comes out in Java -- featuring, this time around, sophisticated graphics, made available free by Electronic Arts Inc., from “The Sims,” the best-selling PC video game of all time. (And significantly, Pausch adds, one of the few games more popular with girls than boys. Computer science, he notes drily, has the unfortunate distinction of being the only discipline in the sciences to actually face declining female enrollments percentage-wise in the last 25 years).
Alice is one of a handful of programming tools -- including the Massachusetts Institute of Technology’s new program, Scratch -- that allows users to combine introductory programming with storytelling. “There have been lots and lots of people trying to create interfaces to bring more people into computer science,” says Caitlin Kelleher, a postdoc at Carnegie Mellon and incoming assistant professor of computer science at Washington University in St. Louis. Her dissertation focused on the appeal of storytelling in Alice for middle school girls. “The vast majority of them have gone after trying to make it easier to learn how to program, which is important because there are a lot of frustrating barriers that people can hit," Kelleher says.
“It turns out it’s not enough. We’ve had this implicit assumption that if we made programming easy enough, suddenly the floodgates would open and the masses would come into computer science.” But, Kelleher says, “We actually have to put programming into a compelling context.”
Using a drag and drop menu and a gallery of 3-D characters and settings, Alice users can employ tools such as “move,” “turn” or “resize” to tell stories without having to worry about the syntax errors that tend to trip novice programmers up. “Syntax is this awful thing, getting all the semicolons in the right place,” says Pausch. “One hundred percent of people who want to program will have trouble in their first semester, but anyone who pushes through after about a year is just not going to have syntax as a major problem.... Essentially, everyone will get over that hump if they don’t quit along the way.”
Alice is billed as computer programming on training wheels, in which students can learn one concept at a time, with the idea being that they can translate the concepts they learn visually into the textual programming languages (where, of course, they'll grapple with syntax). “When they actually watch what happens, they get a much stronger notion of what’s going on than if they click ‘run’ and the answer’s four when they thought it would be five and they don’t know what’s going on,” says Stephen Cooper, an associate professor of math and computer science and director of the Center for Visualization at Philadelphia's Saint Joseph’s University. He is also a co-author, with Pausch and Ithaca College's Wanda Dann, of the Learning to Program With Alice textbook (one of a number of textbooks addressing use of the software).
“If you’re doing something with pictures, you immediately see that the picture isn’t what you want it to be," Cooper says. And so you're motivated to find out why.
Results show that Alice has been particularly helpful in retaining “at risk” computer science majors, those with no programming experience and more limited mathematics backgrounds. A study conducted by Cooper and two outside mathematicians found that among students deemed “at risk,” 88 percent who took a pre-CS1 course using the Alice software were retained through a CS2 course, where they received a 3.03 average grade point average. Only 47 percent of their peers who did not take the pre-CS1 course with Alice continued on to CS2, where they received an average G.P.A. of 1.94.
Community college instructors, in particular, Pausch says, have warmed to Alice. “There’s no doubt that Alice helps most where the needs are greatest.”
But, while Alice does seem to be attractive to at-risk computer science students, the software in its current version also presents some real pedagogical pitfalls, says Kris Powers, a lecturer in computer science at Tufts University who presented a paper earlier this spring, “Through the Looking Glass: Teaching CS0 with Alice." “I was frustrated,” Powers says, “with a lot of challenges in the environment that I did not think were as well advertised as they should be.”
For instance, although low-level students may enjoy the Alice software and even excel in their efforts, their skills don't always translate into real-world programming in real (computer)-world languages. “The students that were the more at-risk, at least on a college level, thought that Alice was fun. They were confident using it, but they didn’t consider it real programming, they didn’t feel like they were getting real programming skills,” Powers says. “That was despite me going through with them, 'Here’s this problem, you know how to solve it in Alice, here’s how to solve this problem in just a regular old computer science language.' ”
But even more problematically, Powers says, Alice twists traditional understandings of the basic programming concept of object-oriented programming -- meaning the use of Alice in the classroom was actually undermining learning for her high-level students when it came time to apply their knowledge elsewhere. But though Powers has stopped teaching with Alice at the collegiate level for now, she has high hopes for Alice 3.0, which, being in Java, will solve the problem regarding objects (which Pausch agrees is a valid critique).
“I think Alice 3.0 is bound to be awesome,” Powers says. She adds that the sophisticated graphics will make the software even more appealing to high-level students who will be able to design more complex animations.
Alice 3.0 will also feature more than 10,000 different commands, Pausch says. While with the current version users can tell characters to grow, turn and move, in 3.0 they can say, just as an example, “Make pancakes.”
The actual release date in 2008 is still uncertain, Pausch says. The ten developers on the Alice team have competing goals: While they want to ensure they turn out a high-quality product with minimal bugs, they're also racing against the clock. Pausch -- who is committed to not making a penny from Alice, making the software available free and also donating all of his royalties, about $30,000 so far from textbook sales and such, back to Carnegie Mellon -- is facing pancreatic cancer and 50/50 odds. He just finished chemotherapy and radiation and is waiting to see if it works; if it doesn’t, he’ll probably have about 18 months to live. “It does create a weird dynamic where on the one hand the team is rushing, but we’re also maintaining a quality standard,” says Pausch -- who adds, coyly, that while he may be a coin toss statistically, "No one has ever won by betting against me.”
As the Alice team members complete both the Alice 3.0 software and a new textbook, they’re looking not just to expand the software's appeal among colleges but also the high school and even middle school levels, where Kelleher plans to continue her work with a modified middle school version she created. Getting students before they lose interest in computer science in the lower grades, Pausch says, will be instrumental to bringing enrollments back up.
Meanwhile, Pausch acknowledges that one of the major barriers he faces when it comes to expanding Alice's presence in colleges is computer science faculty who assume that Alice cannot be real programming, because, in its current version, it’s not in a computer language, it features a drag and drop menu instead of keyboard commands and, he says, “It’s too fun.”
“I’ve learned the hard way never to say that it’s 'fun,' ” Pausch says. “We have all these other words that we use instead, like ‘it’s engaging.’ ”
“We have a sign,” he says, “ to never use the ‘f-word.' "
Search for Jobs