CSTA 2017 Standards Reference

What this is. A locally built index of the CSTA K-12 Computer Science Standards, Revised 2017 (Computer Science Teachers Association) -- Level 2 (grades 6-8) and, merged into one 9-12 band, Levels 3A (grades 9-10, required of all students) and 3B (grades 11-12, elective/specialty, marked as such below), for linking from standards-alignment work. What this is not. Original paraphrases, not CSTA's text; only codes are reproduced as-is. See _standards/crosswalk-castandards-csta2017.json for how these compare to California's own K-12 CS standards -- most match closely, but a few diverge in wording or don't correspond to any single CA standard.

#AP Algorithms & Programming

#2-AP-10

A problem too complex to solve on the spot can still be organized into an algorithm using a flowchart or pseudocode, even before any real code gets written.

  • Code.org's CS Discoveries (Units 1-2): Unit 1 (Unit 1 - Problem Solving and Computing)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 1 ('Lesson 6: Processing', 'Lesson 7: Storage', 'Lesson 8: Project - Propose an App').
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 3b ('Lesson 2: Plotting Shapes', 'Lesson 28: Project - Design a Game').

#2-AP-11

A variable is a named container whose contents can change, and naming it clearly is what makes the operations you perform on it make sense later.

  • Bootstrap:Algebra: Chapter 4 (Game Design), Chapter 5 (Simple Data Types), Chapter 9 (Defining Values)
    Naming variables clearly runs through "Game Design," "Simple Data Types," and especially "Defining Values," which is this standard by name.
  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit 7.2 (Local Variables)
    This carrier's own inference, mirroring 6-8.AP.11 above (crosswalk strength: strong).
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 3b (22 lessons, from 'Lesson 5: Variables' onward).

#2-AP-12

Nesting loops inside each other, or combining conditions with AND/OR/NOT, lets a program handle situations a single loop or single condition never could, and getting there takes iteration, not one pass.

  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit 3.2 (Conditionals (if Statements)), Unit 4.1 (More Conditionals (if-elif-else Statements)), Unit 5.1 (Complex Conditionals), Unit 7.3 (For Loops), Unit 8.3 (Nested For Loops)
    This carrier's own inference, mirroring 6-8.AP.12 above (crosswalk strength: strong).
  • Code.org's CS Discoveries (Unit 3a: Music Lab): Unit 3 (Unit 3a - Programming with Music Lab)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 3a (12 lessons, from 'Sequencing - Explore' onward).
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 3b (17 lessons, from 'Lesson 10: Text' onward).

#2-AP-13

Breaking a problem into subproblems, and those into still smaller parts, is what lets a team, or just one person, focus on one piece of a program at a time.

  • Bootstrap:Algebra: Chapter 4 (Game Design), Chapter 21 (Problem Decomposition)
    "Problem Decomposition" is this standard's own name; "Game Design" also has students break a game concept into pieces before building it.
  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit 3.3 (Helper Functions)
    This carrier's own inference, mirroring 6-8.AP.13 above (crosswalk strength: strong).
  • Code.org's CS Discoveries (Units 1-2): Unit 2 (Unit 2 - Web Development)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 2 ('Lesson 12: Organizing Content with Flexbox', 'Lesson 13: Flexbox Children for More Control', 'Lesson 19: Planning a Multi-Page Site').
  • Code.org's CS Discoveries (Unit 3a: Music Lab): Unit 3 (Unit 3a - Programming with Music Lab)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 3a (12 lessons, from 'Sequencing - Explore' onward).
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 3b (27 lessons, from 'Lesson 1: Programming for a Purpose' onward).

#2-AP-14

A procedure that repeats the same instructions can be generalized with a parameter, so one instruction like "drawCircle" can produce circles of any size instead of just one.

  • Bootstrap:Algebra: Chapter 8 (Function Composition)
    "Function Composition" generalizes repeated image-transformation steps into reusable functions -- this standard's own parameterization idea.
  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit 2.1 (Functions), Unit 3.3 (Helper Functions), Unit 4.3 (Methods)
    This carrier's own inference, mirroring 6-8.AP.14 above (crosswalk strength: strong).
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 3b ('Lesson 25: Functions').

#2-AP-15

A program only ends up meeting user needs if you actually go get feedback from teammates and users along the way and let it change your design.

  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit creative-task (Creative Task (every unit, 1-10))
    This carrier's own inference, mirroring 6-8.AP.15 above (crosswalk strength: strong), same feedback-step caveat.
  • Code.org's CS Discoveries (Units 1-2): Unit 1 (Unit 1 - Problem Solving and Computing), Unit 2 (Unit 2 - Web Development)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 1 ('Lesson 8: Project - Propose an App'); Unit 2 (6 lessons, from 'Lesson 14: Chapter 1 Project' onward).
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 3b ('Lesson 18: Project - Interactive Card', 'Lesson 28: Project - Design a Game').

#2-AP-16

Building on someone else's code, image, or library is a normal part of making something more interesting, as long as you credit where each piece came from.

  • Code.org's CS Discoveries (Units 1-2): Unit 2 (Unit 2 - Web Development)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 2 (9 lessons, from 'Lesson 6: Styling Text with CSS' onward).
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 3b (14 lessons, from 'Lesson 8: Sprites' onward).

#2-AP-17

Testing a program well means deliberately trying inputs you expect to break it, like zero or a negative number, not just the input you expect to work.

  • Bootstrap:Algebra: Chapter 3 (Project: Build a Video Game), Chapter 28 (Collision Detection — Distance and Inequality)
    The video-game project and collision detection both require testing a program (does the character correctly stay on screen, is a collision correctly detected) against cases designed to find bugs.
  • Code.org's CS Discoveries (Units 1-2): Unit 1 (Unit 1 - Problem Solving and Computing), Unit 2 (Unit 2 - Web Development)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 1 ('Lesson 6: Processing'); Unit 2 (7 lessons, from 'Lesson 11: CSS Classes' onward).
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 3b (26 lessons, from 'Lesson 2: Plotting Shapes' onward).

#2-AP-18

