Instructional Technology Initiative
ISTE Standards Banner
  • High School Courses

  • Why offer Computer Science Electives?

    There are several reasons to offer computer science courses in high school:

    • Meets A-G requirements.
    • Career preparation: Computer science is a growing field with many job opportunities, and providing students with a foundation in programming and other related topics can prepare them for future careers.
    • Computational thinking: Studying computer science helps students develop computational thinking skills, which involve breaking down complex problems into smaller, more manageable parts and creating algorithms to solve them.
    • Digital literacy: In today's digital age, it's important for students to have a basic understanding of how computers and other digital devices work. Offering computer science courses in secondary school can help students become more digitally literate.
    • Innovation: Computer science is a field that is constantly evolving, and exposing students to the latest technologies and trends can inspire innovation and creativity.
    • Problem-solving: Computer science involves a lot of problem-solving, which can help students build critical thinking skills and develop resilience in the face of challenging tasks.

    Interested in teaching AP CS in the future?

    CS Discoveries Find out more about the program, commitments, and expectations at

    The secondary computer science cohort experience is a no-cost, 5-day summer workshop with four quarterly follow-up sessions throughout the year. The goal of these cohorts is to promote learner agency and challenge teachers to continuously learn and reflect upon their instructional practice while learning a new curriculum. For more information, CS Courses Page.

    Advanced Placement Computer Science Principles (APCSP) (D)
    Computer Science Principles (APCS 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.


    Advanced Placement Computer Science A (APCSA) (C)
    In Computer Science A (APCSA), students learn object-oriented programming using Java. Students take on the role of software engineers, and practice skills that are used in the field. The curriculum for CSA is designed for any high school student who wishes to continue their computer science education after completing an introductory course such as Computer Science Principles (CSP) or Computer Science Discoveries (CSD).


    Exploring Computer Science (Grades 9 - 12) (D)
    Exploring Computer Science (ECS) is an introductory high school course designed to engage students in computational thinking and practice.