Please enable JavaScript to use CodeHS

Standards Mapping

for IA

Indiana Principles of Computing

120

Standards in this Framework

27

Standards Mapped

22%

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.
  1. 1.4 Functions in Karel
  2. 1.5 The Start Function
  3. 1.6 Top Down Design and Decomposition in Karel
  4. 1.7 Commenting Your Code
2-AP-11
Create clearly named variables that represent different data types and perform operations on their values.
  1. 8.3 Variables
  2. 8.4 User Input
  3. 8.5 Basic Math in JavaScript
  4. 8.6 Using Graphics in JavaScript
  5. 10.1 Booleans
  6. 10.2 Logical Operators
  7. 10.3 Comparison Operators
  8. 10.4 If Statements
  9. 10.5 For Loops in JavaScript
  10. 10.6 General For Loops
  11. 10.7 For Loop Practice
  12. 10.8 Random Numbers
  13. 10.9 While Loops
  14. 10.10 Loop and a Half
  15. 12.1 Functions and Parameters 1
  16. 12.2 Functions and Parameters 2
  17. 12.3 Functions and Parameters 3
  18. 12.4 Functions and Return Values 1
  19. 12.5 Functions and Return Values 2
  20. 12.6 Local Variables and Scope
  21. 13.1 Functions Challenges
  22. 20.1 Extra Karel Practice
  23. 21.1 Timers
  24. 21.2 Random Circles
  25. 21.3 Random Ghosts
  26. 21.4 Bouncing Ball
  27. 21.5 Mouse Events: Mouse Clicked
  28. 21.6 Mouse Events: Mouse Moved
  29. 21.7 Drawing Lines
  30. 21.8 Key Events
  31. 21.9 Crazy Ball Game
  32. 23.1 Breakout
  33. 24.1 Extra Karel Puzzles
  34. 25.1 Functions and Parameters Practice
  35. 26.1 Prime Numbers
  36. 27.1 Fun Snake
  37. 27.2 Fun Graphics Challenges
  38. 28.1 Conway's Game of Life
  39. 28.2 Connect Four
  40. 29.1 Evolution Simulation
  41. 32.1 Visualizing Music
  42. 33.1 Intro to Lists/Arrays
  43. 33.2 Indexing Into an Array
  44. 33.3 Adding/Removing From an Array
  45. 33.4 Array Length and Looping Through Arrays
  46. 33.5 Iterating Over an Array
  47. 33.6 Finding an Element in a List
  48. 33.7 Removing an Element From an Array
  49. 33.8 Intro to Objects/Maps
  50. 33.9 Basics of Objects
  51. 33.10 Iterating Over an Object
  52. 33.11 When Do I Use an Object?
  53. 33.12 Intro to Sets
  54. 33.13 Intro to Grids
  55. 33.14 Looping Over a Grid
  56. 33.15 Grid Example: Get a Row
  57. 33.16 Data Structures Challenges
  58. 34.1 Tic Tac Toe
  59. 35.1 Game Design: Helicopter
2-AP-12
Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.
  1. 1.12 While Loops in Karel
  2. 1.13 Control Structures Example
  3. 13.1 Functions Challenges
  4. 20.1 Extra Karel Practice
  5. 21.3 Random Ghosts
  6. 21.4 Bouncing Ball
  7. 21.5 Mouse Events: Mouse Clicked
  8. 21.6 Mouse Events: Mouse Moved
  9. 21.7 Drawing Lines
  10. 21.8 Key Events
  11. 21.9 Crazy Ball Game
  12. 23.1 Breakout
  13. 24.1 Extra Karel Puzzles
  14. 25.1 Functions and Parameters Practice
  15. 26.1 Prime Numbers
  16. 27.1 Fun Snake
  17. 27.2 Fun Graphics Challenges
  18. 28.1 Conway's Game of Life
  19. 28.2 Connect Four
  20. 29.1 Evolution Simulation
  21. 32.1 Visualizing Music
  22. 33.1 Intro to Lists/Arrays
  23. 33.2 Indexing Into an Array
  24. 33.3 Adding/Removing From an Array
  25. 33.4 Array Length and Looping Through Arrays
  26. 33.5 Iterating Over an Array
  27. 33.6 Finding an Element in a List
  28. 33.7 Removing an Element From an Array
  29. 33.8 Intro to Objects/Maps
  30. 33.9 Basics of Objects
  31. 33.10 Iterating Over an Object
  32. 33.11 When Do I Use an Object?
  33. 33.12 Intro to Sets
  34. 33.13 Intro to Grids
  35. 33.14 Looping Over a Grid
  36. 33.15 Grid Example: Get a Row
  37. 33.16 Data Structures Challenges
  38. 34.1 Tic Tac Toe
  39. 35.1 Game Design: Helicopter