A team project runs on assigned roles and a shared timeline, not just everyone quietly working on whatever part they feel like.

  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit collaborative (Collaborative task (every unit))
    This carrier's own inference, mirroring 6-8.AP.18 above (crosswalk strength: strong).
  • Code.org's CS Discoveries (Units 1-2): Unit 1 (Unit 1 - Problem Solving and Computing), Unit 2 (Unit 2 - Web Development)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 1 ('Lesson 8: Project - Propose an App'); Unit 2 (4 lessons, from 'Lesson 15: Team Problem Solving' onward).
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 3b ('Lesson 18: Project - Interactive Card', 'Lesson 28: Project - Design a Game').
  • Kagan Cooperative Learning — Teambuilding: Unit Team Projects (Team Projects) (related)
    Echoes Team Projects' own step list -- assigned roles and a shared timeline, not everyone quietly working on their own piece -- but this CSTA standard lives in a programming course and Team Projects' example deliverables aren't software, and the match is a single structural beat, not taught content.

#2-AP-19

Documentation, like a project overview or comments in the code, is what lets someone else actually follow, test, and debug a program you wrote.

  • Bootstrap:Algebra: Chapter 7 (Contracts for Strings and Images), Chapter 16 (Functions: Contracts, Examples & Definitions)
    "Contracts for Strings and Images" and "Functions: Contracts, Examples & Definitions" both teach documenting a function's name, domain, and range so someone else can use it correctly.
  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit creative-task (Creative Task (every unit, 1-10))
    This carrier's own inference, mirroring 6-8.AP.19 above (crosswalk strength: strong).
  • Code.org's CS Discoveries (Units 1-2): Unit 2 (Unit 2 - Web Development)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 2 (11 lessons, from 'Lesson 6: Styling Text with CSS' onward).
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 3b (23 lessons, from 'Lesson 3: Drawing in Game Lab' onward).

#3A-AP-13

Building a prototype around a problem that actually interests you is a legitimate way to practice applying an algorithm, not just a classroom exercise.

  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit 8 (Math Functions, Random Values, and Nested Loops), Unit 11 (2D Lists and Board Games)
    CMU's own claim, from the CSTA alignment table in CS1's course description PDF. Same evidence as 9-12.AP.12 above, via the castandards-csta2017 crosswalk (strength: partial).
  • CodeHS' Intro to JavaScript: Unit 2 (Karel Challenges), Unit 5 (Graphics Challenges), Unit 7 (Control Structures Challenges), Unit 9 (Functions Challenges), Unit 11 (Animations Challenges) (related)
    Read directly against CSTA's own text: 3A-AP-13 is specifically about prototyping around a problem that interests you personally, not just applying a known algorithm to an assigned problem. Corgi's challenge units (2, 5, 7, 9, 11) are larger, course-designed problems built on algorithms already introduced, not open, student-chosen prototypes -- the self-directed-prototype practice this standard actually asks for isn't evidenced, unlike CMU's Creative Task. Downgraded from the castandards-csta2017 crosswalk's 'partial' after this direct read; the crosswalk itself already flagged this code's fit with CA's 9-12.AP.12 as 'partial' for the same reason.
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games) (related)
    This carrier's own 9-12 reading, not a code.org claim: Lesson 28 (Project - Design a Game) has students independently scope and build a game of their own choosing rather than a prescribed one -- a real, if lower-stakes, instance of practicing a problem-solving process on something that interests you.

#3A-AP-14

When several near-identical variables start to pile up, a list lets you generalize the pattern instead of repeating nearly the same code for each one.

  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit 10.1 (Lists), Unit 10.2 (List Methods), Unit 11.1 (2D Lists)
    CMU's own claim, from the CSTA alignment table in CS1's course description PDF. Same evidence as 9-12.AP.13 above (crosswalk strength: strong).
  • Carnegie Mellon's AP CSP in Python: Unit 3 (Unit 3: Groups, Lists, and Loops)
    Mechanically derived from this carrier's own 9-12.AP.13 entry via the castandards-csta2017 crosswalk (strength: strong) -- not independently checked against a CMU or CSTA source document.
  • CodeHS' Intro to JavaScript: Unit optional-extension (Optional extension: Data Structures) (related)
    Read directly against CSTA's own text: 3A-AP-14's list-generalizes-near-identical-variables framing matches what the optional Data Structures extension teaches. Same caveat as 9-12.AP.13 above: the extension is sequenced after the final project and the final exam doesn't touch it.
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): not covered
    Same gap as this carrier's castandards 9-12.AP.13 and csta2026 HS-PRO-VD-16 entries, all three catalogs' version of the same real missing content: Unit 3b's variables are always single scalar values, never a list.
  • Harvard's CS50-Python (Weeks 0-8): Unit 2 (Lecture 2: Loops, Lists, Dictionaries)
    Read directly against CSTA's own text: lists replacing near-identical variables matches week 2's Lists and Dictionaries material directly. Same evidence as 9-12.AP.13 above.
  • Working in Python (a jupyter notebook): Chapter 9 (Lists)
    Read directly against CSTA's own text: Chapter 9 (Lists) is a direct match for lists replacing near-identical variables. Same evidence as 9-12.AP.13 above.

#3A-AP-15

Picking one control structure over another, like a loop instead of recursion, is a real design decision with tradeoffs in readability and performance that you should be able to defend.

  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit 3.2 (Conditionals (if Statements)), Unit 4.1 (More Conditionals (if-elif-else Statements)), Unit 5.1 (Complex Conditionals), Unit 7.3 (For Loops), Unit 8.3 (Nested For Loops), Unit 9.4 (While Loops (Unit 9 is optional)), Unit creative-task (Creative Task (every unit, 1-10))
    Not claimed in either of CMU's own documents. Same evidence and argument as 9-12.AP.14 above -- this teacher's own classroom analysis, not CMU's claim.
  • Carnegie Mellon's AP CSP in Python: Unit 2 (Unit 2: Functions, Mouse Events, Conditionals), Unit 4 (Unit 4: Complex Conditionals, More Events, and Libraries), Unit test-prep (Optional: AP Test Prep)
    Mechanically derived from this carrier's own 9-12.AP.14 entry via the castandards-csta2017 crosswalk (strength: strong).
  • CodeHS' Intro to JavaScript: Unit 1 (Programming with Karel), Unit 6 (JavaScript Control Structures), Unit 7 (Control Structures Challenges) (related)
    Read directly against CSTA's own text: 3A-AP-15 specifically asks students to defend a control-structure choice on readability/performance tradeoffs, not just use control structures. Corgi's unit list (Karel in 1, JavaScript control structures in 6-7) shows the constructs being taught, but nothing in the syllabus evidences an explicit justify-your-choice requirement the way CMU's Creative Task design sheet does. Downgraded from the crosswalk's inherited 'strong' after this direct read.
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games) (related)
    This carrier's own 9-12 reading, parallel to this carrier's castandards 9-12.AP.14 entry: loops (the draw loop, the counter pattern) and conditionals (Lesson 15, keyboard/mouse input) are both put to real use in the same programs, without the unit framing the choice between them as its own design decision.
  • Harvard's CS50-Python (Weeks 0-8): Unit 1 (Lecture 1: Conditionals)
    Read directly against CSTA's own text: if/elif/else vs. match is a real, explicit choice between control structures in week 1's own material, matching CSTA's justify-the-tradeoffs framing directly. Same evidence as 9-12.AP.14 above.
  • Working in Python (a jupyter notebook): Chapter 5 (Conditionals and Recursion), Chapter 6 (Return Values)
    Read directly against CSTA's own text: the iterative-vs-recursive Fibonacci comparison across Chapter 5/Chapter 6 is exactly picking one control structure over another and weighing the tradeoff, matching CSTA's own defend-your-choice framing directly. Same evidence as 9-12.AP.14 above.

