You are here

2020 CAS - Family and Community Guide for High School Computer Science

2020 standards family and community guides banner

Working Together: To support families, communities, and teachers in realizing the goals of the Colorado Academic Standards (CAS), this guide provides an overview of the learning expectations for students studying computer science. This guide offers some learning experiences students may engage in at school that may also be supported at home.

Why Standards? Created by Coloradans for Colorado students, the Colorado Academic Standards provide a grade-by-grade road map to help ensure students are successful in college, careers, and life. The standards aim to improve what students learn and how they learn in 12 content areas while emphasizing critical thinking, creativity, problem solving, collaboration, and communication as essential skills for life in the 21st century.

See all the Family and Community Guides here.

Where can I learn more?


content area icon for computer science

Computer Science

The computer science standards at the high school grades build upon the foundation for students to work as in many fields by asking testable questions, collecting and analyzing different types of evidence, and by providing rationale for their interpretations through reasoning and/or argumentation. Mastery of these standards will result in students deepening their understanding of computer science through an application and development of scientific knowledge to the solution of practical problems. Students will experience all three “strands” of the computer science standards during their secondary years: computational thinking, computing systems and networks, and computer programming.

Computer Science Learning Expectations for High School Computer Programming:

  • The creation of a computer program requires a design process.
  • The process of programming involves solving computational problems (i.e. how to organize and sort through data).
  • Collaborative tools, methods, and strategies can be used to design, develop, and update computational artifacts (i.e. software, website, animations).
  • Client-based design requirements and feedback are essential to a quality computational product or service.
  • Computing solutions can have impacts (personal, ethical, social, economic, and cultural) based on their use.
  • Security and software licensing can present constraints and restrictions in computational design and development (i.e. copyright laws, intellectual property)

Throughout High School You May Find Students:

  • Applying the design process needed to change a computational artifact over several versions.
  • Using pseudo code and flowcharts to communicate with a client design options (i.e. everyday language).
  • Creating original code that meets specified design requirements.
  • Fixing code that is not operational.
  • Using positive constructive feedback to help improve a peer's program.
  • Pursuing learning opportunities similar in nature to experiences they will have in a future computer science professions. It is important that students follow protocols and frameworks that they would see in the modern workplace to identify problems, develop a programming solution, and bring their artifact to life for review by outside clients. Using industry-standard practices for working with clients.
  • Considering how personal data is vulnerable in both storage and transmission.
  • Learning about the steps required for protecting intellectual rights of your computational artifact.
  • Evaluating the benefits to the developers of open source (Android) and proprietary (i.e. Microsoft) software.


Computer Science Learning Expectations for High School Computing Systems and Networks:

  • Communication between computers (and over the Internet) can be configured in many different ways and consist of several hardware and software components.
  • Computer hardware, the lowest level of a computer system, consists of many different parts, each providing a specialized function.
  • Systems thinking is a way of examining the various components and use cases that go into a given design.
  • Client considerations drive system design.
  • Robust computing systems require data protection and multiple methods of recovery.

Throughout High School You May Find Students:

  • Using online network simulators to experiment with routers and switches.
  • Brainstorming ways to improve the performance of an older computer using hardware upgrades.
  • Comparing and contrasting operating systems for processing, to determine the suitability of applications to be installed on the computer.
  • Writing a technical plan for promoting open source or commercial software.
  • Using Raspberry Pis and Arduinos, create a network system that will display a software, hardware, and network integrated system.
  • Creating a website that teaches other students how to practice helpful security habits for a computer system when using the Internet.
  • Creating a project schedule for computing project completion.
  • Interviewing prospective clients utilizing student in class individually and as a team.


Computer Science Learning Expectations for High School Computational Thinking:

  • Computational thinking is used to create algorithmic solutions to real world problems. 
  • Algorithms can be represented and used in different ways (e.g., languages, diagrams, pseudo code).
  • Algorithm development and use is an ongoing process that involves adapting, critiquing, and troubleshooting programs and/or processes.
  • Large, complex problems can be broken down into smaller, more manageable components.
  • Abstraction is used to reduce complexity of larger problems by focusing on main ideas.
  • Data can be represented in different ways for storage and exchange.Many problems appropriate for solving with a computer are organized around patterns. 
  • Data from a computer program can be visually presented to better understand and articulate solutions to a problem

Throughout High School You May Find Students:

  • Producing a progress report detailing the development of an algorithm.
  • Demonstrating debugging an algorithm.
  • Breaking down problems into smaller problems identifying patterns in each level.
  • Proposing a logical sequence to fix the problem.•Sorting data using keywords and look for patterns to represent the essential nature of the data.
  • Proposing an app that utilizes a database.
  • Analyzing data about the effect of resource consumption and development to draw conclusions about sustainable use.
  • Analyzing Snapchat and Instagram for popular program patterns.
  • Designing a game that demonstrates efficient use of code.
  • Contributing to a group outcome regarding data storage for a project.

Return to top