About Computer Science in San Francisco's Public Schools

Teacher and students at a computer

"We will be the first large, urban school district that will have a pre-K to 12 computer science program. While most of the country is talking about an hour or two of coding here and there, what we’re talking about is a fundamental shift: to make computer science an essential part of the curriculum."


The San Francisco Unified School District (SFUSD) has made a bold commitment, to:

Expand computer science education to all students at all schools, beginning in pre-kindergarten and extending through 12th grade.

Two students at a computer

We aim to accomplish this by incorporating CS into the core curriculum for all students in the lower grades (Pre-K to 8). By beginning in the earliest grades and with all children, we will normalize a discipline that has been long dominated by a selective group of the population. In high school, all students will have expanded opportunities to select among a variety of CS courses that continue to build upon this foundation. We expect that--as we expose all students to engaging, culturally relevant, and high-quality CS instruction in the lower grades--more will choose to pursue additional CS coursework in high school, and these students will begin to represent our diverse student population.

More precisely, we seek to achieve the following goals:

Elementary (Grades PK-5) Middle (Grades 6-8) High (Grades 9-12)

Provide instruction to all students.

Generate excitement about computing.

Develop problem solving and critical thinking skills.

Foster creativity and collaboration.

Provide instruction to all students.

Make instruction engaging, relevant, creative, and collaborative.

Develop strong foundational knowledge and skills.

Explore issues raised by societal impacts of computing.

Offer introductory and AP courses at all schools.

Broaden participation, to represent student population as a whole.

Strengthen and apply knowledge and skills, in order to engineer solutions to real-world problems.


Our goals are based on the goals that the Association for Computing Machinery (ACM) and Computer Science Teachers Association (CSTA) articulated in their model curriculum for K-12 CS education (Tucker et al., 2003):
  1. introduce the fundamental concepts of CS to all students, beginning in elementary school
  2. offer additional secondary-level CS courses that will allow interested students to study it in depth and prepare them for entry into the workforce or college; and
  3. increase the knowledge of CS for all students, especially those who are members of underrepresented groups.
View a summary of our initiative in a slide deck or one-pager.

SFUSD Board of Education Resolution 155-26A2:
In Support of Expanding Computer Science and Digital Learning to All Students at All Schools from Pre-K to 12th Grade co-authored by all commissioners: Matt Haney, Hydra Mendoza-McDonnell, Emily M. Murase, Ph.D, Sandra Lee Fewer, Rachel Norton, Shamann Walton, and Jill Wynns


We articulated the need for computer science education for all students in SFUSD in this position paper:

This page was last updated on November 2, 2022