#3A-AP-16

An event, like a button press or a location change, can trigger a procedure, which is how real apps built for a practical purpose or a social issue actually respond to their users.

  • Bootstrap:Algebra: Chapter 20 (Functions for Character Animation), Chapter 24 (Sam the Butterfly — Applying Inequalities), Chapter 26 (Player Animation)
    Character animation, keeping a character on screen by keypress, and piecewise player movement by keypress are all events triggering a procedure -- this standard's own definition of reactive programming.
  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit 2.2 (Mouse Events), Unit 3.1 (Mouse Motion Events), Unit 4.2 (Key Events), Unit 5.2 (More Key Events), Unit 6.3 (Step Events and Motion), Unit 12.1 (Final Project)
    CMU's own claim, from the CSTA alignment table in CS1's course description PDF. Same evidence as 9-12.AP.15 above (crosswalk strength: strong).
  • CodeHS' Intro to JavaScript: Unit 10 (Animation and Games), Unit 11 (Animations Challenges), Unit 12 (Project: Breakout) (partial)
    Read directly against CSTA's own text: an event like a button press or location change triggering a procedure matches Corgi's mouse/keyboard event handling in the animation and games units (10-12) directly. The standard's own 'built for a practical purpose or social issue' framing is extra context Corgi's game-style projects don't specifically aim at, which is why this stays partial rather than strong.
  • Code.org's CS Discoveries (Units 1-2): Unit 2 (Unit 2 - Web Development)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 2 ('Lesson 18: CSS Pseudo-classes').
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games) (partial)
    This carrier's own 9-12 reading, parallel to this carrier's castandards 9-12.AP.15 entry: Lesson 16 (Keyboard Input) and Lesson 17 (Mouse Input) have students write event-handler code that triggers a procedure in response to a keypress or click, directly matching this standard's own event-triggers-a-procedure framing, scoped to a game rather than a practical-purpose or social-issue app.

#3A-AP-17

Breaking a hard problem down systematically, into procedures, modules, or objects, is what makes it possible to reuse pieces that already exist instead of solving everything from scratch.

  • Bootstrap:Algebra: Chapter 21 (Problem Decomposition)
    "Problem Decomposition," at this course's upper grade band, breaking revenue/cost/profit into separate, reusable functions.
  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit 3.3 (Helper Functions)
    CMU's own claim, from the CSTA alignment table in CS1's course description PDF. Same evidence as 9-12.AP.16 above (crosswalk strength: strong).
  • Carnegie Mellon's AP CSP in Python: Unit 2 (Unit 2: Functions, Mouse Events, Conditionals)
    Mechanically derived from this carrier's own 9-12.AP.16 entry via the castandards-csta2017 crosswalk (strength: strong).
  • CodeHS' Intro to JavaScript: Unit 1 (Programming with Karel), Unit 2 (Karel Challenges) (partial)
    Read directly against CSTA's own text: decomposing systematically into procedures, modules, or objects to reuse existing pieces matches Karel's top-down design (units 1-2) reasonably well.
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games) (partial)
    This carrier's own 9-12 reading, parallel to this carrier's castandards 9-12.AP.16 entry: Lesson 25 (Functions) decomposes a program into named, reusable pieces. The unit never reaches the modules/objects or reuse-code-that-already-exists half of this standard -- every program here is built from scratch in a single file.
  • Harvard's CS50-Python (Weeks 0-8): Unit 0 (Lecture 0: Functions, Variables, Strings, def), Unit 8 (Lecture 8: Object-Oriented Programming)
    Read directly against CSTA's own text: functions (week 0) and classes (week 8) are both named, explicit decomposition into reusable procedures and objects. Same evidence as 9-12.AP.16 above.
  • Working in Python (a jupyter notebook): Chapter 3 (Functions), Chapter 4 (Functions and Interfaces) (partial)
    Read directly against CSTA's own text: Chapter 3/Chapter 4's function-decomposition material carries the procedure half of this standard directly. The classes material (chapters 14-19) that would carry the object half is independent-study/post-AP-exam content, not part of the sequenced course, so this stays partial rather than strong, same caveat as 9-12.AP.16 above.

#3A-AP-18

