Please enable JavaScript to use CodeHS

Standards Mapping

for IA

Introduction to Python Programming

120

Standards in this Framework

15

Standards Mapped

12%

Mapped to Course

Standard Lessons
1A-AP-08
Model daily processes by creating and following algorithms (sets of step-by-step instructions) to complete tasks.
1A-AP-09
Model the way programs store and manipulate data by using numbers or other symbols to represent information.
1A-AP-10
Develop programs with sequences and simple loops, to express ideas or address a problem.
1A-AP-11
Decompose (break down) the steps needed to solve a problem into a precise sequence of instructions.
1A-AP-12
Develop plans that describe a program’s sequence of events, goals, and expected outcomes.
1A-AP-13
Give attribution when using the ideas and creations of others while developing programs.
1A-AP-14
Debug (identify and fix) errors in an algorithm or program that includes sequences and simple loops.
1A-AP-15
Using correct terminology, describe steps taken and choices made during the iterative process of program development.
1A-CS-01
Select and operate appropriate software to perform a variety of tasks, and recognize that users have different needs and preferences for the technology they use.
1A-CS-02
Use appropriate terminology in identifying and describing the function of common physical components of computing systems (hardware).
1A-CS-03
Describe basic hardware and software problems using accurate terminology.
1A-DA-05
Store, copy, search, retrieve, modify, and delete information using a computing device and define the information stored as data.
1A-DA-06
Collect and present the same data in various visual formats.
1A-DA-07
Identify and describe patterns in data visualizations, such as charts or graphs, to make predictions.
1A-IC-16
Compare how people live and work before and after the implementation or adoption of new computing technology.
1A-IC-17
Work respectfully and responsibly with others online.
1A-IC-18
Keep login information private, and log off of devices appropriately.
1A-NI-04
Explain what passwords are and why we use them, and use strong passwords to protect devices and information from unauthorized access.
1B-AP-08
Compare and refine multiple algorithms for the same task and determine which is the most appropriate.
1B-AP-09
Create programs that use variables to store and modify data.
1B-AP-10
Create programs that include sequences, events, loops, and conditionals.
1B-AP-11
Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.
1B-AP-12
Modify, remix, or incorporate portions of an existing program into one's own work, to develop something new or add more advanced features.
1B-AP-13
Use an iterative process to plan the development of a program by including others' perspectives and considering user preferences.
1B-AP-14
Observe intellectual property rights and give appropriate attribution when creating or remixing programs.
1B-AP-15
Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended.
1B-AP-16
Take on varying roles, with teacher guidance, when collaborating with peers during the design, implementation, and review stages of program development.
1B-AP-17
Describe choices made during program development using code comments, presentations, and demonstrations.
1B-CS-01
Describe how internal and external parts of computing devices function to form a system.
1B-CS-02
Model how computer hardware and software work together as a system to accomplish tasks.
1B-CS-03
Determine potential solutions to solve simple hardware and software problems using common troubleshooting strategies.
1B-DA-06
Organize and present collected data visually to highlight relationships and support a claim.
1B-DA-07
Use data to highlight or propose cause-and-effect relationships, predict outcomes, or communicate an idea.
1B-IC-18
Discuss computing technologies that have changed the world, and express how those technologies influence, and are influenced by, cultural practices.
1B-IC-19
Brainstorm ways to improve the accessibility and usability of technology products for the diverse needs and wants of users.
1B-IC-20
Seek diverse perspectives for the purpose of improving computational artifacts.
1B-IC-21
Use public domain or creative commons media, and refrain from copying or using material created by others without permission.
1B-NI-04
Model how information is broken down into smaller pieces, transmitted as packets through multiple devices over networks and the Internet, and reassembled at the destination.
1B-NI-05
Discuss real-world cybersecurity problems and how personal information can be protected.
2-AP-10
Use flowcharts and/or pseudocode to address complex problems as algorithms.
2-AP-11
Create clearly named variables that represent different data types and perform operations on their values.
  1. 3.2 Variables and Types
  2. 3.3 User Input
  3. 3.4 Mathematical Operators
  4. 3.5 String Operators
  5. 3.6 Comments
  6. 5.1 Booleans
  7. 5.2 If Statements
  8. 5.3 Comparison Operators
  9. 5.4 Logical Operators
  10. 5.5 Floating Point Numbers and Rounding
  11. 7.1 While Loops
  12. 7.2 For Loops
  13. 7.3 Break and Continue
  14. 7.4 Nested Control Structures
  15. 9.1 Functions
  16. 9.2 Functions and Parameters
  17. 9.4 Functions and Return Values
  18. 9.5 Exceptions
  19. 10.1 Indexing
  20. 10.2 Slicing
  21. 10.3 Immutability
  22. 10.4 Strings and For Loops
  23. 10.5 The in Keyword
  24. 10.6 String Methods
  25. 12.1 Tuples
  26. 12.2 Lists
  27. 12.3 For Loops and Lists
  28. 12.4 List Methods
  29. 13.1 2d Lists
  30. 13.2 List Comprehensions
  31. 13.3 Packing and Unpacking
  32. 13.4 Dictionaries
  33. 20.1 Project: Who Said It?
  34. 22.1 Classes and Objects
  35. 22.2 Methods
  36. 22.3 Built-In Methods
  37. 22.4 Operator Overloading
  38. 22.5 Class Variables vs. Instance Variables
  39. 22.6 Inheritance
  40. 22.7 Hidden Attributes
  41. 22.8 Namespaces
  42. 22.9 Modules
  43. 23.1 Short Circuit Evaluation
  44. 23.2 De Morgan's Laws
  45. 25.10 Variables
  46. 25.13 User Input
  47. 25.14 Parameters
  48. 25.18 If Statements
  49. 25.19 If/Else Statements
  50. 25.20 While Loops
  51. 25.21 Putting Together Control Structures
  52. 28.3 Variables and Types
  53. 28.5 String Operators
  54. 28.6 Comments
  55. 28.10 For Loops
  56. 28.12 Functions and Parameters
  57. 28.15 Introduction to Exceptions
  58. 28.17 For Loops and Lists
  59. 28.19 2d Lists
  60. 28.20 List Comprehensions
  61. 28.21 Dictionaries
