The key to helping kids learn problem solving is a computer science class

The key to helping kids learn problem solving is a computer science class
Image: James D. Wilson/Getty Images
We may earn a commission from links on this page.

Pat Phillips sat in a small conference hall in Wisconsin. It was 1983, and a futurist was talking about how home computing was about to change the lives of families and women. Phillips, then a high school home economics teacher in Janesville, was rapt. She wanted to bring that future to her students.

She went about crafting her own masters program at the University of Wisconsin in nearby Whitewater, blending computer science and family studies courses to modernize home economics. But in a meeting about her plan, school administrators had a different idea: Phillips should start and teach a computer science program.

“I walked away thinking ‘Oh dear,’” Phillips says. “This must be how the dog who chases the car feels when they catch the bumper.” She taught her first computer science course in 1985, developing the curriculum as she went, retiring from teaching the subject 20 years later.

American teachers of the 1980s and nineties like Phillips, many with little to no background in the field, introduced computer science to a generation of students that would go on to shape the World Wide Web.

With computer science now integral to almost every industry, teachers are starting to rethink how they can better prepare students, whether they become software engineers or simply need to know how to function in an increasingly digital world.

Image for article titled The key to helping kids learn problem solving is a computer science class

The early days of computer science

Secondary schools in the United States first started offering computer science classes as early as the 1960s, but they remained rare into the 1980s. They were generally focused on straightforward business applications for those early computers, such as simple data processing and accounting. By today’s standards, these early courses might be classified as computer literacy—classes focused on completing basic tasks and operating the device, not making meaningful changes to how they work—characterized by slowness, not speed.

Starting in the mid-1970s, as government funding to universities increased, computer science programs bloomed across college campuses, driving up demand for high school curriculum. But high school teachers often encountered challenges in obtaining even indirect access to the hardware needed to instruct their classes. Doug Peterson, who started teaching computer science in 1979 in Ontario, Canada, taught his earliest students how to program on punch cards. Every week, Peterson would bring the cards to a room-sized computer at a nearby university, run them, and return the results to his class the next day. This delayed feedback encouraged students to “think like a computer,” he says; failure meant getting an error message that would take days to resolve.

That changed when the personal computer arrived in the early 1980s. Seemingly overnight, computers became affordable for well-funded school districts and well-to-do families. The first advanced placement (AP) computer science exam soon followed, in 1984.

Teachers and pupils try out the new computer
Image: Staff/Mirrorpix/Getty Images

“The birth of the personal computer, and the attention it created, drove the development of the first computer science AP exam,” says Maureen Reyes, executive director of program management at the College Board, which offers the AP exams. Immediately, schools clamored to offer classes designed to prepare students for the test. Modeled after college curricula, the AP exam requires that students learn a single programming language. Over the years, that language changed from Pascal to C++ to Java as college curricula did the same.

As computer science became better established in the 1990s, high school educators were eager to teach these college-level classes, but many lacked a computer science background. So they relied on dense college textbooks to craft their curricula. “When I first started teaching, most teachers collected as many textbooks as they could and selected one to follow its chapter structure,” says Leigh Ann DeLyser, who taught computer science in upstate New York from 1997 to 2008 and now runs CS For All, a nonprofit focused on bringing computer science education to K-12 classrooms. Other teachers, DeLyser adds, cobbled coursework together from textbooks and other resources long before the web made sharing lesson plans simple and commonplace.

But the curricula tended to be heavily scripted and dense. And since computer science wasn’t (and, in many places, still isn’t) a graduation requirement, these courses mostly appealed to students who were already interested in coding. So even though computing and programming were becoming more popular throughout the 1980s and 1990s, the number of students taking computer science AP exams lagged behind compared to those taking tests in other subjects, Reyes says.

Yet teachers persisted. In the early 2000s, with computers on the precipice of profoundly transforming our lives, they sought new ways to engage more students on deeper levels.

Image for article titled The key to helping kids learn problem solving is a computer science class

Opening up computer science

As a sophomore in 2011, Dorit Rein wasn’t excited about taking an introductory computer science class. But because it was required at her alma mater, Stuyvesant High School–a specialized science and math public school–in New York City, she had to. “I remember thinking, This isn’t going to be something I will be good at,” Rein says. She imagined “tall, lanky gamer nerds” as the kind of student who would excel.

To her surprise, she loved it immediately. She was engaged by the kind of creative problem-solving computer science demanded of her. “It has all the aspects of math I like—there’s an algorithm, a formula to follow to solve a problem. I think that’s really interesting,” Rein says.

Now 23, Rein is an engineer at Snapchat. And she believes she would probably be doing something else if not for that computer science requisite. “People in college who take introductory computer science can perceive it as so hard that they just give up,” Rein says. “More would stick with it if they had the opportunity to take a class and see what it’s like in high school.”