A complex artifact is usually a system of smaller interacting pieces, whether that's procedures inside one program or several programs that work together, each with its own role.

  • Bootstrap:Algebra: Chapter 3 (Project: Build a Video Game) (partial)
    The full video-game project (player, danger, target, multiple functions working together) is plausibly a system of interacting pieces, but the course page's own description doesn't detail its architecture enough to confirm this specifically.
  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit 2.1 (Functions), Unit 4.3 (Methods), Unit 7.1 (New Shapes), Unit 10.3 (Return Values)
    Not in CMU's own CSTA alignment table, but CMU's separate California-specific document claims 9-12.AP.17 (modular design), which crosswalks strongly to this code -- a real inconsistency between CMU's two published documents, carried here on the strength of the California claim. Same evidence as 9-12.AP.17 above.
  • Carnegie Mellon's AP CSP in Python: Unit 4 (Unit 4: Complex Conditionals, More Events, and Libraries)
    Mechanically derived from this carrier's own 9-12.AP.17 entry via the castandards-csta2017 crosswalk (strength: strong).
  • CodeHS' Intro to JavaScript: Unit 1 (Programming with Karel), Unit 3 (JavaScript Basics), Unit 8 (Functions), Unit 9 (Functions Challenges) (partial)
    Read directly against CSTA's own text: a complex artifact as a system of interacting smaller pieces is a bigger claim than intro-level functions typically deliver alone. Corgi's functions across units 1, 3, 8, and 9 are real modular pieces, just not evidenced as an interacting system at the scale this standard's own wording implies.
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games) (related)
    This carrier's own 9-12 reading: once Lesson 25's functions and the sprite/event code around them are in play, a finished project (Lessons 26-28) is genuinely a system of smaller interacting pieces -- procedures inside one program, the half of this standard the unit actually reaches (it's never several programs working together).
  • Harvard's CS50-Python (Weeks 0-8): Unit 4 (Lecture 4: Libraries)
    Read directly against CSTA's own text: week 4's Libraries, Packages, and Making Your Own Libraries material is explicitly about building from code someone else wrote, matching CSTA's own 'including code someone else wrote' framing even more directly than CA's wording. Same evidence as 9-12.AP.17 above.
  • Working in Python (a jupyter notebook): Chapter 2 (Variables and Statements), Chapter 4 (Functions and Interfaces), Chapter 8 (Strings and Regular Expressions)
    Read directly against CSTA's own text: Chapter 2's import, Chapter 4's jupyturtle, and Chapter 8's re module are all building from code someone else wrote, matching CSTA's own 'including code someone else wrote' framing directly. Same evidence as 9-12.AP.17 above.

#3A-AP-19

Designing for a broad audience means building in a systematic way to actually collect feedback from a range of users, then revising based on what you hear.

  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit creative-task (Creative Task (every unit, 1-10))
    CMU's own claim, from the CSTA alignment table in CS1's course description PDF. Same evidence as 9-12.AP.18 above (crosswalk strength: strong), with the same feedback-step caveat.
  • Carnegie Mellon's AP CSP in Python: Unit 5 (Unit 5: Create Performance Task (supplemental, used with/in place of Code.org's own CPT unit))
    Mechanically derived from this carrier's own 9-12.AP.18 entry via the castandards-csta2017 crosswalk (strength: strong).
  • CodeHS' Intro to JavaScript: Unit 13 (Final Project) (related)
    Read directly against CSTA's own text: 3A-AP-19 specifically asks for systematic feedback collection from a range of users, not just an open-ended build. Corgi's unit 13 final project is a plausible place for that to happen, but nothing in the syllabus evidences a required feedback step -- the same gap CMU's own Creative Task rubric has for the parallel CA standard (9-12.AP.18 above). Downgraded from the crosswalk's inherited 'strong' after this direct read.
  • Code.org's CS Discoveries (Units 1-2): Unit 2 (Unit 2 - Web Development)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 2 ('Lesson 13: Flexbox Children for More Control', 'Lesson 18: CSS Pseudo-classes').
  • Code.org's CS Discoveries (Unit 3a: Music Lab): Unit 3 (Unit 3a - Programming with Music Lab)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 3a ('Introduction to Music Lab').
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games) (related)
    This carrier's own 9-12 reading, parallel to this carrier's castandards 9-12.AP.18 entry: the 'Peer Review' activity guides on both major projects (Lessons 18, 28) are a real, built-in way to collect feedback and revise, scoped to a classroom partner rather than this standard's own 'range of users.'

#3A-AP-20

Before you build on someone else's library, its license is worth reading closely, since different licenses restrict what you're allowed to do with the result in different ways.

  • Carnegie Mellon's Introduction to Programming with Python (High School): not covered
    Not taught in CS1, same as 9-12.AP.19 above -- software license limitations are deferred to AP CS Principles.
  • CodeHS' Intro to JavaScript: not covered
    Read directly against CSTA's own text, same conclusion as the crosswalk: software licensing isn't in Corgi's unit list, the same gap as 9-12.AP.19 above.
  • Code.org's CS Discoveries (Units 1-2): Unit 2 (Unit 2 - Web Development)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 2 ('Lesson 7: Intellectual Property', 'Lesson 8: Using Images').

#3A-AP-21

Testing and refining a program isn't just about fixing bugs, it's also the process that makes it more usable and accessible to the people who'll actually use it.

  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit creative-task (Creative Task (every unit, 1-10))
    CMU's own claim, from the CSTA alignment table in CS1's course description PDF. Same evidence as 9-12.AP.20 above (crosswalk strength: strong).
  • Carnegie Mellon's AP CSP in Python: Unit 5 (Unit 5: Create Performance Task (supplemental, used with/in place of Code.org's own CPT unit))
    Mechanically derived from this carrier's own 9-12.AP.20 entry via the castandards-csta2017 crosswalk (strength: strong).
  • CodeHS' Intro to JavaScript: Unit 13 (Final Project) (related)
    Read directly against CSTA's own text: 3A-AP-21 is specifically about usability and accessibility testing, narrower than general iterative refinement. Corgi's final project (13) is the one place this could happen, but the syllabus gives no evidence the testing there is usability- or accessibility-focused rather than just functional. Downgraded from the crosswalk's inherited 'strong' after this direct read.
  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 1 (Unit 1: Digital Information)
    code.org's own CSP-20 Unit 1 standards page -- the unit's device-design activity is an iterative testing/refining task even though the unit isn't primarily about programming.
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games) (related)
    This carrier's own 9-12 reading, parallel to this carrier's castandards 9-12.AP.20 entry: the same Peer Review + Student Checklist pairing drives revision aimed at more than correctness (the checklist covers whether the game is actually fun to play), without reaching the standard's own 'accessible to the people who'll actually use it' framing.
  • Harvard's CS50-Python (Weeks 0-8): Unit 5 (Lecture 5: Unit Tests) (partial)
    Read directly against CSTA's own text: week 5's Unit Tests and pytest material is real iterative testing, but CSTA's own standard is specifically about usability and accessibility, which week 5's material doesn't address. Same evidence as 9-12.AP.20 above, downgraded from strong on this narrower reading.
  • Working in Python (a jupyter notebook): Chapter 4 (Functions and Interfaces), Chapter 7 (Iteration and Search) (related)
    Read directly against CSTA's own text: Chapter 4's development plan and Chapter 7's doctest work are real iterative testing, but CSTA's own standard specifically names usability and accessibility, which neither chapter addresses, the same gap the 9-12.AP.20 note above already flags.

#3A-AP-22

