A new report co-authored at Carnegie Mellon reveals an alarming decline in computer science education in U.S. elementary, middle and high schools. Several programs developed at CMU are helping to reverse the trend.
By Meghan Holohan
The boxy robot chugged across the playing field with its target in sight as its designers watched with pride.
The designers--a group of teenagers, including 15-year-old Brendan Meeder--had programmed the Lego robot to knock black-and-white Ping-Pong balls off of a ledge, and then collect them with its mechanical arm. They'd tested their programming and engineering thoroughly. Everything was going according to plan.
But it wouldn't have been an easy task, even if the robot were alone on the field. Unfortunately, it was playing Botball against other robots that had also been programmed to collect Ping-Pong balls. The team whose robot collected the most balls would win. Now another robot rushed across the playing field, cutting off the robot built by Meeder's team. And then a third robot that resembled a heavy cart rammed into the shelves, knocking the balls out of reach of its competitors.
Suddenly the easy-to-solve problem was a lot more complex. But while Meeder's robot might not have snagged the most Ping-Pong balls, a more important thing happened during that contest 10 years ago--computer science snagged Meeder.
Meeder was participating in the annual "Andrew's Leap" program run by Carnegie Mellon's School of Computer Science for high school students from throughout the Pittsburgh area. Since 1990, these students have come to campus for six to seven weeks to take classes with SCS faculty, visit their labs and work on projects in computer science and robotics.
Before Andrew's Leap, Meeder says he felt "adrift." Though he excelled in (and enjoyed) his math and science classes, he was unsure what he would pursue in college. After spending nearly two months at Carnegie Mellon learning about sensors, mechanics, programming and computer science theory, Meeder knew what he wanted to be when he grew up--a computer scientist.
Steven Rudich, professor of computer science and a co-founder of Andrew's Leap, says the program is designed to provide both education and mentoring to awaken and encourage students' interest in technology. "We want to stimulate them, to give them a deeper mathematical interest, give them more on the empirical level, give them more on engineering, and introduce them to the many different areas of computer science," Rudich says.
Meeder (CS'07), who's currently pursuing his doctorate in the Computer Science Department, calls Andrew's Leap "the most important event that shaped my interest" in CS. "Before that, I just broadly enjoyed math or science," he says. "But after this experience, I really discovered what computer science is--and it is not something that is taught in a high school computer science class."
Meeder's right. The skills and concepts taught to 30 or so teenagers every summer during Andrew's Leap are not those being taught in computer science classes in Pennsylvania high schools--or in the other 49 states, for that matter. According to a new report called "Running on Empty: The Failure to Teach K-12 Computer Science in the Digital Age," high school computer science classes tend to focus on the drudgery of programming languages, not on the fundamentals of computer science. Students get frustrated and decide that computer science is drudgery.
That's if they get any exposure to computer science at all--the report, co-authored by CMU's Mark Stehlik and Leigh Ann Sudol, along with Cameron Wilson of the Association for Computing Machinery and Chris Stephenson of ACM's Computer Science Teachers Association, notes that many schools, facing budget pressures and federal mandates created by the No Child Left Behind Act, have dropped computer science education altogether.
As a result, conclude the authors, computer science education in the United States is suffering right at a time when computer science jobs and ideas are driving the global economy. Written for the ACM and CSTA, "Running on Empty" was designed to get a look at the "state-by-state landscape," says Stehlik, SCS assistant dean for undergraduate education. The report concludes that landscape isn't pretty.
A variety of programs developed at the School of Computer Science are trying to improve the view. Some include direct outreach to students in kindergarten through 12th grade, such as Andrew's Leap, which just celebrated its 20th anniversary; and a new effort called FIRE, for "Fostering Innovation through Robotics Exploration." Other programs, such as CMU's Computer Science for High School, or "CS4HS," are training the next generation of K-12 teachers how to incorporate computer science into their existing math and science curricula.
According to "Running on Empty," those programs and others like them are needed more than ever. Stehlik and Sudol, a PhD student in the Computer Science Department, report that public schools in only 14 states offer computer science courses at levels recommended by CSTA and ACM. Two-thirds of states don't require even one standard upper-level computer science course in their curriculum for high school students.
All states mandate a core curriculum consisting only of English, math, social studies and basic science, just as they have for generations. In 40 states, students aren't even allowed to count computer science classes toward the number of credits in math or science required to graduate.
As a result, Stehlik says, fewer students are graduating high school with any computer science background. He points to two causes for the decrease--the federal No Child Left Behind Act, and changes in the way that advanced placement courses in computer science are handled for high school students.
Much ink has been spilled over issues created by No Child Left Behind, which was signed into law in 2001. The legislation requires all K-12 students to demonstrate basic knowledge and skills on standardized tests that focus heavily on math and English. Performance on those tests is tied to the amount of funding the federal government provides to states and individual school districts. Subsequently, critics say, schools are encouraged to "teach the test," gearing their curriculum to heavily cover a limited range of subjects in hopes of boosting their scores. Many districts have eliminated classes that aren't covered by standardized tests--such as computer science--and moved teachers from computer classes to basic math instruction.
Another problem, according to Stehlik, is that the College Board--the organization that sponsors advanced-placement tests for high school students--has changed the requirements for AP examinations in computer science. The College Board once offered two different computer science tests, including one that tested theoretical knowledge of algorithms, data structure and data abstraction--the fundamentals of computer science. In 2008, the College Board dropped that test, called "Computer Science AB," citing "declining interest" and a lack of funding to continue offering it. The remaining test only examines students' mastery of the Java programming language. Without an incentive to pass the more rigorous and interesting "AB" test, fewer students are motivated to take upper-level computer science courses.
While Stehlik and Sudol paint an overall bleak picture, they do find some bright spots. In Texas, for instance, a group of motivated teachers convinced the state Board of Education to mandate tougher computer science education in its curriculum requirements. And individual teachers are also making a difference. In the Springfield Township School District near Philadelphia, teacher Tammy Pirmann and her colleagues petitioned the school board to make fluency in computer science, and not typing skills, a graduation requirement. As a result, the district has adopted the recommendations created by the CSTA for grades K-12. Now, by the time students reach Springfield Township High School, they've had eight years of computer science instruction.
"There are many kids who would have never taken a computer science class," Pirmann says. "They end up in a computer course because it's required, and they find out they're good at it--and they like it."
Pirmann teaches Computer Science in the Modern World, which every Springfield Township student must take in ninth grade in order to graduate. In Computer Science in the Modern World, students learn about hardware, networks, binary numbers, encryption and encoding, interface design and programming.
Of course, not every Springfield Township student is a computer science whiz by the time they get to ninth grade, or even when they graduate, Pirmann quickly adds. "I have the same cross-section of students that any school has," she says. But they can learn that computer science is a broader subject than programming, Pirmann says.
"The biggest resistance I get is that people say 'you can't teach 13-year-olds computer science,'" says Pirmann, who worked as a computer industry consultant before becoming a teacher. "But you can. Kids can learn it. Even a student with a second-grade reading ability can look inside a computer and understand that information is traveling through the wires as electrical pulses."
Springfield Township's programming unit uses the Alice graphical language developed at Carnegie Mellon, and uses the textbook "Learning to Program With Alice," authored by CMU associate professor of computer science Wanda Dann, Stephen Cooper of St. Joseph's University, and the late Randy Pausch (CS'88), CMU professor of computer science and human-computer interaction.
Most school districts aren't like Springfield Township and have no computer science graduation requirements. Indeed, some have so many students struggling to learn the basics of reading and math that adding a rigorous computer science program isn't feasible. For those districts, there are materials such as those offered by CMU's Robotics Academy, which provides a variety of curriculum-boosting activities for schools. Robin Shoop, director of the Robotics Academy (part of the Robotics Institute), says schools can use as much or as little of the material as they want. "It's popular in education to use robots to teach STEM (science, technology, engineering and math)," Shoop says. But robots can be expensive, and what does a child do if she wants to continue to experiment with programming and robotics at home but doesn't have access to robots?
The answer is a virtual world featuring Lego-brand robot products. The software is being developed by the Robotics Academy; Ed Paradis, a senior research programmer at CMU's National Robotics Engineering Center in Lawrenceville, demonstrates. On Paradis' monitor, a Lego robot rolls across a beach as waves lap at the shore. Palm trees dot the landscape as the robot bounces across the terrain. Students collect coins--like in Nintendo's Super Mario Brothers from days of yore--while programming the Lego robot to navigate different environments, including the island and outer space. "The real benefit is that the students can do all the same things they do with (physical) robots, but they can do it in a lab without robots," Shoop says.
Paradis adds that the game is also designed to hold student interest: "It will be entertaining, like 'Where in the World is Carmen Sandiego'."
The game, which will be free of cost, is being developed under the auspices of a program called Fostering Innovation through Robotics Exploration, or FIRE. Funded with a four-year, $7 million grant from the Defense Department's Advanced Research Projects Agency, FIRE is a collaborative effort between several different units of the School of Computer Science, including the Robotics Academy, the Human-Computer Interaction Institute, the Robotics Institute and the Language Technologies Institute, as well as the University of Pittsburgh Learning Research and Development Center.
FIRE is developing tools like the virtual Lego Robot to enable middle- and high-school students to extend their interest in robots from one STEM activity to the next. Other tools being developed include computerized tutors that will teach math and CS skills in the context of robotics. The initiative targets robotics competitions that are already popular with secondary school students such as For Inspiration and Recognition of Science and Technology (FIRST), VEX and Robotfest.
FIRE also builds on the existing successes of the Robotics Academy, which since 2000 has developed educational materials and curriculum for computer science education in both middle and high school. Teachers can use the curriculum in ways that fit their needs.
Robotics Academy-designed software teaches computer science in different ways. In Robot Algebra, for instance, students answer basic math questions to control robots on a screen. The program is intended for students who have a hard time understanding ratios and proportions; if a student wants to get three robots to dance together, but the robots are different sizes and shapes, the student needs to choose the correct proportions so that the robots can interact without bumping into one another. The program is built around the Cognitive Tutoring technology developed at Carnegie Mellon, and provides hints and additional information to students to help them answer correctly.
Mike Dischner, a teacher at McKeesport Area High School just outside of Pittsburgh, uses materials from the Robotics Academy in his engineering class and the school's robotics club. Unlike Springfield Township, the McKeesport school district has not made computer science a graduation requirement. "If anyone wants to be exposed to computer programming related to automation or machines I'm the only ball game," Dischner says. "A lot of school districts are more worried about the students performing on standardized state tests, so (computer science) is just not a priority at this time."
Although teachers know that programming involves math, Dischner says that without resources, "who's going to teach those types of things?" Materials from the Robotics Academy help close the gap. Dischner, for example, uses its curriculum in the engineering class he teaches for vocational technology students at the high school. Dischner also oversees McKeesport Area's FIRST Robotics Team 1708, which is open to all students. The team participates in regional robotics competitions and several alumni have gone on to study computer science in college, he says.
In addition to offering curriculum resources, SCS is also training teachers in computer science education. CS4HS--Computer Science for High School--is a three-day summer workshop for computer science teachers run in partnership with Google that provides ways to help teachers capture their students' attention. Lenore Blum, distinguished career professor of computer science at Carnegie Mellon, is one of the founders of the program. She says teachers can be "really effective" as change agents because they're in the classrooms with K-12 students all the time, and they know what works and what doesn't. "The spinoff or networking effect is enormous," Blum says. "The teachers who come here tend to be leaders and very professional, and they influence opinions in their communities."
Are the programs effective? Anecdotal evidence suggests they do make a difference. Pirmann, for instance, took up the challenge of implementing the CSTA curriculum in the Springfield Township district after she attended the CS4HS workshop, and she's since worked closely with Stehlik and other CMU faculty.
And efforts such as Andrew's Leap clearly have made an impact on students such as Meeder, who 10 years later can vividly recall playing a 3D version of a Star Wars game in Pausch's lab and thinking how cool it was to have access to such technology.
Still, those efforts are limited in scope, Stehlik says. "All of these things are important, but we're reaching small audiences," he says.
What's needed, Stehlik says, are changes to school requirements on the state level. When it comes to computer science education, Pennsylvania, for instance, ranks in the middle of the pack, according to "Running on Empty." In the Keystone State, teachers don't need a computer science degree to teach computer science; instead, they need a state certification to teach business classes. The requirements for computer science teachers were first created in 1981, and haven't changed since, Stehlik says.
For real change to occur within K-12 computer science education, motivated educators need to advocate for that change on the state level, just as Pirmann lobbied her school board. "We were working on a local level, trying to get computer science as a core subject, and we found we really need to talk about it at the state level," she says.
Pirmann, Stehlik and other educators recently approached the Pennsylvania Department of Education, asking for a change in graduation requirements that would include computer science credits, as well as changes in the way that computer science teachers are certified. They received a lukewarm reception. While the department acknowledged that computer science education was important, it was hesitant to change any regulations; Stehlik says "it's difficult to move 30-year-old machinery."
Federal, state and local officials have to stop "passing the buck" and work together to revamp computer science education in all grades, Stehlik says. With the decline of the nation's manufacturing base, computer science and high technology are the future of the U.S. economy, he says.
And if U.S. students aren't working on the next new blockbusting technology in computer science, students from other countries will. Stehlik points out that according to the U.S. Bureau of Labor Statistics, between now and 2018 nearly 75 percent of new American science and engineering jobs will be in computing fields. But only 50,000 American students are expected to obtain computer science degrees between now and then.
Stehlik wants students to be inspired to create the next "killer app" like Facebook or Twitter. "There should be a sense of wonder about what we can do with computer science," he says.
Jason Togyer | 412-268-8721 | jt3y [atsymbol] cs.cmu.edu