Computer Science Courses
Computer Science Courses
Thinking about offering or teaching a Computer Science Course?
Fill out this interest form to receive more information.
AP Computer Science A (APCSA: 180227-180228)
Computer Science A (CSA) introduces students to software engineering and object-oriented programming and design using the Java programming language. This curriculum covers a broad range of topics, including the design of solutions to problems, the use of data structures to organize large sets of data, the development and implementation of algorithms to process data and discover new information, the analysis of potential solutions, and the ethical and social implications of computing systems
Curricula at a Glance
Credential Information
In California, teachers are authorized to teach computer science with any one of the following:
- Single-Subject Credential in Mathematics (or in Foundational Mathematics for grades K-9)
- Single-subject credential in Business
- Single-subject credential in Industrial and Technology Education (ITE)
- Career Technical Education (CTE) credential in information technology (IT)
- Any single-subject or multiple-subjects credential and
- Supplemental Authorization in Computer Concepts and Applications (CCA)
- Supplemental Authorization in Computer Science
- Supplemental Authorization in Mathematics (or in Foundational Mathematics for grades K-9)
Professional Learning
Teachers Implementing APCSA as a semester or full-year course can apply to participate in a one-year professional learning program. The program involves:
Summer: Teachers attend a 5-day in-person or virtual, conference style workshop designed to Introduce CS concepts from the curriculum and core teaching practices.
School Year: Teachers continue with job-embedded workshops and online modules focused on supporting their first year of implementation.
Curriculum: Code.org
AP Computer Science Principles (APCSP: 180229-180230)
Computer Science Principles introduces students to the foundational concepts of computer science and challenges them to explore how computing and technology can impact the world. The AP Program designed AP Computer Science Principles with the goal of creating leaders in computer science fields and attracting and engaging those who are traditionally underrepresented with essential computing tools and multidisciplinary opportunities.
Computer Science Principles is a course designed to prepare students (and teachers) who are new to computer science for the AP CS Principles exam. The course covers many topics including the Internet, Big Data and Privacy, and Programming and Algorithms.
It is recommended that CS Principles be taught as a full year course, assuming that you meet with students daily or nearly daily for 45 or more minutes. Full-year schedules where students are in class for a similar amount of time per week will also work.
It is possible to teach the course on a semester block schedule, though it is highly recommend this implementation only be used in the fall semester. Since the AP Performance Tasks are due in late April and require 20 dedicated hours of class time to complete, most schools find there is not enough time to complete the course on a block schedule in the spring.
Curricula at a Glance
Credential Information
In California, teachers are authorized to teach computer science with any one of the following:
- Single-Subject Credential in Mathematics (or in Foundational Mathematics for grades K-9)
- Single-subject credential in Business
- Single-subject credential in Industrial and Technology Education (ITE)
- Career Technical Education (CTE) credential in information technology (IT)
- Any single-subject or multiple-subjects credential and
- Supplemental Authorization in Computer Concepts and Applications (CCA)
- Supplemental Authorization in Computer Science
- Supplemental Authorization in Mathematics (or in Foundational Mathematics for grades K-9)
Teachers with other credentials may be eligible to teach CS with a temporary waiver or emergency permit.
Professional Learning
Teachers Implementing APCSP as a semester or full-year course can apply to participate in a one-year professional learning program. The program involves:
Summer: Teachers attend a 5-day in-person or virtual, conference style workshop designed to Introduce CS concepts from the curriculum and core teaching practices.
School Year: Teachers continue with job-embedded workshops and online modules focused on supporting their first year of implementation.
Curriculum: Code.org
Computer Science Discoveries (CS Discoveries) (180115-180116)
This course empowers students to create authentic artifacts (like Web pages and interactive games) and engage with CS as a medium for creativity, communication, problem solving, and fun. CS Discoveries is designed from the ground up to be an accessible and engaging course for all students, regardless of background or prior experience. By providing students opportunities to engage with culturally and personally relevant topics in a wide variety of CS related fields we hope to show all students that CS can be for them. The curriculum has flexible implementations that allow this course to be focused on creativity, hardware, data, design, coding, or the impact in society.
Computer Science Discoveries (CS Discoveries) is an introductory computer science course that empowers students to create authentic artifacts and engage with computer science as a medium for creativity, communication, problem solving, and fun.
The Code.org Professional Learning Program is open to educators who are interested in teaching Code.org courses - no prior computer science experience required!
Curricula at a Glance
Credential Information
In California, teachers are authorized to teach computer science with any one of the following:
- Single-Subject Credential in Mathematics (or in Foundational Mathematics for grades K-9)
- Single-subject credential in Business
- Single-subject credential in Industrial and Technology Education (ITE)
- Career Technical Education (CTE) credential in information technology (IT)
- Any single-subject or multiple-subjects credential and
- Supplemental Authorization in Computer Concepts and Applications (CCA)
- Supplemental Authorization in Computer Science
- Supplemental Authorization in Mathematics (or in Foundational Mathematics for grades K-9)
Teachers with other credentials may be eligible to teach CS with a temporary waiver or emergency permit.
Professional Learning
Teachers Implementing Computer Science Discoveries as a semester or full-year course can apply to participate in a one-year professional learning program. The program involves:
Summer: Teachers attend a 5-day in-person or virtual, conference style workshop designed to Introduce CS concepts from the curriculum and core teaching practices.
School Year: Teachers continue with job-embedded workshops and online modules focused on supporting their first year of implementation.
Curriculum
Code.org
Exploring Computer Science (180113-180114)
Exploring Computer Science introduces students to the breadth of the field of computer science through an exploration of engaging and accessible topics. The goal of Exploring Computer Science is to develop in students the computational thinking practices of abstraction, algorithm development, creating artifacts, communicating and collaboration while building skills in specific programming languages and design environments. The course presents computing problems in real-world scenarios, allowing students to deepen their understanding of theoretical concepts while bringing computer science alive through real applications and connections.
Rather than focusing the entire course on learning particular software tools or programming languages, the course is designed to focus the conceptual ideas of computing and help students understand why certain tools or languages might be utilized to solve particular problems. The goal of Exploring Computer Science is to develop in students the computational thinking practices of algorithm development, problem solving and programming within the context of problems that are relevant to the lives of today's students. Students will also be introduced to topics such as interface design, limits of computers and societal and ethical issues.
Curricula at a Glance
Exploring Computer Science is a year-long, research-based, high school intro-level computer science curriculum and teacher professional development program that focuses on broadening participation in computing. We support teachers and districts through implementation of the course regardless of school resources.
ECS focuses on the following three strands:
CS Concepts
We seek to develop teachers’ confidence in course content, which includes in-depth yet accessible computing concepts.
Inquiry
Our curricula involve many opportunities for collaboration, problem-solving, pattern-finding, and abstract thinking.
Inquiry
We seek to provide meaningful educational opportunities to teachers and students who typically encounter barriers to access.
Curriculum: https://www.exploringcs.org/
Professional Learning
Teachers Implementing Exploring CS as a semester or full-year course can apply to participate in a one-year professional learning program. The program involves:
Summer: Teachers attend a 5-day in-person, conference style workshop designed to Introduce CS concepts from the curriculum and core teaching practices.
School Year: Teachers continue with job-embedded workshops and online modules focused on supporting their first year of implementation.
Computer Science Explorations (180133-180134)
Exploring Computer Science is a year-long, research-based, high school intro-level computer science curriculum and teacher professional development program that focuses on broadening participation in computing. We support teachers and districts through implementation of the course regardless of school resources.
Computer Science Explorations course leverages the Computer Science Discoveries curriculum introducing students to tools and programming languages that are accessible for beginners while offering more advanced students opportunities to create sophisticated projects. The course takes a wide lens on computer science by covering topics such as programming, physical computing, HTML/CSS, and data. Using Code.org's existing App Lab and Game Lab programming environments, students will be able to transition from blocks to typed code at their own pace while learning JavaScript. Students will also develop maker skills through the study of physical computing via Adafruit's Circuit Playground. (This course should is available for those student not have taken CS Discoveries in Middle School)
Curricula at a Glance
Introduction to Computers Course 180101 and 180103

The College Board Update