Building something as a team means taking on a specific role and using real collaborative tools, like shared code or shared documents, not just splitting up the work informally.

  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit collaborative (Collaborative task (every unit))
    CMU's own claim, from the CSTA alignment table in CS1's course description PDF. Same evidence as 9-12.AP.21 above (crosswalk strength: strong).
  • Carnegie Mellon's AP CSP in Python: Unit 5 (Unit 5: Create Performance Task (supplemental, used with/in place of Code.org's own CPT unit))
    Mechanically derived from this carrier's own 9-12.AP.21 entry via the castandards-csta2017 crosswalk (strength: strong).
  • CodeHS' Intro to JavaScript: Unit 3 (JavaScript Basics), Unit 13 (Final Project) (related)
    Read directly against CSTA's own text: real collaborative tools and team roles matches the unit 3 driver/navigator lesson and whatever collaboration the final project (13) involves, but concentrated at the end of the course rather than built into the rhythm of every unit.
  • Kagan Cooperative Learning — Teambuilding: Unit Team Projects (Team Projects) (related)
    The 'taking on a specific role' half matches Team Projects directly, but the standard also names 'real collaborative tools, like shared code or shared documents,' which this book doesn't teach -- surfaced as related rather than genuine coverage.

#3A-AP-23

A complex program's design decisions need to be documented somehow, whether that's written notes, diagrams, a presentation, or a live demonstration, so the reasoning survives past the moment you made the choice.

  • Bootstrap:Algebra: Chapter 7 (Contracts for Strings and Images), Chapter 16 (Functions: Contracts, Examples & Definitions)
    Function contracts, examples, and definitions are exactly this standard's documentation of a design decision, so another student (or the original one, later) can follow it.
  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit creative-task (Creative Task (every unit, 1-10))
    CMU's own claim, from the CSTA alignment table in CS1's course description PDF. Same evidence as 9-12.AP.22 above (crosswalk strength: strong).
  • Carnegie Mellon's AP CSP in Python: Unit 5 (Unit 5: Create Performance Task (supplemental, used with/in place of Code.org's own CPT unit))
    Mechanically derived from this carrier's own 9-12.AP.22 entry via the castandards-csta2017 crosswalk (strength: strong).
  • CodeHS' Intro to JavaScript: Unit 13 (Final Project) (partial)
    Read directly against CSTA's own text: this standard accepts documentation in several forms (written notes, diagrams, a presentation, a demo). The final project's project-planning and pseudocode step (13) is a defensible match.
  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games) (related)
    This carrier's own 9-12 reading, parallel to this carrier's castandards 9-12.AP.22 entry: Lesson 1's Animation and Game Design Template and Lesson 28's planning objective both have students write a design down before building it -- a worksheet-level version of this standard's own 'documented somehow' bar.

#3B-AP-08

Level 3B: elective/specialty, not required of all students.

Artificial intelligence is already quietly running things like ad delivery, self-driving cars, and fraud detection, and it's worth being able to name where it shows up.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 9 (Unit 9: Data)
    code.org's own CSP-20 Unit 9 (Data) standards page. Level 3B (elective), no CA counterpart at all per the crosswalk.

#3B-AP-09

Level 3B: elective/specialty, not required of all students.

Building even a simple AI algorithm, enough to play tic-tac-toe or guess a number, is a concrete way to understand what "artificial intelligence" actually means underneath the term.

Unassigned

#3B-AP-10

Level 3B: elective/specialty, not required of all students.

Classic algorithms like sorting and searching aren't just theory, adapting one to fit your actual problem is a normal, practical move.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 6 (Unit 6: Algorithms)
    code.org's own CSP-20 Unit 6 (Algorithms) standards page. Level 3B (elective), no CA counterpart at all per the crosswalk.

#3B-AP-11

Level 3B: elective/specialty, not required of all students.

Comparing two algorithms for the same job means weighing all three of efficiency, correctness, and clarity, not just whichever one runs first.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 6 (Unit 6: Algorithms)
    code.org's own CSP-20 Unit 6 (Algorithms) standards page. Level 3B (elective), no CA counterpart at all per the crosswalk.
  • CS Unplugged: The Muddy City (related)
    Muddy City compares approaches (trying every possibility vs. a smart method) by how fast the work grows, without measuring real code.

#3B-AP-12

Level 3B: elective/specialty, not required of all students.

Fundamental data structures, strings, lists, stacks, queues, each fit some problems better than others, and choosing between them is a real design decision.

Unassigned

#3B-AP-13

Level 3B: elective/specialty, not required of all students.

Tracing exactly how a recursive algorithm calls itself and unwinds is what actually makes recursion click, more than just reading the definition.

Unassigned

#3B-AP-14

Level 3B: elective/specialty, not required of all students.

At this level you're expected to build your own components, procedures, modules, or objects, rather than only using ones handed to you.

  • Bootstrap:Algebra: Chapter 3 (Project: Build a Video Game), Chapter 12 (Making Game Images), Chapter 16 (Functions: Contracts, Examples & Definitions), Chapter 28 (Collision Detection — Distance and Inequality)
    Building one's own game components rather than only using provided ones runs through the project lessons -- the course overview's own framing is that students "program a videogame of their own design."

#3B-AP-15

Level 3B: elective/specialty, not required of all students.

A large, messy problem usually contains a smaller generalizable pattern, and finding it is what makes the problem solvable at all.

Unassigned

#3B-AP-16

Level 3B: elective/specialty, not required of all students.

Reaching for an existing library or API instead of rebuilding it yourself is a normal, expected way to solve a problem, not a shortcut to avoid.

Unassigned

#3B-AP-17

Level 3B: elective/specialty, not required of all students.

Building software for a real audience benefits from following an actual life cycle process, like agile, spiral, or waterfall, rather than just starting to code.

Unassigned

#3B-AP-18

Level 3B: elective/specialty, not required of all students.

Common weaknesses like missing bounds checks or weak input validation are exactly the kind of thing that turns an ordinary program into a compromised one.

Unassigned

#3B-AP-19

Level 3B: elective/specialty, not required of all students.

The same program idea often needs real changes to run correctly across different platforms, like desktop, web, and mobile.

Unassigned

#3B-AP-20

Level 3B: elective/specialty, not required of all students.

A group software project runs on real tooling, version control, an IDE, and documented code, not just splitting up files and hoping they merge.

Unassigned

#3B-AP-21

Level 3B: elective/specialty, not required of all students.

Verifying a program against its own design spec means writing your own deliberate series of test cases, not just running it once and eyeballing the result.

  • Bootstrap:Algebra: Chapter 19 (Solving Word Problems with the Design Recipe), Chapter 28 (Collision Detection — Distance and Inequality)
    The Design Recipe (word problems solved by writing test cases before the function body) and collision detection (verifying detection logic against its own spec) are this standard's own test-case-first practice, and match Bootstrap's own publicly documented pedagogy.

#3B-AP-22

Level 3B: elective/specialty, not required of all students.