2-AP-13
Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.
2-AP-14
Create procedures with parameters to organize code and make it easier to reuse.
  1. 10.4 If Statements
  2. 10.5 For Loops in JavaScript
  3. 10.6 General For Loops
  4. 10.7 For Loop Practice
  5. 10.8 Random Numbers
  6. 10.9 While Loops
  7. 10.10 Loop and a Half
  8. 12.1 Functions and Parameters 1
  9. 12.2 Functions and Parameters 2
  10. 12.3 Functions and Parameters 3
  11. 12.4 Functions and Return Values 1
  12. 12.5 Functions and Return Values 2
  13. 13.1 Functions Challenges
  14. 20.1 Extra Karel Practice
  15. 21.2 Random Circles
  16. 21.3 Random Ghosts
  17. 21.4 Bouncing Ball
  18. 21.5 Mouse Events: Mouse Clicked
  19. 21.6 Mouse Events: Mouse Moved
  20. 21.7 Drawing Lines
  21. 21.8 Key Events
  22. 21.9 Crazy Ball Game
  23. 23.1 Breakout
  24. 24.1 Extra Karel Puzzles
  25. 25.1 Functions and Parameters Practice
  26. 26.1 Prime Numbers
  27. 27.1 Fun Snake
  28. 27.2 Fun Graphics Challenges
  29. 28.1 Conway's Game of Life
  30. 28.2 Connect Four
  31. 29.1 Evolution Simulation
  32. 32.1 Visualizing Music
  33. 33.4 Array Length and Looping Through Arrays
  34. 33.5 Iterating Over an Array
  35. 33.6 Finding an Element in a List
  36. 33.7 Removing an Element From an Array
  37. 33.8 Intro to Objects/Maps
  38. 33.9 Basics of Objects
  39. 33.10 Iterating Over an Object
  40. 33.11 When Do I Use an Object?
  41. 33.12 Intro to Sets
  42. 33.13 Intro to Grids
  43. 33.14 Looping Over a Grid
  44. 33.15 Grid Example: Get a Row
  45. 33.16 Data Structures Challenges
  46. 34.1 Tic Tac Toe
  47. 35.1 Game Design: Helicopter
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.
2-AP-19
Document programs in order to make them easier to follow, test, and debug.
  1. 8.3 Variables
  2. 8.4 User Input
  3. 8.5 Basic Math in JavaScript
  4. 8.6 Using Graphics in JavaScript
  5. 10.1 Booleans
  6. 10.2 Logical Operators
  7. 10.3 Comparison Operators
  8. 10.4 If Statements
  9. 10.5 For Loops in JavaScript
  10. 10.6 General For Loops
  11. 10.7 For Loop Practice
  12. 10.8 Random Numbers
  13. 10.9 While Loops
  14. 10.10 Loop and a Half
  15. 12.1 Functions and Parameters 1
  16. 12.2 Functions and Parameters 2
  17. 12.3 Functions and Parameters 3
  18. 13.1 Functions Challenges
  19. 20.1 Extra Karel Practice
  20. 21.1 Timers
  21. 21.2 Random Circles
  22. 21.3 Random Ghosts
  23. 21.4 Bouncing Ball
  24. 21.5 Mouse Events: Mouse Clicked
  25. 21.6 Mouse Events: Mouse Moved
  26. 21.7 Drawing Lines
  27. 21.8 Key Events
  28. 21.9 Crazy Ball Game
  29. 23.1 Breakout
  30. 24.1 Extra Karel Puzzles
  31. 25.1 Functions and Parameters Practice
  32. 26.1 Prime Numbers
  33. 27.1 Fun Snake
  34. 27.2 Fun Graphics Challenges
  35. 28.1 Conway's Game of Life
  36. 28.2 Connect Four
  37. 29.1 Evolution Simulation
  38. 32.1 Visualizing Music
  39. 33.1 Intro to Lists/Arrays
  40. 33.2 Indexing Into an Array
  41. 33.3 Adding/Removing From an Array
  42. 33.4 Array Length and Looping Through Arrays
  43. 33.5 Iterating Over an Array
  44. 33.6 Finding an Element in a List
  45. 33.7 Removing an Element From an Array
  46. 33.8 Intro to Objects/Maps
  47. 33.9 Basics of Objects
  48. 33.10 Iterating Over an Object
  49. 33.11 When Do I Use an Object?
  50. 33.12 Intro to Sets
  51. 33.13 Intro to Grids
  52. 33.14 Looping Over a Grid
  53. 33.15 Grid Example: Get a Row
  54. 33.16 Data Structures Challenges
  55. 34.1 Tic Tac Toe
  56. 35.1 Game Design: Helicopter
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.
  1. 5.1 Intro to Digital Information
  2. 5.2 Number Systems
  3. 5.3 Encoding Text with Binary
  4. 5.4 Pixel Images
  5. 5.5 Hexadecimal
  6. 5.6 Pixel Colors!
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.
  1. 4.1 History of Computers
  2. 4.5 Future of Computing
  3. 6.1 Intro to the Internet
  4. 6.7 The Impact of the Internet
  5. 7.1 Project: The Effects of the Internet
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.
  1. 6.1 Intro to the Internet
  2. 6.7 The Impact of the Internet
  3. 7.1 Project: The Effects of the Internet
