Specialty Area

Programming

Example Course Pathway

In this section, we present examples of how to package this content into meaningful course sequences across particular specialty areas. The boxes in each diagram represent discrete courses.

Course Definitions

This section contains example courses and descriptions, with the assumption that individual schools and districts may modify the offerings to meet local contexts and needs.

Content Progression

The model content progression developed for students who are interested in continuing to learn CS broadly, such as those intending to major in CS and potentially become a computer scientist or software engineer.

Foundational CS Content

  • Programming skills
  • Inclusive collaboration while programming
  • Ethics and social impact
  • Testing and debugging
  • Designing, composing, and interpreting algorithms
  • Preparation and use of data in programming
  • Cybersecurity basics
  • Hardware and devices

Fundamentals

  • Decomposition
  • Problem solving
  • Conditions, iterations, selection, functions 
  • Abstractions and models representing a system
  • Arrays and data structures
  • Unit testing
  • Debugging
  • Usage of IDEs
  • Algorithm optimization

Specialty

  • Programming skill development 
  • Software development processes (e.g., Agile/Scrum)
  • Application development (e.g., mobile apps, virtual reality apps)
  • Team project skills
  • Collaborative source control
  • Correctness and provability of algorithms

Possible Careers:

Computer Scientist, Software Engineer, Data Scientist, Artificial Intelligence Specialist, Cybersecurity Specialist, Network Specialist, Roboticist, CS Teacher/Instructor/Professor, CS Education Researcher
Reimagining CS Pathways: High School and Beyond