Policy brief

Four Practical Challenges for High School Computer Science

Paul Bruno
University of Illinois at Urbana–Champaign
Mariam Saffar Pérez
University of Illinois at Urbana–Champaign
Colleen M. Lewis
University of Illinois at Urbana–Champaign


High schools in California—and around the country—increasingly offer computer science (CS) and often would like to expand CS offerings further. However, these expansions pose a number of challenges for administrators and policymakers, especially if they are going to happen effectively and equitably. We consider four of the most pressing challenges for CS expansions: (a) staffing issues, including equitable access to CS teachers; (b) curricular capacity; (c) school accountability pressure; and (d) equitable access to CS coursework. For each challenge, we discuss what the research tells us about what is already happening as well as potential solutions going forward.


Recent years have seen efforts to expand opportunities for K–12 students to learn computer science (CS). CS proficiency is thought to give students access to CS educational opportunities in college and lucrative career opportunities in sectors important to the economy. CS is also argued to help students understand the technological world around them and to teach students “computational thinking” skills that are useful across domains.)1

These issues are particularly salient in California, where economic needs reflect the state’s status as a leader in CS-related industries. California employs more programmers than any other state, and those jobs represent a much larger share of total jobs than in the country as a whole.2 An adequate supply of workers with the skills to fill CS-related positions is thus especially important in California. Moreover, employers in California’s technology sector have historically employed disproportionately few female, Black, and Hispanic workers, suggesting CS-related economic opportunity is not available to all.3

Policymakers, families, and CS education advocates have increasingly looked to California’s schools to help address these challenges. For instance, since 2018 California has adopted statewide CS content standards and a CS education Strategic Implementation Plan.4 In 2021, the state authorized the Computer Science Supplementary Authorization Grant Program to fund supplementary CS authorizations for already-licensed teachers.5

Measured in terms of CS course availability, these efforts have been very successful. The rapid expansion of high school CS can be seen in Figure 1. The number of CS courses offered in California high schools increased from fewer than 1,000 in the fall of 2010 to more than 5,000 in the fall of 2018. In California, courses can be classified as core academic courses or as part of career technical education (CTE, i.e., vocational) pathways in a variety of professional sectors. Much of the increase in CS courses was driven by courses on CTE pathways in the information and communication technologies sector. However, the number of non-CTE CS courses also increased substantially during this time, including among both Advanced Placement (AP) and non-AP CS courses.

Additionally, many argue that CS should be expanded further, overall and for groups of students who are underserved by existing CS offerings. For instance, girls in California take roughly half as much CS in high school as boys do, and Black and Hispanic students take roughly one third as much CS as Asian American students.6 Thus, whatever opportunities CS education provides, they do not yet appear to be similarly available to all students. These continuing efforts to expand CS education motivate this brief: There are many policy and administrative challenges that will need to be overcome if such expansions are to occur and to have the intended benefits. We focus on four of the most salient challenges and draw on a variety of sources to shed light on how they can be navigated.

Figure 1. Number of Computer Science Courses Offered Each Fall in California High Schools

figure 1

Note. Based on the authors’ analyses of California Department of Education data. For how courses are classified, see Bruno, P., & Lewis, C. M. (2021). Equity in high school computer science: Beyond access. Policy Futures in Education. doi.org/10.1177/ 14782103211063002

Challenges Facing CS Expansion

Challenge 1: Shortages of Qualified CS Teachers, Especially for Marginalized Students

One of the most cited challenges to offering CS in schools is finding teachers who know enough about CS and how to teach it.7 This is not easy because teachers in science, technology, engineering, and math (STEM) fields are often in short supply,8 and individuals with CS knowledge may be especially likely to have alternative job prospects. Encouragingly, as shown in Figure 2, California CS teachers are as educated and well-credentialed as other teachers and have as much overall experience, even as CS course offerings have proliferated.9

However, given that educationally disadvantaged students—such as those from low-income households or marginalized racial groups—tend to have less access to high-quality teachers than their more advantaged peers generally,10 we should not be surprised if such teacher-quality gaps exist in CS specifically. Indeed, Figure 2 shows that among students enrolled in CS, students from historically underrepresented racial groups have CS teachers who are slightly less experienced and less likely to be fully credentialed or to hold a master’s degree than the CS teachers of their White and Asian American peers. There are also large differences between CS students of different races and genders in the probability that they will have a same-race or same-gender CS teacher. This reflects the fact that CS teachers are disproportionately White and male.11 Since this kind of student–teacher demographic match is important,12 these gaps are concerning; they may reduce the effectiveness of CS for students who participate and discourage participation in the first place.

Figure 2. Enrollment-Weighted High School Teacher Characteristics in Fall 2018 in California

Figure 2