2-NI-04
Model the role of protocols in transmitting data across networks and the Internet.
  1. 6.1 Intro to the Internet
  2. 6.2 Internet Hardware
  3. 6.3 Internet Addresses
  4. 6.4 DNS
  5. 6.5 Routing
  6. 6.6 Packets and Protocols
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. 13.1 Functions Challenges
  2. 21.2 Random Circles
  3. 21.3 Random Ghosts
  4. 21.4 Bouncing Ball
  5. 21.9 Crazy Ball Game
  6. 23.1 Breakout
  7. 27.1 Fun Snake
  8. 28.1 Conway's Game of Life
  9. 28.2 Connect Four
  10. 29.1 Evolution Simulation
  11. 32.1 Visualizing Music
  12. 33.8 Intro to Objects/Maps
  13. 33.11 When Do I Use an Object?
  14. 34.1 Tic Tac Toe
  15. 35.1 Game Design: Helicopter
3A-AP-14
Use lists to simplify solutions, generalizing computational problems instead of repeatedly using simple variables.
  1. 29.1 Evolution Simulation
  2. 33.1 Intro to Lists/Arrays
  3. 33.2 Indexing Into an Array
  4. 33.3 Adding/Removing From an Array
  5. 33.4 Array Length and Looping Through Arrays
  6. 33.5 Iterating Over an Array
  7. 33.6 Finding an Element in a List
  8. 33.7 Removing an Element From an Array
  9. 33.8 Intro to Objects/Maps
  10. 33.9 Basics of Objects
  11. 33.10 Iterating Over an Object
  12. 33.11 When Do I Use an Object?
  13. 33.12 Intro to Sets
  14. 33.13 Intro to Grids
  15. 33.14 Looping Over a Grid
  16. 33.15 Grid Example: Get a Row
  17. 33.16 Data Structures Challenges
  18. 35.1 Game Design: Helicopter
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.
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. 21.5 Mouse Events: Mouse Clicked
  2. 21.6 Mouse Events: Mouse Moved
  3. 21.8 Key Events
  4. 21.9 Crazy Ball Game
  5. 23.1 Breakout
  6. 27.1 Fun Snake
  7. 28.1 Conway's Game of Life
  8. 28.2 Connect Four
  9. 29.1 Evolution Simulation
  10. 32.1 Visualizing Music
  11. 33.16 Data Structures Challenges
  12. 34.1 Tic Tac Toe
  13. 35.1 Game Design: Helicopter
