Please enable JavaScript to use CodeHS

Standards Mapping

for CSTA 3A


Standards in this Framework


Standards Mapped


Mapped to Course

Standard Lessons
Create prototypes that use algorithms to solve computational problems by leveraging prior student knowledge and personal interests.
  1. 2.19 Putting Together Control Structures
  2. 16.1 Project: Who Said It?
  3. 23.8 Abstraction
  4. 23.15 Debugging Strategies
Use lists to simplify solutions, generalizing computational problems instead of repeatedly using simple variables.
  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.5 Class Variables vs. Instance Variables
  12. 16.1 Project: Who Said It?
Justify the selection of specific control structures when tradeoffs involve implementation, readability, and program performance, and explain the benefits and drawbacks of choices made.
  1. 12.5 Class Variables vs. Instance Variables
  2. 23.14 Control Structures Example
Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
  1. 2.19 Putting Together Control Structures
  2. 16.1 Project: Who Said It?
Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects.
  1. 2.10 Top Down Design
  2. 12.1 Classes and Objects
  3. 12.5 Class Variables vs. Instance Variables
  4. 12.6 Inheritance
  5. 12.9 Modules
  6. 16.1 Project: Who Said It?
  7. 23.5 Functions in Karel
  8. 23.6 Top Down Design and Decomposition in Karel
Create artifacts by using procedures within a program, combinations of data and procedures, or independent but interrelated programs.
  1. 2.10 Top Down Design
  2. 2.19 Putting Together Control Structures
  3. 16.1 Project: Who Said It?
Systematically design and develop programs for broad audiences by incorporating feedback from users.
Evaluate licenses that limit or restrict use of computational artifacts when using resources such as libraries.
Evaluate and refine computational artifacts to make them more usable and accessible.
Design and develop computational artifacts working in team roles using collaborative tools.
Document design decisions using text, graphics, presentations, and/or demonstrations in the development of complex programs.
  1. 2.6 Comments
  2. 2.13 Parameters
  3. 3.6 Comments
  4. 6.2 Functions and Parameters
  5. 6.4 Functions and Return Values
  6. 7.1 Indexing
  7. 7.2 Slicing
  8. 7.3 Immutability
  9. 7.4 Strings and For Loops
  10. 7.5 The in Keyword
  11. 7.6 String Methods
  12. 8.1 Tuples
  13. 8.2 Lists
  14. 8.3 For Loops and Lists
  15. 8.4 List Methods
  16. 9.1 2d Lists
  17. 9.2 List Comprehensions
  18. 9.3 Packing and Unpacking
  19. 9.4 Dictionaries
  20. 9.5 Equivalence vs. Identity
  21. 12.1 Classes and Objects
  22. 12.2 Methods
  23. 12.3 Built-In Methods
  24. 12.4 Operator Overloading
  25. 12.5 Class Variables vs. Instance Variables
  26. 12.6 Inheritance
  27. 12.7 Hidden Attributes
  28. 12.8 Namespaces
  29. 12.9 Modules
  30. 16.1 Project: Who Said It?
  31. 23.7 Commenting Your Code
Explain how abstractions hide the underlying implementation details of computing systems embedded in everyday objects.
  1. 23.8 Abstraction
  2. 23.9 Super Karel
  3. 23.17 Ultra Karel
Compare levels of abstraction and interactions between application software, system software, and hardware layers.
  1. 23.8 Abstraction
  2. 23.17 Ultra Karel
Develop guidelines that convey systematic troubleshooting strategies that others can use to identify and fix errors.
  1. 23.15 Debugging Strategies
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.
Create interactive data visualizations using software tools to help others better understand real-world phenomena.
Create computational models that represent the relationships among different elements of data collected from a phenomenon or process.
Evaluate the ways computing impacts personal, ethical, social, economic, and cultural practices.
Test and refine computational artifacts to reduce bias and equity deficits.
Demonstrate ways a given algorithm applies to problems across disciplines.
Use tools and methods for collaboration on a project to increase connectivity of people in different cultures and career fields.
Explain the beneficial and harmful effects that intellectual property laws can have on innovation.
Explain the privacy concerns related to the collection and generation of data through automated processes that may not be evident to users.
Evaluate the social and economic implications of privacy in the context of safety, law, or ethics.
Evaluate the scalability and reliability of networks, by describing the relationship between routers, switches, servers, topology, and addressing.
Give examples to illustrate how sensitive data can be affected by malware and other attacks.
Recommend security measures to address various scenarios based on factors such as efficiency, feasibility, and ethical impacts.
Compare various security measures, considering tradeoffs between the usability and security of a computing system.
Explain tradeoffs when selecting and implementing cybersecurity recommendations.