The ability to staff CS classrooms with teachers with strong general qualifications may reflect the fact that California has flexible authorization requirements for CS teachers. Obtaining a supplementary authorization to teach CS is not required; rather, teachers can be authorized to teach at least some CS courses if they are authorized to teach math, business, industrial and technology education, or some CTE courses. This means that schools can draw from a wide pool of current teachers. Yet the disadvantage of these flexible authorization requirements is that there is no guarantee that those teaching CS will necessarily know how to teach CS specifically. Teachers with diverse subject-area backgrounds may struggle to teach CS, and teachers new to CS report struggles with both the content and how to teach it.13 It may therefore be useful to couple flexible authorization requirements with rigorous professional development. However, evidence on the effectiveness of CS teacher in-service preparation is often limited.14

Policymakers may prefer to go in the other direction, requiring more stringent pre-service teacher preparation in CS before certifying or hiring CS teachers. This might help to ensure that CS teachers have more CS pedagogical content knowledge but poses its own challenges. For one thing, we also do not know a great deal about effective pre-service preparation for CS teachers, although student-teaching placements in CS classrooms with effective mentor teachers (if they can be found) could be valuable.15 More requirements may also deter potential teachers or provide them with CS skills that give them access to jobs outside of teaching, further limiting the teacher supply. Moreover, the need to diversify the CS teaching force, combined with the limitations of what we know about effective CS teacher preparation, cautions against imposing additional authorization requirements on CS teachers, at least in the short term. Such requirements could pose particularly challenging barriers to entry into teaching for women and candidates of color, who are less likely to have taken CS courses in college or otherwise have formal CS preparation.16 California’s current approach of flexible authorization requirements for CS teachers and optional supplementary authorizations for CS specifically may thus be wise.

At a minimum, more stringent requirements for CS teachers should be justified in terms of improving teachers’ CS teaching skills. And more demanding requirements for CS teachers may be advisable only if accompanied by supports to help candidates—especially women and candidates of color—meet them, such as loan forgiveness or scholarships.17 Additionally, higher—and differentiated—compensation may be especially important for the CS teacher supply. To the extent that compensation plays a role in the ability of disadvantaged schools to recruit and retain teachers generally and CS teachers specifically, there is a role for progressive school funding

in making this possible. California has made progress on the progressivity of its school funding in recent years,18 but additional progress is possible,19 and districts with disadvantaged students often remain disproportionately the most financially burdened districts.20 In the long term, research defining, measuring, and explaining CS teacher quality—and how it is affected by pre-service and in-service training—would help inform these decisions.

There also are at least two ways that schools and districts may be able to do more to offer CS with their existing teacher workforces. First, schools can think strategically about which CS courses are most suitable as a starting point for their existing teachers. For example, compared to the AP course known as “Computer Science A,” which focuses on programming skills, more conceptual CS courses like Exploring Computer Science or AP CS Principles may be more feasible for some teachers to teach. Similarly, if CS courses are classified as CTE (rather than as core academic subject courses), they can be taught by teachers with different authorizations and supported by CTE-specific funding sources.21

Second, rather than relying on their existing teaching staff, districts may want to take advantage of “dual enrollment” programs that allow students to take college courses while still enrolled in high school. There is evidence that dual enrollment programs benefit students who participate in them,22 and California has already had success in expanding dual enrollment participation to levels at or above the national average.23 Participation in dual enrollment has often been inequitable (e.g., along racial lines), and instructor shortages can sometimes be a challenge among participating colleges.24 Still, skilled CS teachers may be available at the college level even when qualified K–12 teachers are not available locally.

Challenge 2: Lack of Space for CS in the Curriculum

If a student enrolls in CS, this will typically prevent them from taking some other course. That trade-off may be worthwhile, especially now that some CS courses count as a third year of laboratory science under the University of California’s A–G requirements. However, as teachers and administrators point out, the opportunity costs of additional CS participation may be high because non-CS courses, such as in math or a foreign language, may also provide significant learning opportunities or be important graduation or college-admission requirements.25 In a recent study, we examined how California high schools have navigated these trade-offs. Our results are summarized in Figure 3, which shows how course enrollments in other subject areas decline when students take more CS.

Figure 3. Percentage Point Changes in High School Course Enrollments When Computer Science Enrollments Increase by One Percentage Point

Figure 3

Note. From analyses by the authors in Bruno, P., & Lewis, C. M. (2021). Computer science trends and trade-offs in California high schools. Educational Administration Quarterly. doi.org/10.1177/0013161X211054801. CS = computer science; ELA = English language arts; CTE = career technical education; PE = physical education.

As shown in Figure 3, when CS course enrollments expand, they appear to come primarily at the expense of courses in English language arts (ELA), social science, art, and miscellaneous non-CTE electives. For example, when CS accounts for an additional one percentage point of all course enrollments—roughly the statewide average—enrollment in ELA and social science courses in the same school are each about 0.2 percentage points lower. We expected that CS would mostly take the place of courses similar to CS, such as other STEM and CTE courses.

Yet those courses see smaller—or no—declines when CS becomes more of the curriculum. This suggests that CS is narrowing the curriculum towards STEM.

