Please enable JavaScript to use CodeHS

Standards Mapping

for South Dakota CS Principles


Standards in this Framework


Standards Mapped


Mapped to Course

Standard Lessons
Compare and contrast how abstractions hide the underlying implementation details of computing systems embedded in everyday objects.
  1. 15.3 Abstraction
  2. 23.8 Abstraction
Use concepts to compare levels of abstraction and interactions between application software, system software, and hardware layers.
  1. 15.3 Abstraction
  2. 23.8 Abstraction
Develop and implement guidelines that convey systematic troubleshooting strategies that others can use to identify and fix errors.
  1. 2.6 Comments
  2. 3.6 Comments
  3. 23.7 Commenting Your Code
  4. 23.15 Debugging Strategies
Describe the issues that impact network functionality (e.g., bandwidth, load, delay, topology).
Give examples to illustrate how sensitive data can be affected by malware and other attacks.
Recommend security measures to address various scenarios based on the CIA Triad (confidentiality, integrity, and availability).
Recommend various security measures, considering tradeoffs between the usability and security of a computing system.
Translate between different bit representations of real-world phenomena, such as characters, numbers, and images.
Evaluate the tradeoffs in how data elements are organized and where data is stored.
  1. 2.11 Variables
  2. 8.1 Tuples
  3. 8.2 Lists
  4. 8.3 For Loops and Lists
  5. 8.4 List Methods
  6. 9.1 2d Lists
  7. 9.2 List Comprehensions
  8. 9.3 Packing and Unpacking
  9. 9.4 Dictionaries
  10. 9.5 Equivalence vs. Identity
  11. 12.1 Classes and Objects
  12. 12.2 Methods
  13. 12.3 Built-In Methods
  14. 12.4 Operator Overloading
  15. 12.5 Class Variables vs. Instance Variables
  16. 12.6 Inheritance
  17. 12.7 Hidden Attributes
  18. 12.8 Namespaces
  19. 12.9 Modules
Select and use data collection tools and techniques to generate data sets that support a claim or communicate information.
Use and evaluate algorithms in terms of their efficiency, correctness, and clarity.
Compare and contrast fundamental data structures and their uses.
  1. 8.1 Tuples
  2. 8.2 Lists
  3. 8.3 For Loops and Lists
  4. 8.4 List Methods
  5. 9.1 2d Lists
  6. 9.2 List Comprehensions
  7. 9.3 Packing and Unpacking
  8. 9.4 Dictionaries
  9. 9.5 Equivalence vs. Identity
  10. 12.1 Classes and Objects
  11. 12.9 Modules
Recommend specific control structures and identify tradeoffs involving implementation, readability, and program performance.
  1. 2.14 Using i in For Loops
  2. 2.15 Extended Loop Control
  3. 2.18 While Loops
  4. 2.19 Putting Together Control Structures
  5. 4.1 Booleans
  6. 4.2 If Statements
  7. 4.3 Comparison Operators
  8. 4.4 Logical Operators
  9. 5.3 Break and Continue
  10. 5.4 Nested Control Structures
  11. 15.1 Short Circuit Evaluation
Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects.
  1. 2.8 Functions
  2. 2.10 Top Down Design
  3. 12.1 Classes and Objects
  4. 12.9 Modules
Construct solutions to problems based on user feedback.
Plan and develop programs for broad audiences using a software life cycle process.
Investigate and compare multiple programming languages and discuss how their features make them suitable for solving different types of problems.
  1. 2.1 Intro to Python with Tracy the Turtle
Evaluate the ways computing impacts personal, ethical, social, economic, and cultural practices.
Identify and critique bias, equity, access, and influence in existing computer programs.
Identify and use tools and methods for collaboration on a project to increase connectivity of people in different cultures and career fields.
Debate laws and regulations that impact the development and use of software.
Explore careers in computer science.