Please enable JavaScript to use CodeHS

Standards Mapping

for Natrona CS Principles

41

Standards in this Framework

31

Standards Mapped

75%

Mapped to Course

Standard Lessons
L1.CS.D.01
Explain how abstractions hide the underlying implementation details of computing systems embedded in everyday objects.
  1. 1.9 Abstraction
L1.AP.PD.05
Document design decisions using text, graphics, presentations, and/or demonstrations in the development of complex programs.
  1. 2.1 Practice PT: Pair-Programming Paint!
  2. 6.1 Project: Tell a Story
  3. 11.1 Practice PT: Create an Image Filter!
  4. 17.1 The Impacts of Computing
  5. 31.1 Practice PT: Steganography
  6. 32.1 The Effects of the Internet
  7. 42.1 Practice PT: The Shopping List
  8. 43.1 Practice PT: Testing 1, 2, 3 ...
L1.IC.SI.01
Use tools and methods for collaboration.
  1. 2.1 Practice PT: Pair-Programming Paint!
L1.AP.PD.01
Plan and develop programs by analyzing a problem and/or process, developing and documenting a solution, testing outcomes, and adapting the program for a variety of users.
  1. 20.1 Intro to Design Thinking
  2. 20.2 Prototype
  3. 20.3 Test
  4. 20.4 Project Prep and Development
L1.AP.C.03
Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
  1. 4.6 Key Events
L1.AP.PD.04
Design and develop computational artifacts, working in team roles, using collaborative tools.
  1. 2.1 Practice PT: Pair-Programming Paint!
L1.DA.S.01
Translate between different bit representations of real-world phenomena, such as characters, numbers, and images.
  1. 8.1 Intro to Digital Information
  2. 8.2 Number Systems
  3. 8.3 Encoding Text with Binary
  4. 8.4 Pixel Images
  5. 8.5 Hexadecimal
  6. 8.6 Pixel Colors!
  7. 8.7 Image Manipulation
L1.AP.A.02
Describe how artificial intelligence algorithms drive many software and physical systems.
L2.AP.A.02
Develop an artificial intelligence algorithm to play a game against a human opponent or solve a real-world problem.
L2.AP.PD.05
Develop and use a series of test cases to verify that a program performs according to its design specifications.
L1.AP.PD.03
Use debugging tools to identify and fix errors in a program.
  1. 1.16 Debugging Strategies
L1.AP.C.02
Trace the execution of loops and conditional statements, illustrating output and changes in values of named variables.
  1. 1.11 For Loops
  2. 1.13 If/Else Statements
  3. 4.4 If Statements
  4. 4.7 For Loops in JavaScript
  5. 4.8 General For Loops
  6. 4.9 For Loop Practice
L1.AP.M.01
Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects.
  1. 1.7 Top Down Design and Decomposition in Karel
  2. 5.1 Functions and Parameters 1
  3. 5.2 Functions and Parameters 2
  4. 5.3 Functions and Parameters 3
  5. 5.4 Functions and Return Values 1
  6. 5.5 Functions and Return Values 2
L1.AP.V.01
Use lists to simplify solutions, generalizing computational problems instead of repeatedly using simple variables.
  1. 7.1 Intro to Lists/Arrays
  2. 7.2 Indexing Into an Array
  3. 7.3 Adding/Removing From an Array
  4. 7.4 Array Length and Looping Through Arrays
  5. 7.5 Iterating Over an Array
  6. 7.6 Finding an Element in a List
L1.CS.HS.01
Explain the interactions between application software, system software, and hardware layers.
L2.CS.HS.01
Categorize the roles of operating system software.
L1.CS.T.01
Develop guidelines that convey systematic troubleshooting strategies that others can use to identify and resolve errors.
  1. 1.8 Commenting Your Code
  2. 1.16 Debugging Strategies
L2.CS.T.01
Identify how hardware components facilitate logic, input, output, and storage in computing systems, and their common malfunctions.
L1.NI.NCO.01
Evaluate the scalability and reliability of networks, by describing the relationship between routers, switches, servers, topology, and addressing.
  1. 12.2 Internet Hardware
  2. 12.3 Internet Addresses
  3. 12.4 Viewing Websites
  4. 12.5 DNS
  5. 12.6 Routing
  6. 12.7 Packets and Protocols
  7. 12.8 Sequential, Parallel & Distributed Computing