We cannot explain why these trade-offs take place. Moreover, different communities may have different needs or values that should inform their decisions about which other courses, if any, to replace with CS. For instance, some schools may be located in areas with growing employment in nontech jobs, that already have high CS participation rates among students, or that serve families who highly value the arts. In such cases, the value of expanding CS enrollments further may not justify reduced course taking in other subjects. However, we want to emphasize that curricular trade-offs are real because schools have limited time and capacity. There may be ways to minimize these trade-offs by integrating CS with other subject areas.26 However, this is unlikely to eliminate all trade-offs, which need to be weighed explicitly by policymakers, school leaders, and local communities.

Challenge 3: Accountability for Test Scores

Related to curricular capacity concerns is another concern commonly cited by both teachers and administrators: Spending additional time on CS will hurt students’ performance on the standardized math and ELA tests for which school staff often feel accountable.27 Advocates of CS education sometimes argue that there should be no concern here because, as previously noted, CS education is thought to develop skills that are useful across domains. However, the evidence on whether learning CS improves student achievement in other subject areas is limited, particularly at the secondary level.28

in one of our recent studies of California high schools, we found no evidence that additional CS course taking affects a school’s average student performance on the state’s standardized Tests either positively or negatively. It is not just that our estimated effects are mostly statistically insignificant; in none of our models do we find that increasing the CS share of course enrollments by one percentage point would be expected to change a school’s proficiency rate on state tests in math or ELA by even half a percentage point.29 We can’t rule out the possibility that CS courses have impacts on test scores, particularly for individual students. Yet we find no evidence that CS courses are meaningfully affecting average test scores in high schools or that additional CS participation would do so.

The impacts of CS on high school accountability in California are difficult to predict. Even if CS courses negatively affect test scores, they may help schools achieve other college and career readiness indicators for which they are also accountable, such as the passage of AP exams. We recommend not being overly concerned with the impacts of CS on test scores because those impacts are likely small. Rather, decisions about expanding CS should focus on the importance to students and communities of promoting CS knowledge and skills and preparing students for success in college and their careers.

Challenge 4: Inequitable Access to CS Classes

CS course expansions in California schools have not been equitable. CS courses are more common in higher income and urban schools.30 Using the same data as in Figure 1, we find that the probability that a high school student attends a school offering CS varies considerably across California’s counties. As shown in Figure 4, those differences are often related to differences in average school size; smaller schools may lack the capacity to offer CS.

Figure 4. High School Computer Science (CS) Access in California by County


Note. Data were not available or not applicable for counties in gray. Markers in scatterplot are proportional in size to total student enrollment in the county.

Similarly, Black, Hispanic, and Native American students are less likely to be enrolled in a CS course than students of other races, at least in part because they are less likely to attend schools offering CS in the first place. As shown in Figure 5, this again may be related to the fact that students from racial groups historically underrepresented in CS attend smaller schools, which may struggle to offer CS. Among Asian American high school students in California, 91 percent attend a school offering CS, and they attend schools enrolling more than 2,100 students on average. By comparison, Black, Hispanic, and Native American students attend schools that are smaller by hundreds of students on average. This may help to explain why only 67–77 percent of them attend schools offering CS. And, as we show in other work, availability of CS courses does not guarantee participation: Girls are much less likely to take CS courses than boys, despite being similarly likely to attend a high school where CS is offered.31 Even in computing-related courses, disadvantaged students are often offered curricula that emphasize computer literacy (e.g., keyboarding) rather than CS content.32

Figure 5. High School Computer Science (CS) Access and School Size by Student Race

Figure 5

There are several possible ways to incentivize or support schools to offer CS and students to take it. Some of these things can be done by individual teachers or administrators, such as intentional student recruiting or making courses more culturally relevant to a broader range of students.33 At the district level, as noted previously, it may be helpful to supplement high school capacity with dual enrollment programs. Districts may also want to allow CS to meet math or science graduation requirements34 or require CS explicitly.35 Once schools are offering CS courses, California’s new CS content standards, while optional, may also be useful for districts when auditing course content to ensure that it includes genuine, rigorous, and meaningful CS.

Still other options may be beyond the capacity of individual school districts and require more state-level support. For instance, CS courses vary in which—if any—admission requirements they meet for California’s university systems, so counting more courses may further incentivize CS offerings and participation.36 Additionally, statewide efforts to create or promote accessible curricula and professional development may aid schools with offering more rigorous courses.37 We caution, however, that the research base is far from definitive on how best to expand CS education effectively, efficiently, and equitably.


California, like many states, has expanded CS educational opportunities substantially and intends to expand them further. But those expansions face—and may already be creating—a variety of policy and administrative challenges, especially related to staffing, curriculum, and equity. We believe these challenges are manageable, at least in principle. Nevertheless, the challenges are real, and CS education is sufficiently new that it is important to be humble about the best ways to solve them. This is an area where research is moving rapidly but likely not as rapidly as schools. That being the case, we hope this brief provides a general overview of some of the major issues administrators and policymakers should think about as they expand CS education as well as some guideposts for moving forward.

Suggested citationBruno, P., Saffar Pérez, M., & Lewis, C. M. (2022, July). Four practical challenges for high school computer science [Policy brief]. Policy Analysis for California Education. https://edpolicyinca.org/publications/4-practical-challenges-high-school-computer-science