2-AP-12
Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.
  1. 7.4 Nested Control Structures
  2. 12.2 Lists
  3. 12.3 For Loops and Lists
  4. 13.1 2d Lists
  5. 20.1 Project: Who Said It?
  6. 22.6 Inheritance
  7. 28.17 For Loops and Lists
  8. 28.19 2d Lists
2-AP-13
Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.
  1. 3.1 Printing in Python
  2. 3.2 Variables and Types
  3. 3.4 Mathematical Operators
  4. 5.1 Booleans
  5. 5.2 If Statements
  6. 5.3 Comparison Operators
  7. 5.4 Logical Operators
  8. 7.1 While Loops
  9. 7.2 For Loops
  10. 7.3 Break and Continue
  11. 7.4 Nested Control Structures
  12. 9.1 Functions
  13. 9.5 Exceptions
  14. 10.1 Indexing
  15. 10.2 Slicing
  16. 10.3 Immutability
  17. 10.4 Strings and For Loops
  18. 10.6 String Methods
  19. 12.1 Tuples
  20. 12.2 Lists
  21. 12.3 For Loops and Lists
  22. 12.4 List Methods
  23. 13.1 2d Lists
  24. 13.2 List Comprehensions
  25. 13.3 Packing and Unpacking
  26. 13.4 Dictionaries
  27. 20.1 Project: Who Said It?
  28. 22.2 Methods
  29. 22.3 Built-In Methods
  30. 22.4 Operator Overloading
  31. 22.5 Class Variables vs. Instance Variables
  32. 22.6 Inheritance
  33. 22.9 Modules
  34. 23.1 Short Circuit Evaluation
  35. 23.2 De Morgan's Laws
  36. 25.10 Variables
  37. 25.16 Using i in For Loops
  38. 25.17 Extended Loop Control
  39. 25.18 If Statements
  40. 25.19 If/Else Statements
  41. 25.20 While Loops
  42. 28.2 Printing in Python
  43. 28.3 Variables and Types
  44. 28.10 For Loops
  45. 28.15 Introduction to Exceptions
  46. 28.17 For Loops and Lists
  47. 28.19 2d Lists
  48. 28.20 List Comprehensions
  49. 28.21 Dictionaries
2-AP-14
Create procedures with parameters to organize code and make it easier to reuse.
  1. 5.2 If Statements
  2. 25.18 If Statements
  3. 25.19 If/Else Statements