Adding a feature to existing code can quietly break something else that depended on the old behavior, and that unintended consequence is worth discussing, not just the intended one.

  • Bootstrap:Algebra: Chapter 3 (Project: Build a Video Game), Chapter 28 (Collision Detection — Distance and Inequality) (partial)
    Adding collision detection to an already-working game (28) risks breaking existing behavior, a real but not explicitly named risk in the course page's own description.

#3B-AP-23

Level 3B: elective/specialty, not required of all students.

A code review is where qualities like correctness, readability, and scalability actually get evaluated, not just assumed because the program runs.

  • Code.org's CS Discoveries (Unit 3b: Animations & Games): Unit 4 (Unit 3b - Interactive Animations and Games) (related)
    This carrier's own 9-12 Specialty reading, parallel to this carrier's castandards 9-12S.AP.24 entry: the named 'Peer Review' activity guide on both major projects is a structured walk-a-partner-through-your-code step, introductory in rigor but a genuine instance of the practice.

#3B-AP-24

Level 3B: elective/specialty, not required of all students.

Different programming languages, block-based versus text, high-level versus low-level, genuinely suit different kinds of problems, and that's a real basis for choosing one.

Unassigned

#CS Computing Systems

#2-CS-01

Watching how people actually use a device, like a laptop or a controller you design yourself, is what turns "this feels clunky" into a specific, arguable improvement.

Unassigned

#2-CS-02

A project that collects and exchanges data needs hardware and software chosen together, weighing things like cost, size, speed, and how the pieces will actually connect.

  • Code.org's CS Discoveries (Units 1-2): Unit 1 (Unit 1 - Problem Solving and Computing)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 1 ('Lesson 8: Project - Propose an App').

#2-CS-03

A broken device might be failing because of something connected to it, not the device itself, so troubleshooting needs a structured process, not a guess.

Unassigned

#3A-CS-01

Devices you use every day, like a car stereo or a medical monitor, hide the implementation details behind a simpler interface, and you can reason about one without needing to understand the other.

Unassigned

#3A-CS-02

A computer's software stacks in layers, from the app you're using down through the operating system to the physical hardware, and each layer only needs to talk to the ones right next to it.

#3A-CS-03

Troubleshooting a hard problem is itself a skill worth writing down, so someone else can follow the same systematic process instead of guessing.

Unassigned

#3B-CS-01

Level 3B: elective/specialty, not required of all students.

An operating system juggles several distinct jobs at once, like memory management, storage, running processes, and access control, and it helps to be able to name which job is which.

Unassigned

#3B-CS-02

Level 3B: elective/specialty, not required of all students.

Logic, input, and output aren't abstract ideas, they're implemented in real hardware components like logic gates and I/O pins, and you can trace how.

Unassigned

#DA Data & Analysis

#2-DA-07

The exact same piece of data, like a color, can be written down as binary, as an RGB value, as a hex code, or in plain words, and switching between those representations is a skill in itself.

  • Carnegie Mellon's Introduction to Programming with Python (High School): Unit 9.1 (Types and Input (Unit 9 is optional)), Unit 9.2 (Strings (Unit 9 is optional))
    This carrier's own inference, mirroring 6-8.DA.7 above (crosswalk strength: strong); Unit 9 is optional in CMU's own pacing guide.
  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 1 (Unit 1: Digital Information)
    code.org's own CSP-20 Unit 1 standards page. A 6-8-band code cited for a 9-12 course -- carried as code.org's own claim, not this carrier's judgment.
  • porttack.com: Coding: Teaching Binary With Coins
    Even more literal than 3A-DA-09 above -- this MS-level standard names binary, an RGB value, and a hex code in one sentence, which is exactly the color-picker payoff: '#FFFFFF is white' by way of one byte, two hex digits, converted from binary and back.
  • CS Unplugged: Count the Dots: binary numbers, Secret Messages in ASCII, Pixel Pictures
    Representing data with more than one encoding: numbers as decimal, binary, and lights (Count the Dots); letters as numbers and bits (ASCII); pictures as pixels and run-length numbers (Pixel Pictures). Color (RGB, hex) isn't covered.

#2-DA-08

Data collected with a computational tool is rarely ready to use as-is; cleaning it up, like removing irrelevant responses from a survey, is what makes it actually useful and reliable.

Unassigned

#2-DA-09

A computational model gets better by comparing what it predicted against what actually happened, then adjusting the model based on that gap.

Unassigned

#3A-DA-09

The same real-world thing, a letter, a number, a color, can be represented in more than one bit-level encoding, and you should be able to convert between them.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 1 (Unit 1: Digital Information)
    code.org's own CSP-20 Unit 1 standards page.
  • porttack.com: Coding: Teaching Binary With Coins
    Direct match: 'the same real-world thing... can be represented in more than one bit-level encoding, and you should be able to convert between them' is the byte-to-hex-to-RGB chain this lesson builds, explicitly named in the post's own 'AP CSP alignment' section (representing the same value multiple ways and explaining the choice).
  • CS Unplugged: Count the Dots: binary numbers, Secret Messages in ASCII, Pixel Pictures
    Translating between bit-level representations of numbers (Count the Dots), letters (ASCII), and black-and-white images (Pixel Pictures), by hand in both directions.

#3A-DA-10

Where and how you store data, like locally versus in the cloud, involves real tradeoffs in cost, speed, and privacy, not just a technical preference.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 1 (Unit 1: Digital Information), Unit 9 (Unit 9: Data)
    code.org's own CSP-20 Unit 1 and Unit 9 standards pages both cite this.
  • Harvard's CS50-Python (Weeks 0-8): Unit 6 (Lecture 6: File I/O)
    Read directly against CSTA's own text: week 6's File I/O, CSV and Binary Files, and PIL material is literally about how and where data is organized and stored, matching CSTA's own local-vs-cloud-storage-tradeoffs framing. Same evidence as 9-12.DA.9 above.
  • Working in Python (a jupyter notebook): Interlude B (Representing Data, outline only) (partial)
    Read directly against CSTA's own text: interlude 7b's file-size-vs-quality tradeoffs across image formats is adjacent storage-tradeoff territory, but the interlude's own framing leans on compression rather than CSTA's specific local-vs-cloud, cost/speed/privacy framing, same partial rating as the 9-12.DA.9 note above.

#3A-DA-11

A good interactive visualization, built with the right software tool, can make a real-world pattern clear to someone who'd never see it in a raw data table.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 9 (Unit 9: Data)
    code.org's own CSP-20 Unit 9 (Data) standards page.

#3A-DA-12

A computational model built from real data can capture how its pieces actually relate to each other, then be tested against more data to see if it holds up.

