Search News


Browse Archives

News

Programming with Pictures

May 22, 2007

Share This Story

FREE Daily News Alerts

Advertisement

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.

“Hu-freakin’-rrah.”

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.' "

See all postings »
Advertisement
Advertisement

Comments on Programming with Pictures

  • This Is A Picture Of My Feelings Being All Mixed Up
  • Posted by RWH on May 22, 2007 at 8:40am EDT
  • I teach mathematics, statistics, social methodology, management science, and the often laughable “quality sciences.” My teaching style is very heavily dependent upon ...

    1. graphical support (the proverbial pictures that are worth at least a thousand words)

    2. applicability outside the context of discussion (constantly asking and answering “Who cares?”)

    3. the separation of conceptual content and shorthand (the concepts tend to be trivial ... the shorthand is often intimidating and requires no reasoning at all, just memorization)

    4. as my “Statement of Teaching Philosophy” stipulates, “If learning can’t be enjoyable – I would almost (but not quite) say if it can’t be ‘fun’ – then what’s the point? We might as well go to work for Ford Motor Company ... or General Electric ... or Ernst & Young.”

    But the fundamental characteristic of my teaching “mathematics” is just that ... if, as the learning process unfolds, my students don’t understand what is going on at a very sophisticated, fundamental level – i.e., if they don’t understand nuts and bolts, the basic structure – they will walk away from the learning experience with very little of value.

    I realize we are living in an increasingly more complex world, and there is reason to have machines, algorithms, tricks, short-cuts, recipes, etc. to push us along. But when the learning process is altered in a way that removes the understanding of basic concepts in preference to providing us with a mechanism that enables us to be competent users, I think something is lost.

    I am struck by a comparison of teaching “programming” with Alice and the instructional style of Jaime Escalante who, back in the ‘70s, transformed the teaching of mathematics at Garfield High School in East Los Angeles (check out and view the terrific flick, “Stand and Deliver” and be sure to read the statements in the closing credits). Even given what I would call my “enlightened” instructional style, I frequently remind my students that learning is often difficult – even painful – and if they’re not prepared for that, they should drop out and get a job in the fast food industry.

    All of that said, I’m definitely pulling for Alice.

  • The times tables of programming?
  • Posted by Jane Robbins, PhD on May 22, 2007 at 10:25am EDT
  • I think RWH has got it exactly. Alice is wonderful, especially, say, for people like me who would simply like to learn enough to customize their already-boring blog templates (www.littlecomptonmornings.blogspot.com). But in any field, the basics are the basics. At RISD, for example, the graphic animation students must start with drawing classes, under the belief that to be a really good animation artist, you need those old-fashioned hand-drawing skills, no matter how great the programs are. We've seen the results of "new math": people who cannot make change. It's likely the combination of the fun and technically rigorous, even if arcane and dull, that will work best, so the question becomes the structure of the curriculum: where start? At another art program, photography students were allowed to take what they wanted first--e.g., compositon, photojournalism--to get excited, then later had to complete the grueling, workmanlike technical courses. Perhaps Alice first, intro to programming next--so the light at the end can be seen and held in sight.

    Oh, and by the way: the goal isn't to fill the enrollments, is it? That's a bad basis for making curricular decisions.

  • Surely toys aren't the answer
  • Posted by Kyle Wheeler on May 22, 2007 at 1:25pm EDT
  • Why must the proud study of algorithms and computing be reduced to telling stories about three little pigs in order to get anyone interested? Math doesn't have to do that. Nor does physics, biology, chemistry, or virtually any other subject. The Alice author makes fun of adding 20 numbers together, but in calculus, you spend *months* memorizing trigonometric equivalents and logarithmic estimations in order to finally be able to calculate the volume of a physically impossible three-dimensional shape. To mockingly quote him, "Hu-freakin'-rrah." You have to start *somewhere*.

    If the benefit is primarily that you can easily visualize your algorithms, I would counter that Logo (where you program a “turtle” (triangle) to draw lines) did the same thing back in the 80’s.

    It’s a shame the author of the article spends so little time pondering the all-important question “Are students who use Alice actually learning what they need to learn?” My own objections to it aside, that’s the really important question.

    There’s a time and place for infantilizing the subject matter. In my opinion, college-level computer science courses are not it. If there’s a place for Alice, I’d say it’s probably in middle-school. (SOMEthing has to take the place of HyperCard.)

    I heartily agree with Jane Robbins when she says “The goal isn’t to fill the enrollments, is it? That’s a bad basis for making curricular decisions.”

  • Posted by colin maclay on May 23, 2007 at 4:35am EDT
  • Interesting to explore some of the differences between Alice and Scratch: Since Alice is 3D, it is more aligned with the graphics that kids see in video games, but it's more difficult for kids to create their own graphical content -- whereas Scratch, in 2D, makes it easier for kids to create their own graphical content, and makes it possible for kids to work on a more diverse range of projects. Also, Scratch aims to be accessible to somewhat younger kids, and Alice puts more focus on preparing kids for "computer science". As we seek to make technology a more accessible tool for creation and expression, available to not only computer scientists, but to kids of all ages, having a variety of approaches like Scratch and Alice seems most valuable.