2-AP-15
Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
2-AP-16
Incorporate existing code, media, and libraries into original programs, and give attribution.
2-AP-17
Systematically test and refine programs using a range of test cases.
2-AP-18
Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.
  1. 3.6 Comments
  2. 9.2 Functions and Parameters
  3. 9.4 Functions and Return Values
  4. 10.1 Indexing
  5. 10.2 Slicing
  6. 10.3 Immutability
  7. 10.4 Strings and For Loops
  8. 10.5 The in Keyword
  9. 10.6 String Methods
  10. 12.1 Tuples
  11. 12.2 Lists
  12. 12.3 For Loops and Lists
  13. 12.4 List Methods
  14. 13.1 2d Lists
  15. 13.2 List Comprehensions
  16. 13.3 Packing and Unpacking
  17. 13.4 Dictionaries
  18. 20.1 Project: Who Said It?
  19. 22.1 Classes and Objects
  20. 22.2 Methods
  21. 22.3 Built-In Methods
  22. 22.4 Operator Overloading
  23. 22.5 Class Variables vs. Instance Variables
  24. 22.6 Inheritance
  25. 22.7 Hidden Attributes
  26. 22.8 Namespaces
  27. 22.9 Modules
  28. 25.6 Comments
  29. 28.6 Comments
  30. 28.12 Functions and Parameters
  31. 28.17 For Loops and Lists
  32. 28.19 2d Lists
  33. 28.20 List Comprehensions
  34. 28.21 Dictionaries
2-AP-19
Document programs in order to make them easier to follow, test, and debug.
2-CS-01
Recommend improvements to the design of computing devices, based on an analysis of how users interact with the devices.
2-CS-02
Design projects that combine hardware and software components to collect and exchange data.
2-CS-03
Systematically identify and fix problems with computing devices and their components.
2-DA-07
Represent data using multiple encoding schemes.
2-DA-08
Collect data using computational tools and transform the data to make it more useful and reliable.
2-DA-09
Refine computational models based on the data they have generated.
2-IC-20
Compare tradeoffs associated with computing technologies that affect people's everyday activities and career options.
2-IC-21
Discuss issues of bias and accessibility in the design of existing technologies.
2-IC-22
Collaborate with many contributors through strategies such as crowdsourcing or surveys when creating a computational artifact.
2-IC-23
Describe tradeoffs between allowing information to be public and keeping information private and secure.
2-NI-04
Model the role of protocols in transmitting data across networks and the Internet.
2-NI-05
Explain how physical and digital security measures protect electronic information.
2-NI-06
Apply multiple methods of encryption to model the secure transmission of information.
3A-AP-13
Create prototypes that use algorithms to solve computational problems by leveraging prior student knowledge and personal interests.
  1. 20.1 Project: Who Said It?
  2. 25.21 Putting Together Control Structures
3A-AP-14
Use lists to simplify solutions, generalizing computational problems instead of repeatedly using simple variables.
  1. 12.1 Tuples
  2. 12.2 Lists
  3. 12.3 For Loops and Lists
  4. 12.4 List Methods
  5. 13.1 2d Lists
  6. 13.2 List Comprehensions
  7. 13.3 Packing and Unpacking
  8. 13.4 Dictionaries
  9. 20.1 Project: Who Said It?
  10. 22.1 Classes and Objects
  11. 22.5 Class Variables vs. Instance Variables
  12. 28.17 For Loops and Lists
  13. 28.19 2d Lists
  14. 28.20 List Comprehensions
  15. 28.21 Dictionaries
3A-AP-15
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. 22.5 Class Variables vs. Instance Variables
3A-AP-16
Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
  1. 20.1 Project: Who Said It?
  2. 25.21 Putting Together Control Structures
3A-AP-17
Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects.
  1. 20.1 Project: Who Said It?
  2. 22.1 Classes and Objects
  3. 22.5 Class Variables vs. Instance Variables
  4. 22.6 Inheritance
  5. 22.9 Modules
3A-AP-18
Create artifacts by using procedures within a program, combinations of data and procedures, or independent but interrelated programs.
  1. 20.1 Project: Who Said It?
  2. 25.21 Putting Together Control Structures