Unassigned

#3B-DA-05

Level 3B: elective/specialty, not required of all students.

The right data analysis tool can surface a real pattern, like a trend in social media activity or shopping behavior, that's invisible in the raw numbers.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 9 (Unit 9: Data)
    code.org's own CSP-20 Unit 9 (Data) standards page. Level 3B (elective), no CA counterpart at all per the crosswalk.

#3B-DA-06

Level 3B: elective/specialty, not required of all students.

Which data collection tool or technique you choose should be driven by the claim you're trying to support, not picked out of convenience.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 9 (Unit 9: Data)
    code.org's own CSP-20 Unit 9 (Data) standards page. Level 3B (elective), no CA counterpart at all per the crosswalk.

#3B-DA-07

Level 3B: elective/specialty, not required of all students.

A model or simulation is only useful for testing a hypothesis if you can actually judge how well it does that job, which is its own skill.

Unassigned

#IC Impacts of Computing

#2-IC-20

A new computing technology, like a driverless car, is never purely good or purely bad for daily life and careers, and naming the actual tradeoff is the point.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 1 (Unit 1: Digital Information)
    code.org's own CSP-20 Unit 1 standards page. A 6-8-band code cited for a 9-12 course, as with 2-DA-07 above.
  • Code.org's CS Discoveries (Units 1-2): Unit 1 (Unit 1 - Problem Solving and Computing), Unit 2 (Unit 2 - Web Development)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 1 ('Lesson 7: Storage'); Unit 2 (4 lessons, from 'Lesson 1: Exploring Web Pages' onward).
  • Little Brother (a book by Cory Doctorow): Chapter intro (Introduction), Chapter 4 (Detained and Interrogated by DHS), Chapter 5 (A Reunion, Missing One Friend), Chapter 20 (Masha, the Chase, and the Evidence), Chapter epilogue (Epilogue)
    This carrier's own inference, mirroring 6-8.IC.20 above (crosswalk strength: strong).
  • porttack.com: Society (Impact of Computing): the source
    Same evidence as 6-8.IC.20 above, via the castandards-csta2017 crosswalk (strength: strong).

#2-IC-21

A technology tested mostly on one kind of user, like facial recognition trained on lighter skin tones, can end up biased or inaccessible in ways worth discussing directly, not glossing over.

  • Code.org's CS Discoveries (Units 1-2): Unit 2 (Unit 2 - Web Development)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 2 ('Lesson 16: Sources and Research').
  • Little Brother (a book by Cory Doctorow): Chapter 8 (The Paradox of the False Positive)
    This carrier's own inference, mirroring 6-8.IC.21 above (crosswalk strength: strong).

#2-IC-22

Gathering ideas or content from a large group, whether that's a classroom or an online community, is a real strategy for building something, not a shortcut around real collaboration.

  • Code.org's CS Discoveries (Units 1-2): Unit 2 (Unit 2 - Web Development)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 2 ('Lesson 15: Team Problem Solving').

#2-IC-23

Sharing information publicly can build an audience or a reputation, but it also opens the door to the kind of personal information that makes social engineering attacks work, and weighing that tradeoff is the actual skill.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 10 (Unit 10: Cybersecurity and Global Impacts)
    code.org's own CSP-20 Unit 10 standards page. A 6-8-band code cited for a 9-12 course, as above.
  • Code.org's CS Discoveries (Units 1-2): Unit 2 (Unit 2 - Web Development)
    code.org's own CSD-2026 standards data (fetched directly from studio.code.org/courses/csd-2026/units/N/standards) cites this for Unit 2 (4 lessons, from 'Lesson 4: Digital Footprint' onward).
  • Little Brother (a book by Cory Doctorow): Chapter 1 (Surveillance, ARGs, and Cutting Class), Chapter 13 (A Secret Comes Out), Chapter 20 (Masha, the Chase, and the Evidence)
    This carrier's own inference, mirroring 6-8.IC.24 above -- the crosswalk maps 6-8.IC.24 to this code, not to a '2-IC-24' that doesn't exist at Level 2 (crosswalk strength: strong). Level 2 has no separate code for the licensing-tradeoff territory of 6-8.IC.23, so that claim has no CSTA 2017 middle-school mirror here.
  • porttack.com: Society (Impact of Computing): the source
    Same evidence as 6-8.IC.24 above, via the castandards-csta2017 crosswalk (strength: strong). Numbering shifts: CA's IC.24 is CSTA's 2-IC-23.

#3A-IC-24

Computing doesn't just change what's technically possible, it reshapes personal, ethical, social, economic, and cultural practices, and those effects are worth evaluating directly.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 1 (Unit 1: Digital Information), Unit 2 (Unit 2: The Internet)
    code.org's own CSP-20 Unit 1 and Unit 2 standards pages both cite this.
  • Little Brother (a book by Cory Doctorow): Chapter intro (Introduction), Chapter epilogue (Epilogue)
    Same evidence as 9-12.IC.23 above (crosswalk strength: strong).

#3A-IC-25

An artifact can carry bias or leave some users out without anyone intending it, which is why testing specifically for that and refining the design is its own step.

  • Little Brother (a book by Cory Doctorow): Chapter 8 (The Paradox of the False Positive)
    Same evidence as 9-12.IC.24 above (crosswalk strength: strong).

#3A-IC-26

The same algorithm can often solve problems in more than one field, and showing that connection is part of understanding what the algorithm actually does.

Unassigned

#3A-IC-27

The right collaboration tools can connect a project team across cultures and career fields that would otherwise never cross paths.

#3A-IC-28

Intellectual property law cuts both ways: it can protect a creator's incentive to innovate, and it can also be used to block others from building on that work.

#3A-IC-29

A lot of data gets collected automatically, without a user ever noticing, which raises privacy concerns that are easy to miss if you only think about the data you knowingly hand over.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 10 (Unit 10: Cybersecurity and Global Impacts)
    code.org's own CSP-20 Unit 10 standards page.
  • Little Brother (a book by Cory Doctorow): Chapter 1 (Surveillance, ARGs, and Cutting Class), Chapter 13 (A Secret Comes Out)
    Same evidence as 9-12.IC.29 above (crosswalk strength: strong).
  • porttack.com: Society (Impact of Computing): the source
    Same evidence as 9-12.IC.29 above, via the castandards-csta2017 crosswalk (strength: strong).

#3A-IC-30

Privacy isn't just a personal preference, it has social and economic consequences that show up in debates over safety, law, and ethics.

#3B-IC-25

Level 3B: elective/specialty, not required of all students.