Teachers are changing tactics to encourage more students like Rein to stay with computer science in college and beyond. Access to hardware is no longer the problem; today’s biggest hurdle is to expose more students to computer science principles early on to make the material more approachable.

For example, instead of teaching a coding language that might be out of date by the time a student is ready to join the workforce, many more teachers rely on visual or “drag and drop” programming languages that let students see their programming output in real time, teaching them the fundamental underpinnings of computer science without having to memorize a new language.

Pupils working at their laptops
Image: Thomas Trutschel/Photothek via Getty Images

This approach is reflected in the Computer Science Principles AP exam, or AP CSP, introduced in 2016. Unlike the original exam, AP CSP does not mandate a specific programming language. And because it’s composed of several “performance tasks” that students complete throughout the year, replacing the single cumulative test, it’s also closer to how engineers actually work.

Programming assignments are no longer simply academic exercises, either. Classes offer students more context for each assignment—a bigger sense of where the resulting programs can go—and less theory. “To have an embodied character walk through the steps they created on the screen shifts it away from a pure exercise in logic,” DeLyser says. “It’s just good pedagogy; it’s just good teaching.” Besides, teens already tend to have sophisticated views on the apps and websites they use. Leveraging that is key to keeping students engaged, several teachers told Quartz.

Image for article titled The key to helping kids learn problem solving is a computer science class

Time of exposure

Many tech leaders lean hard into the narrative that they were child prodigies and naturally gifted programmers, and position the powerful companies they now run as meritocracies. But in truth, everyone is a product of their background and education. Mark Zuckerberg, the legend goes, coded and launched the initial version of Facebook from his Harvard dorm room. To get to Harvard, though, Zuckerberg first attended Phillips Exeter Academy, an elite private school with mandatory computer science curricula. And before that, he was tutored at home by David Newman, a computer scientist hired by his parents, in private weekly sessions. Whatever nascent abilities he had were carefully honed to ensure achievement.

And Evan Spiegel, co-founder and CEO of Snapchat, also went to an elite private high school and attended his father’s alma mater, Stanford, a pipeline to the venture-capital-funded startups of Silicon Valley. His story hinges more on being in the right place at the right time, but he doesn’t seem to question how he got to that place where fortune struck. “I am a young, white, educated male who got really, really lucky,” he told the Stanford Women in Business conference in 2018.

Early exposure to computer science can help propel less famous students into studying it more seriously, and perhaps into careers in tech too. Michaela Adams, a software engineer at investment management firm Eaton Vance, recalls that exposure to computer science via her brother, also a software engineer, helped her feel more comfortable in college courses and at the Grace Hopper Program, a software engineering boot camp. “It’s not like he was sitting me down and explaining things—you just absorb it,” Adams says.

Image for article titled The key to helping kids learn problem solving is a computer science class
Image: Jean-Claude FRANCOLON/Gamma-Rapho via Getty Images

But not everyone gets the opportunity to develop and deepen their interest in computer science in high school or college. Boot camps, academies for those aspiring to learn to code, often cater to people who didn’t get to explore computer science earlier in life and started to spring up around 2011.

Joe Keohan, a lead instructor at General Assembly, an enormously popular coding boot camp, says that most of the students are between ages 25 and 35 and have previously “dabbled” in programming, but have never studied it intensively. Tom Ogletree, General Assembly’s Director of Social Impact, says the primary motivator is economic: “As all companies become tech companies, the need for these skill sets is exploding. Learning to code is increasingly becoming an economic imperative.”

General Assembly approaches teaching by “contextualizing the theory,” meaning the focus is more on practical programming skills than the underlying concepts. “We work backwards from what employers have demanded,” Ogletree says. “Our instructors are not necessarily academics or PhDs, but they are the engineers at those companies [where our students are hired]. They’re bringing lived experience into the classroom.”

So whether you take computer science in high school or learn to code later in a boot camp, you’re increasingly likely to learn practical skills and digital literacy, not theory, useful whether you go into engineering or use some light coding at your job. This makes sense because these teachers assume that not every student is going to get a job that requires hardcore coding skills–even if they do, the programming language they learn may well be obsolete by the time they get there–but instead focus on fostering universally useful digital literacy.

“The distance between high school education and tech jobs is increasing,” Ogletree says. “Generally, learning how to think has been the priority over learning how to do. Now, we’re seeing a paradigm shift where learning how to do is as important as learning how to think.”

Correction: An earlier version of this story incorrectly stated that the College Board introduced the AP Computer Science Principles exam in 2008. The organization decided to create the exam in 2008, but it wasn’t implemented until 2016.