3A-AP-19
Systematically design and develop programs for broad audiences by incorporating feedback from users.
3A-AP-20
Evaluate licenses that limit or restrict use of computational artifacts when using resources such as libraries.
3A-AP-21
Evaluate and refine computational artifacts to make them more usable and accessible.
3A-AP-22
Design and develop computational artifacts working in team roles using collaborative tools.
3A-AP-23
Document design decisions using text, graphics, presentations, and/or demonstrations in the development of complex programs.
  1. 3.6 Comments
  2. 9.2 Functions and Parameters
  3. 9.4 Functions and Return Values
  4. 10.1 Indexing
  5. 10.2 Slicing
  6. 10.3 Immutability
  7. 10.4 Strings and For Loops
  8. 10.5 The in Keyword
  9. 10.6 String Methods
  10. 12.1 Tuples
  11. 12.2 Lists
  12. 12.3 For Loops and Lists
  13. 12.4 List Methods
  14. 13.1 2d Lists
  15. 13.2 List Comprehensions
  16. 13.3 Packing and Unpacking
  17. 13.4 Dictionaries
  18. 20.1 Project: Who Said It?
  19. 22.1 Classes and Objects
  20. 22.2 Methods
  21. 22.3 Built-In Methods
  22. 22.4 Operator Overloading
  23. 22.5 Class Variables vs. Instance Variables
  24. 22.6 Inheritance
  25. 22.7 Hidden Attributes
  26. 22.8 Namespaces
  27. 22.9 Modules
  28. 25.6 Comments
  29. 25.14 Parameters
  30. 28.6 Comments
  31. 28.12 Functions and Parameters
  32. 28.17 For Loops and Lists
  33. 28.19 2d Lists
  34. 28.20 List Comprehensions
  35. 28.21 Dictionaries
3A-CS-01
Explain how abstractions hide the underlying implementation details of computing systems embedded in everyday objects.
3A-CS-02
Compare levels of abstraction and interactions between application software, system software, and hardware layers.
3A-CS-03
Develop guidelines that convey systematic troubleshooting strategies that others can use to identify and fix errors.
3A-DA-09
Translate between different bit representations of real-world phenomena, such as characters, numbers, and images.
3A-DA-10
Evaluate the tradeoffs in how data elements are organized and where data is stored.
3A-DA-11
Create interactive data visualizations using software tools to help others better understand real-world phenomena.
3A-DA-12
Create computational models that represent the relationships among different elements of data collected from a phenomenon or process.
3A-IC-24
Evaluate the ways computing impacts personal, ethical, social, economic, and cultural practices.
3A-IC-25
Test and refine computational artifacts to reduce bias and equity deficits.
3A-IC-26
Demonstrate ways a given algorithm applies to problems across disciplines.
3A-IC-27
Use tools and methods for collaboration on a project to increase connectivity of people in different cultures and career fields.
3A-IC-28
Explain the beneficial and harmful effects that intellectual property laws can have on innovation.
3A-IC-29
Explain the privacy concerns related to the collection and generation of data through automated processes that may not be evident to users.
3A-IC-30
Evaluate the social and economic implications of privacy in the context of safety, law, or ethics.
3A-NI-04
Evaluate the scalability and reliability of networks, by describing the relationship between routers, switches, servers, topology, and addressing.
3A-NI-05
Give examples to illustrate how sensitive data can be affected by malware and other attacks.
3A-NI-06
Recommend security measures to address various scenarios based on factors such as efficiency, feasibility, and ethical impacts.
3A-NI-07
Compare various security measures, considering tradeoffs between the usability and security of a computing system.
3A-NI-08
Explain tradeoffs when selecting and implementing cybersecurity recommendations.
3B-AP-08
Describe how artificial intelligence drives many software and physical systems.
3B-AP-09
Implement an artificial intelligence algorithm to play a game against a human opponent or solve a problem.
3B-AP-10
Use and adapt classic algorithms to solve computational problems.
3B-AP-11
Evaluate algorithms in terms of their efficiency, correctness, and clarity.
3B-AP-12
Compare and contrast fundamental data structures and their uses.
  1. 5.2 If Statements
  2. 5.3 Comparison Operators
  3. 5.4 Logical Operators
  4. 5.5 Floating Point Numbers and Rounding
  5. 7.1 While Loops
  6. 7.2 For Loops
  7. 7.3 Break and Continue
  8. 7.4 Nested Control Structures
  9. 9.1 Functions
  10. 9.2 Functions and Parameters
  11. 9.4 Functions and Return Values
  12. 9.5 Exceptions
  13. 10.1 Indexing
  14. 10.2 Slicing
  15. 10.3 Immutability
  16. 10.4 Strings and For Loops
  17. 10.5 The in Keyword
  18. 10.6 String Methods
  19. 12.1 Tuples
  20. 12.2 Lists
  21. 12.3 For Loops and Lists
  22. 12.4 List Methods
  23. 13.1 2d Lists
  24. 13.2 List Comprehensions
  25. 13.3 Packing and Unpacking
  26. 13.4 Dictionaries
  27. 20.1 Project: Who Said It?
  28. 22.1 Classes and Objects
  29. 22.2 Methods
  30. 22.3 Built-In Methods
  31. 22.4 Operator Overloading
  32. 22.5 Class Variables vs. Instance Variables
  33. 22.6 Inheritance
  34. 22.7 Hidden Attributes
  35. 22.8 Namespaces
  36. 22.9 Modules
  37. 23.1 Short Circuit Evaluation
  38. 23.2 De Morgan's Laws
  39. 25.14 Parameters
  40. 25.16 Using i in For Loops
  41. 25.18 If Statements
  42. 25.19 If/Else Statements
  43. 25.20 While Loops
  44. 28.10 For Loops
  45. 28.12 Functions and Parameters
  46. 28.15 Introduction to Exceptions
  47. 28.17 For Loops and Lists
  48. 28.19 2d Lists
  49. 28.20 List Comprehensions
  50. 28.21 Dictionaries
