When a donor approached Park City (Utah) School District two years ago offering to fund a coding program in its elementary schools, the administration couldn't refuse. "We [see] coding and computer science as a life skill equal to other core skills that we're teaching," says Kathleen Einhorn, associate superintendent of teaching, learning, and technology.
However, "we didn't realize how big this was going to be," notes Kim Quapp, Park City coding specialist and instructional technology coach. Logistics like staffing, scheduling, professional development, and even the curriculum itself had to be ironed out in a hurry.
"It's like building the plane while you're flying it," says Quapp.
Beyond "Preparatory Privilege"
Although computer science is the fastest-growing advanced placement (AP) course of the past decade, according to the College Board, 56 percent of U.S. high school seniors still don't have access to the subject (NAEP, 2015). Even fewer have access to computer science (CS) courses that teach coding: just 40 percent of K–12 principals in a 2016 Google/Gallup survey said their school offers CS courses with computer programming/coding. Exposure to coding at the elementary level is even rarer.
The demand for teaching coding across the K–12 spectrum, however, is coming from all stakeholders—parents, policymakers, the business community, and students themselves. A survey from Change the Equation, a nonprofit coalition dedicated to improving STEM learning, found that next to the arts, high school students rated computer science as their most-liked subject. And the Google/Gallup survey revealed that 9 in 10 parents want their children to learn computer science.
Historically, just a select few have benefitted from "preparatory privilege" in coding—having a parent who is an engineer or computer scientist. That early exposure increases the likelihood that they will take advantage of AP courses in high school, says Jim Ryan, STEM executive director for the San Francisco Unified School District (SFUSD). The College Board found that students who take AP computer science are eight times more likely to major in it in college.
To minimize gaps in access, SFUSD has committed to teaching computer science in every one of its preK–12 schools, with the help of funding assistance from Salesforce. The district's long-term goal, according to Ryan, is to keep its graduates in the Bay Area, contributing to the local economy.
"By starting young, we believe we can give every child the privilege of seeing themselves as computer scientists and seeing it as a viable study or career path."
Not Just Computational Skills
Beyond its occupational value, Park City sees coding as a way to teach not just computational thinking skills, but also 21st century skills like communication, collaboration, and critical thinking. "We're not creating a whole community of coders," asserts Einhorn. "We're [creating] kids who can problem-solve and persevere."
One of the biggest benefits of teaching coding is that students learn to manage their frustration. "Programmers rarely get it right the first time," says Quapp. "They often have to 'debug' code multiple times" before they arrive at a solution. Likewise, "students begin to adopt the attitude that it's OK to make mistakes, and it [can] take time to get things the way you want them." In Park City, this perseverance overlaps into other subjects. Teachers observe students "debugging" problems in math or "debugging" words in their small reading groups, adds Quapp. They are more willing to "back up, break apart the problem, and try multiple strategies to [solve it]."
Alice Lee, principal of Richmond Street Elementary in Segundo, California, adds that coding develops students' speaking skills. "When you're trying to code something to go from point A to point B, you have to be very specific in your instructions. Say what it is that you want to say. Don't be vague."
Besides specificity in language, coding can help "kids learn how to justify different approaches to a problem [and] to describe technical problems in lay people's terms," says Pat Yongpradit, chief academic officer at Code.org.
Give It a Home
For some early adopters, gaining buy-in wasn't an issue: implementation was. Park City's biggest hurdle to getting coding off the ground was scheduling. This past school year, the district moved coding into the specialist rotation, with students alternating between coding one week and media specialist time the next. "For the most part, it works out," says Einhorn.
San Francisco Unified, on the other hand, is piloting a push-in model. The district doesn't mandate that schools teach coding at the expense of another subject, explains Ryan. Instead, it's up to individual schools to determine how CS fits into the schedule, based on "the needs of their school's population." CS courses that include coding will be taught by either itinerant teachers employed centrally or by the school's technology specialist or librarian. Ultimately, the district will provide 20 hours of CS instruction to preK–5 students and 40 hours to middle school students each year. A "portfolio of options in every high school" will support that learning, says Ryan.
Before phasing in a similar program, he advises districts to "give it a home." "There has to be a [specific staff person] at the school who owns computer science," Ryan says. "Which adult do you make responsible for teaching it? And are you providing the time and support they need to be comfortable with it? If you don't, then it becomes an obligation that gets short shrift."
San Francisco Unified prioritizes collaboration among its computer science educators, who participate in monthly professional learning communities after school. "A computer science teacher at an elementary school is a bit isolated," Ryan notes. "It's not like you have a collaborator down the hall who is teaching the same thing."
Park City asked its instructional technology coaches to take on dual roles as coding specialists. Einhorn says one unforeseen consequence was losing professional development time for teachers. But the district is exploring different ways to fill the IT coaching gap—like tapping those with tech expertise in each building.
Providing ongoing support is a top priority in Arkansas, where computer science is a required course in all high schools. According to Anthony Owen, the state's director of computer science, the governor has allocated $10 million in funding over four years to provide CS course support and professional development. The state has also identified certification pathways for computer science teachers.
The nonprofit Code.org, which works closely with states like Arkansas and more than 100 school districts, offers free full-day CS Fundamentals workshops for K–5 teachers. So far, more than 50,000 have participated.
Quapp notes that, with the lack of resources available for coding at the elementary level, collaboration and idea-sharing among districts is crucial. "Why reinvent the wheel when we can work on this together?"
A Comprehensive Curriculum
This meeting of the minds could be especially beneficial when developing a coding curriculum. "There wasn't one program that fit everything we needed," recalls Mike Burton, Park City coding specialist and instructional technology coach. The district started by adapting free lessons from sites like Code.org and Kodable, and then turned to ScratchJr to allow for a little more creativity. The app lets kids express themselves through coding by creating their own stories and games.
Code.org's "unplugged" lessons work particularly well for younger students, adds Burton. They reinforce basic computing concepts through kinesthetic, hands-on activities like running relay races to practice debugging under pressure, using hand gestures to perfect algorithms, or making suncatchers with functions. In a classroom with few devices, instruction can be staggered, with some students working on computers and others working on unplugged lessons.
Just two years in, Park City is teaching coding (and robotics) in all of its K–3 classrooms—and plans to add 4th grade to the roster this fall. The coding team is engaged in vertical alignment meetings to determine how to scaffold computational thinking skills in middle and high school. "We're ahead of where the state is, so there aren't courses created," says Quapp.
The team just recently laid out a scope and sequence of essential computer science skills, borrowing from SFUSD's model and a patchwork of other sources. At the time, the K–12 Computer Science Framework—released in October 2016 by Code.org, the Computer Science Teachers Association, and other partners including Google and Apple—wasn't out in full.
Anchoring a coding program within the CS Framework can ensure that "it's not a fad, but a real discipline," says Yongpradit.
Wheels Up
Looking back at the speed-of-light pace at which Park City rolled out coding, Einhorn urges other districts to avoid going too big, too fast. "Pilot it in one or two schools, work out the kinks, and then extend the program."
And even within a school, try phasing it in incrementally, suggests Quapp. "If I had to do it over again, I would add one grade level at a time." Similarly, Yongpradit advises principals to make sure that implementation is a "low lift." Begin with the annual Hour of Code event during Computer Science Education Week, "but don't stop there," he says.