Building something isn't neutral, and evaluating it for both its benefits and its potential harms to society is part of finishing the job.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 10 (Unit 10: Cybersecurity and Global Impacts)
    code.org's own CSP-20 Unit 10 standards page. Level 3B (elective) -- see castandards note below.
  • Little Brother (a book by Cory Doctorow): Chapter intro (Introduction), Chapter 4 (Detained and Interrogated by DHS), Chapter 5 (A Reunion, Missing One Friend), Chapter 20 (Masha, the Chase, and the Evidence), Chapter epilogue (Epilogue)
    Same evidence as 9-12.IC.26 above, but at a lower confidence tier: this is a Level 3B (elective/specialty, non-core) code, and the crosswalk's own note says CA's IC.26 is a blend match with no single clean CSTA target -- carried here as the closest of the three related codes it names (evaluating a built system's net benefit and harm to society).

#3B-IC-26

Level 3B: elective/specialty, not required of all students.

Who actually gets access to computing resources worldwide is shaped by equity and influence, not just availability, and that unevenness has real consequences.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 2 (Unit 2: The Internet)
    code.org's own CSP-20 Unit 2 standards page. Level 3B (elective) -- see castandards note below.

#3B-IC-27

Level 3B: elective/specialty, not required of all students.

Looking at how computing has already reshaped a field, like healthcare or entertainment, is a reasonable basis for predicting where it goes next.

#3B-IC-28

Level 3B: elective/specialty, not required of all students.

Laws and regulations around software aren't settled facts, they're genuinely debatable, and forming a position on one is part of understanding it.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 2 (Unit 2: The Internet)
    code.org's own CSP-20 Unit 2 standards page. Level 3B (elective), no CA counterpart at all per the crosswalk.

#NI Networks & the Internet

#2-NI-04

Protocols are the rules that decide how a message actually gets across a network quickly, correctly, and with errors handled, and modeling that role is different from just naming the protocol.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 2 (Unit 2: The Internet)
    code.org's own CSP-20 Unit 2 standards page. A 6-8-band code cited for a 9-12 course, as above.
  • Little Brother (a book by Cory Doctorow): Chapter 6 (Building Xnet, Learning Crypto), Chapter 17 (Barbara Stratford and the Crypto Wars)
    This carrier's own inference, mirroring 6-8.NI.4 above (crosswalk strength: strong).

#2-NI-05

Keeping electronic information safe takes both physical safeguards, like locked doors, and digital ones, like firewalls and HTTPS, and explaining how each actually protects the data is the point.

  • Little Brother (a book by Cory Doctorow): Chapter 6 (Building Xnet, Learning Crypto), Chapter 7 (Hiding in Plain Ciphertext), Chapter 8 (The Paradox of the False Positive), Chapter 9 (Suspicion Spreads, Even to Dad), Chapter 10 (A Beach Key-Signing Party), Chapter 17 (Barbara Stratford and the Crypto Wars)
    This carrier's own inference, mirroring 6-8.NI.5 above (crosswalk strength: partial).

#2-NI-06

Trying out more than one encryption method yourself, from a simple letter-substitution cipher up to modeling public-key encryption, is how the idea of "securing a message" stops being abstract.

  • Little Brother (a book by Cory Doctorow): Chapter 6 (Building Xnet, Learning Crypto), Chapter 10 (A Beach Key-Signing Party)
    This carrier's own inference, mirroring 6-8.NI.6 above (crosswalk strength: strong).
  • CS Unplugged: Caesar Cipher (partial)
    The standard's own starting point, a letter-substitution cipher: encrypt, decrypt, and crack by trying every key. Doesn't go on to model public-key encryption.

#3A-NI-04

How well a network scales and holds up depends on how its routers, switches, servers, layout, and addressing all work together, not any one piece alone.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 2 (Unit 2: The Internet)
    code.org's own CSP-20 Unit 2 standards page.
  • Little Brother (a book by Cory Doctorow): Chapter 6 (Building Xnet, Learning Crypto), Chapter 17 (Barbara Stratford and the Crypto Wars)
    Same evidence as 9-12.NI.5 above, via the castandards-csta2017 crosswalk (strength: strong).

#3A-NI-05

Real attacks like ransomware or phishing show concretely how sensitive data can be exposed or destroyed, which is why studying actual incidents teaches more than an abstract warning.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 10 (Unit 10: Cybersecurity and Global Impacts)
    code.org's own CSP-20 Unit 10 standards page.
  • Little Brother (a book by Cory Doctorow): Chapter 6 (Building Xnet, Learning Crypto), Chapter 10 (A Beach Key-Signing Party)
    Same evidence as 9-12.NI.7 above (crosswalk strength: related).

#3A-NI-06

Choosing a security measure for a given situation means weighing more than just how well it works -- its efficiency, feasibility, and ethical impact matter too.

#3A-NI-07

Tighter security almost always costs something in usability, and picking a security measure means being honest about that tradeoff.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 10 (Unit 10: Cybersecurity and Global Impacts)
    code.org's own CSP-20 Unit 10 standards page.
  • Little Brother (a book by Cory Doctorow): Chapter 6 (Building Xnet, Learning Crypto), Chapter 7 (Hiding in Plain Ciphertext)
    Same evidence as 9-12.NI.6 above (crosswalk strength: partial) -- the usability-cost side of a security tradeoff specifically: encrypting more traffic protects you but makes normal use slower and more conspicuous, Chapter 7's own point.

#3A-NI-08

Every cybersecurity recommendation trades something away, and justifying a choice means being able to explain that tradeoff to whoever has to live with it.

  • Little Brother (a book by Cory Doctorow): Chapter 9 (Suspicion Spreads, Even to Dad)
    Same evidence as 9-12.NI.6 above (crosswalk strength: partial) -- justifying a security tradeoff to the people who have to live with it, which is exactly the position Xnet's operators are in once the DHS starts turning nodes (Chapter 9).

#3B-NI-03

Level 3B: elective/specialty, not required of all students.

A network's real-world performance comes down to concrete factors like bandwidth, load, delay, and topology, and a network simulator is a reasonable way to see how each one bites.

  • Code.org's AP CSP (Units 1,2,5,8,10): Unit 2 (Unit 2: The Internet)
    code.org's own CSP-20 Unit 2 standards page. Level 3B (elective) -- see castandards note below.

#3B-NI-04

Level 3B: elective/specialty, not required of all students.

Developers protect a system from unauthorized access with several different tools working together -- encryption, authentication, secure coding, key management -- and each has its own strengths.