Please enable JavaScript to use CodeHS

Colorado 9-12 Standards Mapping


Foundations of Computer Science

83 Standards in this Framework 44 Standards Mapped 53% Mapped to Course

Standard Lessons
CS.HS.1.1a Identify and create different types of algorithms (sort, search, etc.).
  1. 9.1 Functions and Parameters 1
  2. 9.2 Functions and Parameters 2
  3. 9.3 Functions and Parameters 3
CS.HS.1.1b Predict the outcome of different types of algorithms.
CS.HS.1.1c Create or adapt algorithms to solve problems for multiple purposes (e.g., personal interests, client needs).
CS.HS.1.1d Use an algorithm that involves mathematical operations and functions to solve problems.
  1. 5.4 Basic Math in JavaScript
CS.HS.1.1e Use an iterative approach to utilizing and/or developing an algorithm.
  1. 7.5 For Loops in JavaScript
  2. 7.6 General For Loops
  3. 7.7 For Loop Practice
  4. 7.9 While Loops
  5. 7.10 Loop and a Half
CS.HS.1.1f Recognize problems that cannot be solved computationally.
CS.HS.1.1g Identify and describe algorithms that exist within their personal lives.
  1. 2.4 Functions in Karel
CS.HS.1.2a Identify and compare different algorithms that can be used to solve the same problem.
  1. 7.10 Loop and a Half
CS.HS.1.2b Illustrate the flow of execution of an iterative algorithm (e.g., recursion).
CS.HS.1.2c Explain the value of heuristic algorithms to model ways to solve problems.
CS.HS.1.2d Adapt algorithms used in one problem to solve a related or different problem.
  1. 9.4 Functions and Return Values 1
  2. 9.5 Functions and Return Values 2
CS.HS.1.2e Use multiple methods to represent an algorithm (e.g., diagram, programming language, unplugged).
  1. 2.6 Top Down Design and Decomposition in Karel
  2. 2.15 More Karel Examples and Testing
CS.HS.1.3a Describe pros and cons of the performance of algorithms for the same task.
CS.HS.1.3b Use an iterative approach to developing an algorithm.
  1. 2.6 Top Down Design and Decomposition in Karel
CS.HS.1.3c Test and troubleshoot so that algorithms produce reasonable results.
  1. 2.6 Top Down Design and Decomposition in Karel
  2. 2.8 Abstraction
  3. 2.15 More Karel Examples and Testing
  4. 2.17 Debugging Strategies
CS.HS.1.4a Demonstrate how the process of decomposition is iterative and used to solve problems.
  1. 2.6 Top Down Design and Decomposition in Karel
  2. 2.8 Abstraction
CS.HS.1.4b Formulate possible solutions based on the decomposition of a problem.
  1. 2.6 Top Down Design and Decomposition in Karel
CS.HS.1.5a Describe how abstraction is central to computational thinking.
  1. 2.8 Abstraction
CS.HS.1.5b Identify and prioritize the most relevant parts of a problem while filtering out extraneous details.
  1. 2.6 Top Down Design and Decomposition in Karel
  2. 2.8 Abstraction
CS.HS.1.5c Demonstrate different ways to represent key problem components.
CS.HS.1.6a Identify different types of data that are exchanged and produced by computers (e.g., protocols).
  1. 4.6 Packets and Protocols
CS.HS.1.6b Represent data using multiple encoding schemes (e.g., RGB, Hex, HSB, ASCII, Unicode).
CS.HS.1.6c Evaluate the trade-offs for how data elements are organized and where data are stored (e.g., PNG/GIF, structured/unstructured).
CS.HS.1.6d Compare and contrast various data structures/techniques for storing and processing data (e.g., arrays, lists, tables).
  1. 9.11 Intro to Lists/Arrays
  2. 17.1 Intro to Objects/Maps
  3. 17.5 Intro to Sets
  4. 17.6 Intro to Grids
CS.HS.1.7a Analyze computer programs to identify patterns within the program.
CS.HS.1.7b Provide multiple versions of data visualization in order to deepen problem analysis.
  1. 1.8 Visualizing and Interpreting Data
CS.HS.1.7c Interpret and analyze data to make informed decisions.
  1. 1.8 Visualizing and Interpreting Data
  2. 1.9 Data Collection & Limitations
CS.HS.1.8a Analyze computer output in different forms (e.g., plain text, CSV, graphs, images).
  1. 1.8 Visualizing and Interpreting Data
CS.HS.1.8b Design visualizations using the appropriate tool(s) with the end user in mind.
  1. 5.5 Using Graphics in JavaScript
  2. 6.1 Graphics Challenges
CS.HS.1.8c Provide multiple versions of data visualization in order to deepen problem analysis.
  1. 1.8 Visualizing and Interpreting Data
CS.HS.2.1a Describe key protocols and underlying processes of internet-based services, (e.g., https) and discuss impact of technology change on communication protocols.
  1. 4.3 Internet Addresses
  2. 4.4 DNS
  3. 4.5 Routing
  4. 4.6 Packets and Protocols
  5. 4.7 The Impact of the Internet
CS.HS.2.1b Illustrate and describe the basic components and various network types and topologies (e.g., personal, local, metropolitan, and wide).
  1. 4.2 Internet Hardware
CS.HS.2.1c Explain the difference between decimal, hexadecimal, octal and binary number formats and how they are used in computing environments.
CS.HS.2.2a Explain the difference between memory and disk storage, internal and external storage, Random Access Memory (RAM), flash, cloud.
  1. 4.2 Internet Hardware
