Dry. Difficult. Irrelevant. That’s how students in CS39N described computer science (CS) and programming BEFORE they took the introductory course.
Fun. Easy to learn. Can relate to it. That’s what they were saying eight weeks into the class.
It’s music to the ears of Dan Garcia, Brian Harvey, Colleen Lewis (B.S.’05 EECS) and George Wang, who are on a mission to establish a new introductory computing course at Berkeley that will alter the way young people perceive the field. Called “The Beauty and Joy of Computing,” the two-unit freshman/sophomore seminar teaches non-majors basic programming skills while exploring big picture topics such as abstraction, world-changing applications and the social implications of computing. The course is supported by a $50,000 grant from Lockheed Martin.
“Beauty, joy, passion and awe—all of us in computer science see and feel these things in computing,” says Garcia, an EECS lecturer. “But we’re making a terrible first impression. Traditional introductory courses are syntax heavy, and students struggle as they slog through the details of Java programming. Where’s the joy and creativity in that?”
Instead, CS39N students choose their own projects (often simple video games or simulations) and bring them to life using a beginner-friendly, graphical programming language called Scratch. On a bright fall day, students presented their latest creations, including a Super Mario Bros.–like game where the main character leaps platforms in order to rescue the princess in distress.
“Computer programming always looked cool to me, but it was hard to approach,” says Mu Yang, a math/economics freshman enrolled in the class. “I had the impression that you had to spend all your time debugging code, and I wanted to do programming that wasn’t so serious. It had to be fun. With Scratch, it’s easy to understand and do stuff.”
CS39N features more than just programming. Earlier in the month, the class discussed the effect of computing on privacy, from the pros and cons of national ID cards to the whole-body imaging machines that have been accused of giving air travelers a virtual strip search. By facilitating these discussions, instructors hope to draw a direct line between the abstraction of computing and young people’s daily lives.
Adam Krause, a first-year philosophy major, appreciates the big picture. “I always thought computer science was overly practical and there wasn’t much theory to it,” he says. “I’m surprised how relevant it’s been to my philosophy classes, where we’re also talking about artificial intelligence and recursion.”
The EECS department has a long history of trying to make its introductory CS course more appealing, says Brian Harvey, an EECS lecturer. “Over 20 years ago, we switched from Pascal, the equivalent at that time of Java today, to Scheme, which we use in today’s CS3L, ‘Introduction to Symbolic Programming,’” he says. “Scheme is a language with much less of a syntax hurdle that emphasizes symbolic computation; that is, words and sentences, instead of number crunching.”
CS39N will not replace but supplement CS3L, the EECS intro course for both non-majors and CS majors with no programming experience. “Beauty and Joy” instead focuses on making computer science alluring to those who aren’t inclined toward it, generating positive experiences especially targeted at underrepresented minorities and women.
Colleen Lewis, one of CS39N’s graduate student instructors, earned her B.S. in EECS from Berkeley in 2005 and is completing her master’s degree this month. But she didn’t initially select EECS as her major, she says. Although she had prior programming experience, she didn’t think she was smart enough. Even after a friend convinced her to major in EECS, she felt intimidated by lab work and the steep learning curve.
“There’s this perception that either you’re a computer science person or you’re not a computer science person,” Lewis says. “Either you’re good at it or not. That’s simply not true. I think any person can grow in computer science and become better at it. The key is giving them a positive early experience.”
Around the country, a growing number of CS educators agree it’s time to rethink introductory computing, with Berkeley’s Garcia helping to lead the movement. Harvard, for example, also offers a big picture computing course entitled “Great Ideas in Computer Science.”
“But we’re losing people before they even come to college,” Garcia says. “How do you fix the problem? You have to focus on K through 12.” The National Science Foundation (NSF) agrees. It is launching a program to place 10,000 teachers trained in new CS thinking in 10,000 high schools and funding an effort by the College Board to reexamine its current high school Advanced Placement course in computer science.
“We need to make computing exciting and relevant because we have to bring more people in the door,” Garcia says. A crisis is looming in the field, he adds, because the number of CS bachelor’s degrees granted remains down, at around 9,000 from its peak of roughly 18,000 in 2003. Yet industry demand for CS graduates races ever upward. The U.S. Bureau of Labor Statistics estimates that, in just one job category of computer science (systems analyst), there will be 63,000 job openings by 2016.
With “Beauty and Joy,” the Berkeley instructors aim to establish a successful collegiate model for introductory computing. Next year, they’ll offer an expanded, four-unit course based on the current two-unit version. The goal, they say, is to encourage more students to consider computer science as a major. Yet their enthusiasm for computing extends beyond that. They want to empower any Cal undergraduate with knowledge of computational thinking, knowledge they say is as indispensible to a modern education as English, history and math.