3A-AP-17
Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects.
  1. 1.4 Functions in Karel
  2. 1.5 The Start Function
  3. 1.6 Top Down Design and Decomposition in Karel
  4. 1.7 Commenting Your Code
  5. 1.8 Super Karel
  6. 1.9 For Loops
  7. 1.10 If Statements
  8. 1.11 If/Else Statements
  9. 1.12 While Loops in Karel
  10. 1.13 Control Structures Example
  11. 1.14 More Karel Examples and Testing
  12. 1.15 How to Indent Your Code
  13. 2.1 Challenge Problems
  14. 8.2 Hello World
  15. 8.3 Variables
  16. 8.4 User Input
  17. 8.5 Basic Math in JavaScript
  18. 8.6 Using Graphics in JavaScript
  19. 10.1 Booleans
  20. 10.2 Logical Operators
  21. 10.3 Comparison Operators
  22. 10.4 If Statements
  23. 10.5 For Loops in JavaScript
  24. 10.6 General For Loops
  25. 10.7 For Loop Practice
  26. 10.8 Random Numbers
  27. 10.9 While Loops
  28. 10.10 Loop and a Half
  29. 12.1 Functions and Parameters 1
  30. 12.2 Functions and Parameters 2
  31. 12.3 Functions and Parameters 3
  32. 12.4 Functions and Return Values 1
  33. 12.5 Functions and Return Values 2
  34. 12.6 Local Variables and Scope
  35. 13.1 Functions Challenges
  36. 20.1 Extra Karel Practice
  37. 21.1 Timers
  38. 21.2 Random Circles
  39. 21.3 Random Ghosts
  40. 21.4 Bouncing Ball
  41. 21.5 Mouse Events: Mouse Clicked
  42. 21.6 Mouse Events: Mouse Moved
  43. 21.7 Drawing Lines
  44. 21.8 Key Events
  45. 21.9 Crazy Ball Game
  46. 23.1 Breakout
  47. 25.1 Functions and Parameters Practice
  48. 26.1 Prime Numbers
  49. 27.1 Fun Snake
  50. 27.2 Fun Graphics Challenges
  51. 28.1 Conway's Game of Life
  52. 28.2 Connect Four
  53. 29.1 Evolution Simulation
  54. 32.1 Visualizing Music
  55. 33.1 Intro to Lists/Arrays
  56. 33.2 Indexing Into an Array
  57. 33.3 Adding/Removing From an Array
  58. 33.4 Array Length and Looping Through Arrays
  59. 33.5 Iterating Over an Array
  60. 33.6 Finding an Element in a List
  61. 33.7 Removing an Element From an Array
  62. 33.8 Intro to Objects/Maps
  63. 33.9 Basics of Objects
  64. 33.10 Iterating Over an Object
  65. 33.11 When Do I Use an Object?
  66. 33.12 Intro to Sets
  67. 33.13 Intro to Grids
  68. 33.14 Looping Over a Grid
  69. 33.15 Grid Example: Get a Row
  70. 33.16 Data Structures Challenges
  71. 34.1 Tic Tac Toe
  72. 35.1 Game Design: Helicopter