CS.HS.2.2b List and explain the common working parts of a computing device.
CS.HS.2.2c Explain how to maintain safety when working on PCs, e.g., electromagnetic precautions.
CS.HS.2.2d Describe how computing devices are engineered for fault tolerance and reliability, and identify potential sources of weakness (e.g., redundant power supplies, RAID, SAN/NAS connections).
  1. 4.5 Routing
CS.HS.2.3a Identify and differentiate between different kinds of software (e.g., operating systems vs. applications) and their purposes.
CS.HS.2.3b Explain what an operating system is, and why it is important for a computer or computing device (e.g., Linux, Windows, iOS).
CS.HS.2.3c Describe how software interacts with hardware to complete tasks.
CS.HS.2.4a Explain the integration of hardware, software and network communications components to create a networked system.
  1. 4.2 Internet Hardware
CS.HS.2.4b Summarize security approaches using a systems approach perspective
CS.HS.2.5a Identify client’s problems/needs.
CS.HS.2.5b Articulate design requirements back to client.
CS.HS.2.5c Illustrate options for considerations and develop conceptual model.
CS.HS.2.5d Perform system analysis based on client considerations.
CS.HS.2.6a Identify different ways that systems might lose data or functionality.
CS.HS.2.6b Describe elements of an effective backup system.
CS.HS.2.6c Compare backup systems for computer users, or a network.
  1. 4.5 Routing
CS.HS.2.6d List the various backup methodologies (e.g., full, differential), and why one would pick one over the other, or use all.
CS.HS.2.6e Explain the ways an organization would continue to operate in light of a systems failure.
CS.HS.2.7a Identify examples of threats to systems and data.
  1. 1.6 Privacy & Security
CS.HS.2.7b Describe the process by which intruders gain entry into a production system (e.g., reconnaissance).
CS.HS.2.7c Describe and compare methods to test/validate how well systems and data are protected.
  1. 1.6 Privacy & Security
CS.HS.2.7d Investigate different career pathways relating to systems security.
  1. 1.11 Hacking Ethics
CS.HS.3.1a Analyze and apply a design methodology to identify constraints and requirements of an identified problem.
CS.HS.3.1b Utilize tools and resources such as pseudocode, flowcharts, wireframes, etc., as part of the design process.
  1. 2.6 Top Down Design and Decomposition in Karel
CS.HS.3.1c Determine and use graphical or text-based languages.
  1. 2.1 Introduction to Programming With Karel
  2. 5.3 User Input
  3. 5.5 Using Graphics in JavaScript
  4. 6.1 Graphics Challenges
CS.HS.3.1d Understand and apply core programming concepts.
  1. 5.2 Variables
  2. 7.1 Booleans
  3. 7.2 Logical Operators
  4. 7.5 For Loops in JavaScript
  5. 7.9 While Loops
CS.HS.3.2a Write code per selected design.
  1. 6.1 Graphics Challenges
CS.HS.3.2b Create code comments to communicate to other developers and ensure documentation of code.
  1. 2.7 Commenting Your Code
CS.HS.3.2c Use various troubleshooting and debugging techniques to improve code.
  1. 2.6 Top Down Design and Decomposition in Karel
  2. 2.7 Commenting Your Code
  3. 2.15 More Karel Examples and Testing
  4. 2.17 Debugging Strategies
CS.HS.3.2d Create appropriate variables to store and retrieve data.
  1. 5.2 Variables
CS.HS.3.3a Integrate collaborative strategies to improve programming outputs.
  1. 3.1 Collaborative Programming
CS.HS.3.3b Identify and analyze a variety of collaborative tools (e.g., commenting, development repositories) in order to determine the appropriateness for intended use.
  1. 3.1 Collaborative Programming
CS.HS.3.3c Identify strategies such as peer reviews to test and refine artifacts in development.
  1. 3.1 Collaborative Programming
CS.HS.3.3d Determine when to use standard software tools like APIs, libraries, version control repositories, etc.
  1. 2.9 Super Karel
CS.HS.3.4a Understand and apply principles of client-based design.
CS.HS.3.4b Guide/advise clients on strategies and solutions best suited for their problem (i.e., type of platform).
CS.HS.3.4c Construct effective methods for gathering feedback from client.
CS.HS.3.4d Respond to feedback from clients to improve computing solutions.
CS.HS.3.4e Create and share product support documentation for potential users.
CS.HS.3.4f Articulate lessons learned as a result of the design and creation process.
CS.HS.3.5a Investigate and understand privacy, security and protection laws.
  1. 1.6 Privacy & Security
CS.HS.3.5b Articulate the importance of securing personal data information on encrypted storage systems.
  1. 1.6 Privacy & Security
CS.HS.3.5c Identify and analyze current events to ensure the safety, security and wellbeing of all potential clients and end users.
CS.HS.3.5d Identify influential computing innovations, and identify the beneficial and harmful effects they have had, or could have, on society, economy and culture.
  1. 4.7 The Impact of the Internet
CS.HS.3.5e Discuss and explain how diversity of design and issues of accessibility impact a wide-range of users.
CS.HS.3.5f Demonstrate ways to improve the accessibility of computational technologies and artifacts.
CS.HS.3.6a Describe how software licensing influences program development.
CS.HS.3.6b Investigate and develop solutions that discourage online software piracy.
CS.HS.3.6c Explore and integrate security measures such as encryption, authentication and verification strategies to secure developed computer programs.
CS.HS.3.6d Research and abide by intellectual property laws and patents.
  1. 1.10 Creative Credit & Copyright
  2. 4.7 The Impact of the Internet