L2.NI.NCO.01
Describe the issues that impact network functionality (e.g., bandwidth, load, latency, topology).
  1. 12.2 Internet Hardware
  2. 12.3 Internet Addresses
  3. 12.4 Viewing Websites
  4. 12.5 DNS
L1.NI.C.01
Give examples to illustrate how sensitive data can be affected by malware and other attacks.
  1. 13.1 Introduction to Cybersecurity
L2.NI.C.01
Compare ways software developers protect devices and information from unauthorized access.
  1. 41.1 Cryptography
L1.NI.C.02
Recommend cybersecurity measures to address various scenarios based on factors such as efficiency, feasibility, and ethical impacts.
  1. 13.11 Cybersecurity Risk Model-Security Controls
L1.NI.C.03
Compare various security measures, considering trade-offs between the usability and security of a computing system.
  1. 13.8 Basic Cybersecurity Risk Concepts
L1.NI.C.04
Explain trade-offs when selecting and implementing cybersecurity recommendations.
  1. 13.11 Cybersecurity Risk Model-Security Controls
L2.AP.M.02
Analyze a large-scale computational problem and identify generalizable patterns that can be applied to a solution.
  1. 1.7 Top Down Design and Decomposition in Karel
L2.AP.PD.08
Compare multiple programming languages and discuss how their features make them suitable for solving different types of problems.
  1. 5.7 JavaScript vs Karel
L1.IC.C.01
Evaluate the ways computing impacts personal, ethical, social, economic, and cultural practices.
  1. 12.9 The Impact of the Internet
  2. 16.1 Present a Data-Driven Insight
  3. 17.1 The Impacts of Computing
L2.IC.C.01
Evaluate the beneficial and harmful effects that computational artifacts and innovations have on society.
  1. 12.9 The Impact of the Internet
L1.IC.C.02
Test and refine computational artifacts to reduce bias and equity deficits.
L1.AP.PD.02
Evaluate licenses that limit or restrict use of computational artifacts when using resources such as libraries.
  1. 12.10 Creative Credit & Copyright
L2.IC.C.02
Evaluate the impact of equity, access, and influence on the distribution of computing resources in a global society.
L1.IC.C.03
Demonstrate how a given algorithm applies to problems across disciplines. (e.g. iterating through a list to find the maximum value for a given data set)
  1. 4.7 For Loops in JavaScript
  2. 4.8 General For Loops
  3. 4.9 For Loop Practice
  4. 4.11 While Loops
  5. 4.12 Loop and a Half
L2.IC.C.03
Predict how computational innovations that have revolutionized aspects of our culture might evolve.
  1. 32.1 The Effects of the Internet
L1.IC.SI.02
Practice grade-level appropriate behavior and responsibilities while participating in an online community. Identify and report inappropriate behavior.
L1.IC.SLE.01
Explain the beneficial and harmful effects that intellectual property laws can have on innovation.
  1. 12.10 Creative Credit & Copyright
L2.IC.SLE.01
Debate laws and regulations that impact the development and use of software and technology.
  1. 12.9 The Impact of the Internet
  2. 12.10 Creative Credit & Copyright
L1.IC.SLE.02
Explain the privacy concerns related to the collection and generation of data through automated processes that may not be evident to users.
  1. 15.5 Metadata and Data Collection
L1.IC.SLE.03
Evaluate the social and economic implications of privacy in the context of safety, law, or ethics.
L1.IC.SLE.04
Using grade level appropriate content and complexity, discuss the legal, social, and ethical impacts associated with software development and use, including both positive and malicious intent.
  1. 12.10 Creative Credit & Copyright
  2. 17.1 The Impacts of Computing
L2.IC.SLE.02
Using grade level appropriate content and complexity, discuss the legal, social, and ethical impacts associated with software development and use, including both positive and malicious intent.
  1. 12.10 Creative Credit & Copyright
  2. 17.1 The Impacts of Computing
  3. 41.1 Cryptography