3A-AP-18
Create artifacts by using procedures within a program, combinations of data and procedures, or independent but interrelated programs.
  1. 1.1 Introduction to Programming With Karel
  2. 1.2 More Basic Karel
  3. 1.3 Karel Can't Turn Right
  4. 1.4 Functions in Karel
  5. 1.5 The Start Function
  6. 1.6 Top Down Design and Decomposition in Karel
  7. 1.7 Commenting Your Code
  8. 1.8 Super Karel
  9. 1.9 For Loops
  10. 1.10 If Statements
  11. 1.11 If/Else Statements
  12. 8.6 Using Graphics in JavaScript
  13. 21.1 Timers
  14. 21.2 Random Circles
  15. 21.3 Random Ghosts
  16. 21.4 Bouncing Ball
  17. 21.5 Mouse Events: Mouse Clicked
  18. 21.6 Mouse Events: Mouse Moved
  19. 21.7 Drawing Lines
  20. 21.8 Key Events
  21. 21.9 Crazy Ball Game
  22. 23.1 Breakout
  23. 27.1 Fun Snake
  24. 27.2 Fun Graphics Challenges
  25. 28.1 Conway's Game of Life
  26. 28.2 Connect Four
  27. 29.1 Evolution Simulation
  28. 32.1 Visualizing Music
  29. 33.16 Data Structures Challenges
  30. 34.1 Tic Tac Toe
  31. 35.1 Game Design: Helicopter
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. 1.7 Commenting Your Code
  2. 1.8 Super Karel
  3. 1.9 For Loops
  4. 1.10 If Statements
  5. 1.11 If/Else Statements
  6. 1.12 While Loops in Karel
  7. 1.13 Control Structures Example
  8. 1.14 More Karel Examples and Testing
  9. 1.15 How to Indent Your Code
  10. 2.1 Challenge Problems
  11. 8.2 Hello World
  12. 8.3 Variables
  13. 8.4 User Input
  14. 8.5 Basic Math in JavaScript
  15. 8.6 Using Graphics in JavaScript
  16. 10.1 Booleans
  17. 10.2 Logical Operators
  18. 10.3 Comparison Operators
  19. 10.4 If Statements
  20. 10.5 For Loops in JavaScript
  21. 10.6 General For Loops
  22. 10.7 For Loop Practice
  23. 10.8 Random Numbers
  24. 10.9 While Loops
  25. 10.10 Loop and a Half
  26. 12.1 Functions and Parameters 1
  27. 12.2 Functions and Parameters 2
  28. 12.3 Functions and Parameters 3
  29. 12.4 Functions and Return Values 1
  30. 12.5 Functions and Return Values 2
  31. 12.6 Local Variables and Scope
  32. 13.1 Functions Challenges
  33. 20.1 Extra Karel Practice
  34. 21.1 Timers
  35. 21.2 Random Circles
  36. 21.3 Random Ghosts
  37. 21.4 Bouncing Ball
  38. 21.5 Mouse Events: Mouse Clicked
  39. 21.6 Mouse Events: Mouse Moved
  40. 21.7 Drawing Lines
  41. 21.8 Key Events
  42. 21.9 Crazy Ball Game
  43. 23.1 Breakout
  44. 24.1 Extra Karel Puzzles
  45. 25.1 Functions and Parameters Practice
  46. 26.1 Prime Numbers
  47. 27.1 Fun Snake
  48. 27.2 Fun Graphics Challenges
  49. 28.1 Conway's Game of Life
  50. 28.2 Connect Four
  51. 29.1 Evolution Simulation
  52. 32.1 Visualizing Music
  53. 33.1 Intro to Lists/Arrays
  54. 33.2 Indexing Into an Array
  55. 33.3 Adding/Removing From an Array
  56. 33.4 Array Length and Looping Through Arrays
  57. 33.5 Iterating Over an Array
  58. 33.6 Finding an Element in a List
  59. 33.7 Removing an Element From an Array
  60. 33.8 Intro to Objects/Maps
  61. 33.9 Basics of Objects
  62. 33.10 Iterating Over an Object
  63. 33.11 When Do I Use an Object?
  64. 33.12 Intro to Sets
  65. 33.13 Intro to Grids
  66. 33.14 Looping Over a Grid
  67. 33.15 Grid Example: Get a Row
  68. 33.16 Data Structures Challenges
  69. 34.1 Tic Tac Toe
  70. 35.1 Game Design: Helicopter
3A-CS-01
Explain how abstractions hide the underlying implementation details of computing systems embedded in everyday objects.
  1. 1.8 Super Karel
3A-CS-02
Compare levels of abstraction and interactions between application software, system software, and hardware layers.
  1. 4.2 Computer Organization
  2. 4.3 Software
  3. 4.4 Hardware
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.
  1. 5.1 Intro to Digital Information
  2. 5.2 Number Systems
  3. 5.3 Encoding Text with Binary
  4. 5.4 Pixel Images
  5. 5.5 Hexadecimal
  6. 5.6 Pixel Colors!
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.
  1. 1.17 Computer Science Careers
3A-IC-26
Demonstrate ways a given algorithm applies to problems across disciplines.
  1. 1.17 Computer Science Careers