3B-AP-13
Illustrate the flow of execution of a recursive algorithm.
3B-AP-14
Construct solutions to problems using student-created components, such as procedures, modules and/or objects.
  1. 20.1 Project: Who Said It?
  2. 22.1 Classes and Objects
  3. 22.2 Methods
  4. 22.3 Built-In Methods
  5. 22.4 Operator Overloading
  6. 22.6 Inheritance
  7. 22.7 Hidden Attributes
  8. 22.8 Namespaces
  9. 22.9 Modules
3B-AP-15
Analyze a large-scale computational problem and identify generalizable patterns that can be applied to a solution.
  1. 3.4 Mathematical Operators
  2. 20.1 Project: Who Said It?
  3. 22.1 Classes and Objects
  4. 22.2 Methods
  5. 22.3 Built-In Methods
  6. 22.4 Operator Overloading
  7. 22.6 Inheritance
  8. 22.7 Hidden Attributes
  9. 22.8 Namespaces
  10. 22.9 Modules
  11. 25.1 Meet Tracy the Turtle
  12. 25.2 Tracy's Grid World
  13. 25.3 Turning Tracy
  14. 25.4 For Loops
  15. 25.5 Turning Tracy Using Angles
  16. 25.7 Functions
  17. 25.8 Artistic Effects
  18. 25.17 Extended Loop Control
3B-AP-16
Demonstrate code reuse by creating programming solutions using libraries and APIs.
3B-AP-17
Plan and develop programs for broad audiences using a software life cycle process.
3B-AP-18
Explain security issues that might lead to compromised computer programs.
3B-AP-19
Develop programs for multiple computing platforms.
3B-AP-20
Use version control systems, integrated development environments (IDEs), and collaborative tools and practices (code documentation) in a group software project.
3B-AP-21
Develop and use a series of test cases to verify that a program performs according to its design specifications.
3B-AP-22
Modify an existing program to add additional functionality and discuss intended and unintended implications (e.g., breaking other functionality).
3B-AP-23
Evaluate key qualities of a program through a process such as a code review.
3B-AP-24
Compare multiple programming languages and discuss how their features make them suitable for solving different types of problems.
3B-CS-01
Categorize the roles of operating system software.
3B-CS-02
Illustrate ways computing systems implement logic, input, and output through hardware components.
3B-DA-05
Use data analysis tools and techniques to identify patterns in data representing complex systems.
3B-DA-06
Select data collection tools and techniques to generate data sets that support a claim or communicate information.
3B-DA-07
Evaluate the ability of models and simulations to test and support the refinement of hypotheses.
3B-IC-25
Evaluate computational artifacts to maximize their beneficial effects and minimize harmful effects on society.
3B-IC-26
Evaluate the impact of equity, access, and influence on the distribution of computing resources in a global society.
3B-IC-27
Predict how computational innovations that have revolutionized aspects of our culture might evolve.
3B-IC-28
Debate laws and regulations that impact the development and use of software.
3B-NI-03
Describe the issues that impact network functionality (e.g., bandwidth, load, delay, topology).
3B-NI-04
Compare ways software developers protect devices and information from unauthorized access.