3A-IC-27
Use tools and methods for collaboration on a project to increase connectivity of people in different cultures and career fields.
  1. 9.1 Collaborative Programming
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.
  1. 4.5 Future of Computing
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. 10.2 Logical Operators
  2. 10.3 Comparison Operators
  3. 10.4 If Statements
  4. 10.5 For Loops in JavaScript
  5. 10.6 General For Loops
  6. 10.7 For Loop Practice
  7. 10.8 Random Numbers
  8. 10.9 While Loops
  9. 10.10 Loop and a Half
  10. 12.1 Functions and Parameters 1
  11. 12.2 Functions and Parameters 2
  12. 12.3 Functions and Parameters 3
  13. 12.4 Functions and Return Values 1
  14. 12.5 Functions and Return Values 2
  15. 13.1 Functions Challenges
  16. 20.1 Extra Karel Practice
  17. 21.3 Random Ghosts
  18. 21.4 Bouncing Ball
  19. 21.5 Mouse Events: Mouse Clicked
  20. 21.6 Mouse Events: Mouse Moved
  21. 21.8 Key Events
  22. 23.1 Breakout
  23. 24.1 Extra Karel Puzzles
  24. 25.1 Functions and Parameters Practice
  25. 26.1 Prime Numbers
  26. 27.1 Fun Snake
  27. 27.2 Fun Graphics Challenges
  28. 28.1 Conway's Game of Life
  29. 28.2 Connect Four
  30. 29.1 Evolution Simulation
  31. 32.1 Visualizing Music
  32. 33.5 Iterating Over an Array
  33. 33.6 Finding an Element in a List
  34. 33.7 Removing an Element From an Array
  35. 33.10 Iterating Over an Object
  36. 33.11 When Do I Use an Object?
  37. 33.12 Intro to Sets
  38. 33.13 Intro to Grids
  39. 33.15 Grid Example: Get a Row
  40. 33.16 Data Structures Challenges
  41. 34.1 Tic Tac Toe
  42. 35.1 Game Design: Helicopter
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. 1.3 Karel Can't Turn Right
  2. 1.4 Functions in Karel
  3. 1.5 The Start Function
  4. 1.6 Top Down Design and Decomposition in Karel
  5. 1.7 Commenting Your Code
  6. 1.8 Super Karel
  7. 1.9 For Loops
  8. 1.10 If Statements
  9. 1.11 If/Else Statements
  10. 1.12 While Loops in Karel
  11. 1.13 Control Structures Example
  12. 1.14 More Karel Examples and Testing
  13. 1.15 How to Indent Your Code
  14. 2.1 Challenge Problems
  15. 12.1 Functions and Parameters 1
  16. 12.2 Functions and Parameters 2
  17. 12.3 Functions and Parameters 3
  18. 12.4 Functions and Return Values 1
  19. 12.5 Functions and Return Values 2
  20. 13.1 Functions Challenges
  21. 20.1 Extra Karel Practice
  22. 21.2 Random Circles
  23. 21.3 Random Ghosts
  24. 21.4 Bouncing Ball
  25. 21.5 Mouse Events: Mouse Clicked
  26. 21.6 Mouse Events: Mouse Moved
  27. 21.7 Drawing Lines
  28. 21.8 Key Events
  29. 21.9 Crazy Ball Game
  30. 23.1 Breakout
  31. 24.1 Extra Karel Puzzles
  32. 25.1 Functions and Parameters Practice
  33. 26.1 Prime Numbers
  34. 27.1 Fun Snake
  35. 27.2 Fun Graphics Challenges
  36. 28.1 Conway's Game of Life
  37. 28.2 Connect Four
  38. 29.1 Evolution Simulation
  39. 32.1 Visualizing Music
  40. 33.4 Array Length and Looping Through Arrays
  41. 33.5 Iterating Over an Array
  42. 33.6 Finding an Element in a List
  43. 33.7 Removing an Element From an Array
  44. 33.8 Intro to Objects/Maps
  45. 33.9 Basics of Objects
  46. 33.10 Iterating Over an Object
  47. 33.11 When Do I Use an Object?
  48. 33.12 Intro to Sets
  49. 33.13 Intro to Grids
  50. 33.14 Looping Over a Grid
  51. 33.15 Grid Example: Get a Row
  52. 33.16 Data Structures Challenges
  53. 34.1 Tic Tac Toe
  54. 35.1 Game Design: Helicopter
3B-AP-15
Analyze a large-scale computational problem and identify generalizable patterns that can be applied to a solution.
3B-AP-16
Demonstrate code reuse by creating programming solutions using libraries and APIs.
  1. 1.1 Introduction to Programming With Karel
  2. 1.2 More Basic Karel
  3. 1.3 Karel Can't Turn Right
  4. 1.4 Functions in Karel
  5. 1.5 The Start Function
  6. 1.6 Top Down Design and Decomposition in Karel
  7. 1.7 Commenting Your Code
  8. 1.8 Super Karel
  9. 1.9 For Loops
  10. 1.10 If Statements
  11. 1.11 If/Else Statements
  12. 1.12 While Loops in Karel
  13. 1.13 Control Structures Example
  14. 1.14 More Karel Examples and Testing
  15. 1.15 How to Indent Your Code
  16. 2.1 Challenge Problems
  17. 8.2 Hello World
  18. 8.3 Variables
  19. 8.4 User Input
  20. 8.5 Basic Math in JavaScript
  21. 8.6 Using Graphics in JavaScript
  22. 10.1 Booleans
  23. 10.2 Logical Operators
  24. 10.3 Comparison Operators
  25. 10.4 If Statements
  26. 10.5 For Loops in JavaScript
  27. 10.6 General For Loops
  28. 10.7 For Loop Practice
  29. 10.8 Random Numbers
  30. 10.9 While Loops
  31. 10.10 Loop and a Half
  32. 12.1 Functions and Parameters 1
  33. 12.2 Functions and Parameters 2
  34. 12.3 Functions and Parameters 3
  35. 12.4 Functions and Return Values 1
  36. 12.5 Functions and Return Values 2
  37. 12.6 Local Variables and Scope
  38. 13.1 Functions Challenges
  39. 20.1 Extra Karel Practice
  40. 21.1 Timers
  41. 21.2 Random Circles
  42. 21.3 Random Ghosts
  43. 21.4 Bouncing Ball
  44. 21.5 Mouse Events: Mouse Clicked
  45. 21.6 Mouse Events: Mouse Moved
  46. 21.7 Drawing Lines
  47. 21.8 Key Events
  48. 21.9 Crazy Ball Game
  49. 23.1 Breakout
  50. 24.1 Extra Karel Puzzles
  51. 25.1 Functions and Parameters Practice
  52. 26.1 Prime Numbers
  53. 27.1 Fun Snake
  54. 27.2 Fun Graphics Challenges
  55. 28.1 Conway's Game of Life
  56. 28.2 Connect Four
  57. 29.1 Evolution Simulation
  58. 32.1 Visualizing Music
  59. 33.1 Intro to Lists/Arrays
  60. 33.2 Indexing Into an Array
  61. 33.3 Adding/Removing From an Array
  62. 33.4 Array Length and Looping Through Arrays
  63. 33.5 Iterating Over an Array
  64. 33.6 Finding an Element in a List
  65. 33.7 Removing an Element From an Array
  66. 33.8 Intro to Objects/Maps
  67. 33.9 Basics of Objects
  68. 33.10 Iterating Over an Object
  69. 33.11 When Do I Use an Object?
  70. 33.12 Intro to Sets
  71. 33.13 Intro to Grids
  72. 33.14 Looping Over a Grid
  73. 33.15 Grid Example: Get a Row
  74. 33.16 Data Structures Challenges
  75. 34.1 Tic Tac Toe
  76. 35.1 Game Design: Helicopter
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.
  1. 21.1 Timers
  2. 21.2 Random Circles
  3. 21.3 Random Ghosts
  4. 21.4 Bouncing Ball
  5. 21.5 Mouse Events: Mouse Clicked
  6. 21.6 Mouse Events: Mouse Moved
  7. 21.7 Drawing Lines
  8. 21.8 Key Events
  9. 21.9 Crazy Ball Game
  10. 23.1 Breakout
  11. 27.1 Fun Snake
  12. 27.2 Fun Graphics Challenges
  13. 28.1 Conway's Game of Life
  14. 28.2 Connect Four
  15. 32.1 Visualizing Music
  16. 34.1 Tic Tac Toe
  17. 35.1 Game Design: Helicopter
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.
  1. 4.5 Future of Computing
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.