| Activity | Points | Item Type |
|---|---|---|
| Introduction to Programming | ||
| 1.1 Welcome to AP CSP | Lesson | |
| 1.1.1 Welcome to AP CSP | 1 | Video |
| 1.1.2 Why AP CSP? | 5 | Free Response |
| 1.2 Introduction to Programming With Karel | Lesson | |
| 1.2.1 Introduction to Programming With Karel | 1 | Video |
| 1.2.2 Quiz: Karel Commands | 2 | Check for Understanding |
| 1.2.3 Our First Karel Program | 5 | Example |
| 1.2.4 Your First Karel Program | 5 | Exercise |
| 1.2.5 Short Stack | 5 | Exercise |
| 1.2.6 Dancing Karel | 5 | Debugging |
| 1.3 More Basic Karel | Lesson | |
| 1.3.1 More Basic Karel | 1 | Video |
| 1.3.2 More Basic Karel Quiz | 4 | Check for Understanding |
| 1.3.3 Tennis Ball Square | 5 | Example |
| 1.3.4 Make a Tower | 5 | Exercise |
| 1.3.5 Pyramid of Karel | 5 | Exercise |
| 1.3.6 Go Through the Door | 5 | Debugging |
| 1.4 Karel Can't Turn Right | Lesson | |
| 1.4.1 Karel Can't Turn Right | 1 | Video |
| 1.4.2 Karel Can't Turn Right Quiz | 2 | Check for Understanding |
| 1.4.3 Tower and Turn Right | 5 | Example |
| 1.4.4 Fireman Karel | 5 | Exercise |
| 1.4.5 Slide Karel | 5 | Exercise |
| 1.4.6 Reflection: Teaching Karel New Commands | 5 | Free Response |
| 1.4.7 Right Turn Karel Badge | 0 | Badge |
| 1.5 Functions in Karel | Lesson | |
| 1.5.1 Functions in Karel | 1 | Video |
| 1.5.2 Functions in Karel Quiz | 1 | Check for Understanding |
| 1.5.3 Turn Around | 5 | Example |
| 1.5.4 Pancakes | 5 | Exercise |
| 1.5.5 Backflip | 5 | Exercise |
| 1.5.6 Digging Karel | 5 | Exercise |
| 1.5.7 Build a Shelter | 5 | Debugging |
| 1.6 Top Down Design and Decomposition in Karel | Lesson | |
| 1.6.1 Top Down Design and Decomposition in Karel | 1 | Video |
| 1.6.2 Top Down Design and Decomposition Quiz | 2 | Check for Understanding |
| 1.6.3 Hurdle Karel | 5 | Example |
| 1.6.4 The Two Towers | 5 | Exercise |
| 1.6.5 Make a 'Z' | 5 | Debugging |
| 1.6.6 Reflection: Top Down Design | 5 | Free Response |
| 1.7 Commenting Your Code | Lesson | |
| 1.7.1 Commenting Your Code | 1 | Video |
| 1.7.2 Commenting Your Code Quiz | 1 | Check for Understanding |
| 1.7.3 Hurdle Karel | 5 | Example |
| 1.7.4 The Two Towers + Comments | 5 | Exercise |
| 1.7.5 Reflection: Commenting | 5 | Free Response |
| 1.8 Abstraction | Lesson | |
| 1.8.1 Abstraction | 1 | Video |
| 1.8.2 Abstraction Quiz | 2 | Check for Understanding |
| 1.8.3 Abstracting Away build_tower | 5 | Example |
| 1.8.4 Abstracting Your Day | 5 | Free Response |
| 1.8.5 Reflection: Abstraction | 5 | Free Response |
| 1.8.6 Reflection: Abstraction in Karel | 5 | Free Response |
| 1.9 Super Karel | Lesson | |
| 1.9.1 Super Karel | 1 | Video |
| 1.9.2 Super Karel Quiz | 1 | Check for Understanding |
| 1.9.3 Hurdle Karel (with SuperKarel) | 5 | Example |
| 1.9.4 The Two Towers + SuperKarel | 5 | Exercise |
| 1.9.5 Super Karel Badge | 0 | Badge |
| 1.10 For Loops | Lesson | |
| 1.10.1 For Loops | 1 | Video |
| 1.10.2 For Loops Quiz | 1 | Check for Understanding |
| 1.10.3 Repeated Move | 5 | Example |
| 1.10.4 Put Down Tennis Balls | 5 | Example |
| 1.10.5 Take 'em All | 5 | Exercise |
| 1.10.6 Dizzy Karel | 5 | Exercise |
| 1.10.7 For Loop Square | 5 | Exercise |
| 1.10.8 Lots of Hurdles | 5 | Exercise |
| 1.11 If Statements | Lesson | |
| 1.11.1 If Statements | 1 | Video |
| 1.11.2 If Statements Quiz | 2 | Check for Understanding |
| 1.11.3 If Statements | 5 | Example |
| 1.11.4 Safe Take Ball | 5 | Example |
| 1.11.5 Is There a Ball? | 5 | Exercise |
| 1.11.6 Mindsets | 5 | Survey |
| 1.12 If/Else Statements | Lesson | |
| 1.12.1 If/Else Statements | 1 | Video |
| 1.12.2 If/Else Statements Quiz | 2 | Check for Understanding |
| 1.12.3 If/Else Statements | 5 | Example |
| 1.12.4 One Ball in Each Spot | 5 | Example |
| 1.12.5 Right Side Up | 5 | Exercise |
| 1.12.6 Conditional Karel Badge | 0 | Badge |
| 1.13 While Loops in Karel | Lesson | |
| 1.13.1 While Loops in Karel | 1 | Video |
| 1.13.2 While Loops in Karel Quiz | 2 | Check for Understanding |
| 1.13.3 Move to Wall | 5 | Example |
| 1.13.4 Follow The Yellow Ball Road | 5 | Exercise |
| 1.13.5 Lay Row of Tennis Balls | 5 | Exercise |
| 1.13.6 Big Tower | 5 | Exercise |
| 1.14 Control Structures Example | Lesson | |
| 1.14.1 Control Structures Example | 1 | Video |
| 1.14.2 Control Structures Example Quiz | 2 | Check for Understanding |
| 1.14.3 Cleanup Karel | 5 | Example |
| 1.14.4 Random Hurdles | 5 | Exercise |
| 1.15 Debugging Strategies | Lesson | |
| 1.15.1 Debugging Basics | 1 | Video |
| 1.15.2 Debugging Basics | 2 | Check for Understanding |
| 1.15.3 Debug: The Two Towers | 5 | Debugging |
| 1.15.4 Debug: Lots of Hurdles | 5 | Debugging |
| 1.15.5 Debugging From Error Messages | 1 | Video |
| 1.15.6 Debugging with Error Messages | 2 | Check for Understanding |
| 1.15.7 Debug: Big Tower | 5 | Debugging |
| 1.15.8 Debug: Random Hurdles | 5 | Debugging |
| 1.16 Algorithms | Lesson | |
| 1.16.1 Karel Algorithms | 1 | Video |
| 1.16.2 Quiz: Which Control Structure? | 5 | Check for Understanding |
| 1.16.3 Algorithms Example: Move Stack | 1 | Video |
| 1.16.4 Move Tennis Ball Stack | 1 | Example |
| 1.16.5 Climbing Karel | 1 | Example |
| 1.16.6 Decorate the Fence | 5 | Exercise |
| 1.17 Ultra Karel | Lesson | |
| 1.17.1 Ultra Karel | 1 | Video |
| 1.17.2 Ultra Karel Quiz | 2 | Check for Understanding |
| 1.17.3 Red Frame | 5 | Example |
| 1.17.4 Slip 'n Slide | 5 | Example |
| 1.17.5 Invert Colors | 5 | Exercise |
| 1.17.6 Checkerboard Karel | 5 | Exercise |
| 1.17.7 Karel Exercises Badge | 0 | Badge |
| 1.18 Karel Challenges | Lesson | |
| 1.18.1 Fetch | 10 | Challenge |
| 1.18.2 Racing Karel | 10 | Challenge |
| 1.18.3 Tower Builder | 10 | Challenge |
| 1.18.4 Super Cleanup Karel | 10 | Challenge |
| 1.18.5 Double Tennis Balls | 10 | Challenge |
| 1.18.6 Programming with Karel Bootcamp Badge | 0 | Badge |
| 1.19 Introduction to Programming Quiz | Lesson | |
| 1.19.1 Introduction to Programming Quiz | 25 | Unit Quiz |
| Practice PT: Pair-Programming Paint! | ||
| 2.1 Practice PT: Pair-Programming Paint! | Lesson | |
| 2.1.1 Pair-Programming | 1 | Video |
| 2.1.2 Pair-Programming | 2 | Check for Understanding |
| 2.1.3 Create PT Scoring Guidelines | 5 | Connection |
| 2.1.4 Setting Norms | 5 | Free Response |
| 2.1.5 Brainstorm and Discuss | 5 | Free Response |
| 2.1.6 Planning | 5 | Free Response |
| 2.1.7 Program Documentation | 5 | Free Response |
| 2.1.8 Pseudocode | 5 | Free Response |
| 2.1.9 Create your UltraKarel Image! | 10 | Challenge |
| 2.1.10 Reflection | 5 | Free Response |
| 2.1.11 Karel Practice PT Badge | 0 | Badge |
| Programming with Python | ||
| 3.1 What is Code | Lesson | |
| 3.1.1 What is Code? | 1 | Video |
| 3.1.2 What is Software? | 1 | Connection |
| 3.1.3 Respond: What is Software | 5 | Free Response |
| 3.2 Uses of Programs | Lesson | |
| 3.2.1 Uses of Programs | 1 | Video |
| 3.2.2 Coding for a Cause | 5 | Video |
| 3.2.3 Response: Coding for a Cause | 5 | Free Response |
| 3.2.4 Reflection: Programs in Your Life | 5 | Free Response |
| 3.2.5 Reflection: Future Programs | 5 | Free Response |
| 3.2.6 Task: Computing Innovations | 5 | Free Response |
| 3.3 Hello World | Lesson | |
| 3.3.1 Hello World | 1 | Video |
| 3.3.2 Hello World Quiz | 2 | Check for Understanding |
| 3.3.3 Hello World | 1 | Example |
| 3.3.4 Your Name and Hobby | 5 | Exercise |
| 3.4 Variables | Lesson | |
| 3.4.1 Variables | 1 | Video |
| 3.4.2 Variables Quiz | 2 | Check for Understanding |
| 3.4.3 String Operators | 5 | Video |
| 3.4.4 String Operators Quiz | 2 | Check for Understanding |
| 3.4.5 Basic Variables | 1 | Example |
| 3.4.6 Apples and Oranges | 5 | Exercise |
| 3.4.7 AP Practice: Variables | 2 | AP Practice |
| 3.5 User Input | Lesson | |
| 3.5.1 User Input | 1 | Video |
| 3.5.2 User Input Quiz | 2 | Check for Understanding |
| 3.5.3 Basic User Input | 1 | Example |
| 3.5.4 Obi-Wan Says | 5 | Exercise |
| 3.5.5 AP Practice: User Input | 3 | AP Practice |
| 3.5.6 User Input Badge | 0 | Badge |
| 3.6 Basic Math in Python | Lesson | |
| 3.6.1 Basic Math in Python | 1 | Video |
| 3.6.2 Basic Math in Python Quiz | 2 | Check for Understanding |
| 3.6.3 Order of Operations | 1 | Example |
| 3.6.4 Dollars to Pounds | 1 | Example |
| 3.6.5 Division in Python | 5 | Example |
| 3.6.6 Dividing Up Groups | 1 | Example |
| 3.6.7 Sporting Goods Shop | 5 | Exercise |
| 3.6.8 Running Speed | 5 | Exercise |
| 3.6.9 24 vs. "24" | 5 | Exercise |
| 3.6.10 AP Practice: Arithmetic Operators | 4 | AP Practice |
| 3.7 Using Graphics in Python | Lesson | |
| 3.7.1 Graphics | 1 | Video |
| 3.7.2 Python Graphics Quiz | 2 | Check for Understanding |
| 3.7.3 Graphics Hello World | 1 | Example |
| 3.7.4 Blue Circle | 1 | Example |
| 3.7.5 Red Rectangle | 1 | Example |
| 3.7.6 Using get_width And get_height | 5 | Video |
| 3.7.7 8 Ball | 1 | Example |
| 3.7.8 French Flag | 5 | Exercise |
| 3.7.9 Snowman | 5 | Exercise |
| 3.7.10 Programming with Graphics Bootcamp Badge | 0 | Badge |
| 3.8 Mouse Events: Mouse Clicked | Lesson | |
| 3.8.1 Mouse Events: Mouse Clicked | 1 | Video |
| 3.8.2 Mouse Events: Mouse Clicked Quiz | 2 | Check for Understanding |
| 3.8.3 Click For Circles | 1 | Example |
| 3.8.4 Click For Mickey | 1 | Example |
| 3.8.5 Click for Rectangles | 5 | Exercise |
| 3.9 Programming with Python Quiz | Lesson | |
| 3.9.1 Programming with Python Quiz | 25 | Unit Quiz |
| Python Control Structures | ||
| 4.1 Booleans | Lesson | |
| 4.1.1 Booleans | 1 | Video |
| 4.1.2 Booleans Quiz | 1 | Check for Understanding |
| 4.1.3 First Boolean | 1 | Example |
| 4.1.4 Do You Have a Cat? | 5 | Exercise |
| 4.2 Logical Operators | Lesson | |
| 4.2.1 Logical Operators | 1 | Video |
| 4.2.2 Logical Operators Quiz | 3 | Check for Understanding |
| 4.2.3 Light Switch | 1 | Example |
| 4.2.4 President | 1 | Example |
| 4.2.5 Wasting Time | 1 | Example |
| 4.2.6 Can You Graduate? | 5 | Exercise |
| 4.2.7 School's Out | 5 | Exercise |
| 4.3 Comparison Operators | Lesson | |
| 4.3.1 Comparison Operators | 1 | Video |
| 4.3.2 Comparison Operators Quiz | 2 | Check for Understanding |
| 4.3.3 Voting Age | 1 | Example |
| 4.3.4 Grade Range | 1 | Example |
| 4.3.5 Rolling Dice | 5 | Exercise |
| 4.3.6 All Star | 5 | Exercise |
| 4.3.7 AP Practice: Comparison Operators | 4 | AP Practice |
| 4.4 If Statements | Lesson | |
| 4.4.1 If Statements | 1 | Video |
| 4.4.2 If Statements Quiz | 2 | Check for Understanding |
| 4.4.3 Negative Numbers | 1 | Example |
| 4.4.4 Great Names | 1 | Example |
| 4.4.5 Even and Odd | 1 | Example |
| 4.4.6 Secret Password | 1 | Example |
| 4.4.7 Teenagers | 5 | Exercise |
| 4.4.8 Meal Planner | 5 | Exercise |
| 4.4.9 AP Practice: If/Else Statements | 4 | AP Practice |
| 4.4.10 Conditionals Badge | 0 | Badge |
| 4.5 Key Events | Lesson | |
| 4.5.1 Key Events | 1 | Video |
| 4.5.2 Key Events Quiz | 1 | Check for Understanding |
| 4.5.3 Keyboard Square | 1 | Example |
| 4.5.4 Growing Circle | 5 | Exercise |
| 4.5.5 Graphics Badge | 0 | Badge |
| 4.6 For Loops in Python | Lesson | |
| 4.6.1 Basic For Loop | 1 | Video |
| 4.6.2 For Loops Quiz | 2 | Check for Understanding |
| 4.6.3 For Loop | 1 | Example |
| 4.6.4 Meme Text Generator | 5 | Exercise |
| 4.6.5 The Worm | 5 | Exercise |
| 4.6.6 Caterpillar | 5 | Exercise |
| 4.7 General For Loops | Lesson | |
| 4.7.1 General For Loop | 1 | Video |
| 4.7.2 General For Loop Quiz | 2 | Check for Understanding |
| 4.7.3 Countdown | 1 | Example |
| 4.7.4 Count By Twos | 1 | Example |
| 4.7.5 Count By Sevens | 5 | Exercise |
| 4.7.6 Powers of Two | 5 | Exercise |
| 4.8 For Loop Practice | Lesson | |
| 4.8.1 For Loop Examples | 1 | Video |
| 4.8.2 For Loop Examples Quiz | 2 | Check for Understanding |
| 4.8.3 For Loop Sum | 1 | Example |
| 4.8.4 Better Sum | 5 | Exercise |
| 4.8.5 Factorial | 5 | Exercise |
| 4.8.6 All Dice Values | 5 | Exercise |
| 4.9 Random Numbers | Lesson | |
| 4.9.1 Random Numbers | 1 | Video |
| 4.9.2 Random Numbers Quiz | 2 | Check for Understanding |
| 4.9.3 Rolling a Die | 1 | Example |
| 4.9.4 Flipping a Coin | 1 | Example |
| 4.9.5 Lots of Dice | 5 | Exercise |
| 4.9.6 Random Color Square | 5 | Exercise |
| 4.9.7 Mindsets | 5 | Survey |
| 4.10 While Loops | Lesson | |
| 4.10.1 While Loops | 1 | Video |
| 4.10.2 While Loops Quiz | 2 | Check for Understanding |
| 4.10.3 While Loop Countdown | 1 | Example |
| 4.10.4 Inventory | 5 | Exercise |
| 4.10.5 Fibonacci | 5 | Exercise |
| 4.10.6 AP Practice: Iteration | 7 | AP Practice |
| 4.11 Loop and a Half | Lesson | |
| 4.11.1 Loop and a Half | 1 | Video |
| 4.11.2 Loop and a Half Quiz | 2 | Check for Understanding |
| 4.11.3 Adding Up Numbers | 1 | Example |
| 4.11.4 Snake Eyes | 5 | Exercise |
| 4.11.5 Better Password Prompt | 5 | Exercise |
| 4.11.6 Looper Badge | 0 | Badge |
| 4.12 Python Control Structures Quiz | Lesson | |
| 4.12.1 Python Control Structures Quiz | 25 | Unit Quiz |
| Functions and Parameters | ||
| 5.1 Functions and Parameters 1 | Lesson | |
| 5.1.1 Functions and Parameters 1 | 1 | Video |
| 5.1.2 Functions and Parameters Quiz 1 | 3 | Check for Understanding |
| 5.1.3 Double Number | 1 | Example |
| 5.1.4 Square | 5 | Exercise |
| 5.1.5 Triple | 5 | Exercise |
| 5.2 Functions and Parameters 2 | Lesson | |
| 5.2.1 Functions and Parameters 2 | 1 | Video |
| 5.2.2 Functions and Parameters Quiz 2 | 2 | Check for Understanding |
| 5.2.3 Sum Function | 1 | Example |
| 5.2.4 Area of Triangle | 5 | Exercise |
| 5.2.5 Height in Meters | 5 | Exercise |
| 5.3 Functions and Parameters 3 | Lesson | |
| 5.3.1 Functions and Parameters 3 | 1 | Video |
| 5.3.2 Functions and Parameters Quiz 3 | 2 | Check for Understanding |
| 5.3.3 Draw Circles | 1 | Example |
| 5.3.4 Horizontal Lines | 5 | Exercise |
| 5.3.5 Graphics Stop Light | 5 | Exercise |
| 5.3.6 Pool Table | 5 | Exercise |
| 5.3.7 Parameters Badge | 0 | Badge |
| 5.4 Functions and Return Values 1 | Lesson | |
| 5.4.1 Functions and Return Values 1 | 1 | Video |
| 5.4.2 Functions and Return Values 1 Quiz | 2 | Check for Understanding |
| 5.4.3 Double Number | 1 | Example |
| 5.4.4 Square with Return Values | 5 | Exercise |
| 5.4.5 Quadruple with Return Values | 5 | Exercise |
| 5.5 Functions and Return Values 2 | Lesson | |
| 5.5.1 Functions and Return Values 2 | 1 | Video |
| 5.5.2 Functions and Return Values Quiz 2 | 2 | Check for Understanding |
| 5.5.3 Return Values | 1 | Example |
| 5.5.4 Is It Even? | 5 | Exercise |
| 5.5.5 minVal | 5 | Exercise |
| 5.6 Local Variables and Scope | Lesson | |
| 5.6.1 Local Variables and Scope | 1 | Video |
| 5.6.2 Local Variables and Scope Quiz | 2 | Check for Understanding |
| 5.6.3 Return Values | 1 | Example |
| 5.6.4 Local Variables | 5 | Exercise |
| 5.7 Exceptions | Lesson | |
| 5.7.1 Exceptions | 5 | Video |
| 5.7.2 Exceptions Quiz | 2 | Quiz |
| 5.7.3 Enter a Number | 5 | Example |
| 5.7.4 Enter Name and Age | 5 | Example |
| 5.7.5 Temperature Converter | 5 | Exercise |
| 5.7.6 Temperature Converter, Part 2 | 5 | Exercise |
| 5.8 Python vs Karel | Lesson | |
| 5.8.1 Python vs Karel | 1 | Video |
| 5.8.2 Making Karel's World | 1 | Example |
| 5.8.3 Making Karel Turn Left | 1 | Example |
| 5.8.4 Making Karel Turn Right | 5 | Exercise |
| 5.8.5 Making Karel Move | 5 | Exercise |
| 5.8.6 What is an API? | 1 | Connection |
| 5.8.7 Reflection: Is Karel an API? | 5 | Free Response |
| 5.8.8 Python Exercises Badge | 0 | Badge |
| 5.9 Basic Python and Graphics Challenges | Lesson | |
| 5.9.1 Ghosts | 10 | Challenge |
| 5.9.2 Guessing Game | 10 | Challenge |
| 5.9.3 Draw Something | 10 | Challenge |
| 5.9.4 Python Challenges Badge | 0 | Badge |
| 5.10 Functions and Parameters Quiz | Lesson | |
| 5.10.1 Functions and Parameters Quiz | 25 | Unit Quiz |
| Practice PT: Tell a Story | ||
| 6.1 Practice PT: Tell a Story | Lesson | |
| 6.1.1 Tell a Story Demo | 1 | Demo |
| 6.1.2 Create PT Scoring Guidelines | 5 | Connection |
| 6.1.3 Brainstorm and Discuss | 5 | Free Response |
| 6.1.4 Planning | 5 | Free Response |
| 6.1.5 Pseudocode | 5 | Free Response |
| 6.1.6 Tell a Story! | 10 | Challenge |
| 6.1.7 Reflection | 5 | Free Response |
| Basic Data Structures | ||
| 7.1 Tuples | Lesson | |
| 7.1.1 Tuples | 0 | Video |
| 7.1.2 Tuples | 2 | Check for Understanding |
| 7.1.3 A Tuple Is a Sequence | 0 | Example |
| 7.1.4 A Tuple is Heterogeneous | 0 | Example |
| 7.1.5 Tuples With a Single Element | 0 | Example |
| 7.1.6 Concatenating Tuples | 0 | Example |
| 7.1.7 Fix This Tuple | 5 | Exercise |
| 7.1.8 Citation | 5 | Practice |
| 7.1.9 Diving Contest | 5 | Practice |
| 7.1.10 Coordinate Pairs | 10 | Practice |
| 7.2 Lists | Lesson | |
| 7.2.1 Lists | 0 | Video |
| 7.2.2 Lists | 1 | Check for Understanding |
| 7.2.3 A List Is Like a Mutable Tuple | 0 | Example |
| 7.2.4 List of Tuples, Tuples of Lists | 0 | Example |
| 7.2.5 String <--> List | 0 | Example |
| 7.2.6 Spell It Out | 5 | Practice |
| 7.2.7 Splitting a String | 0 | Example |
| 7.2.8 Listed Greeting | 5 | Practice |
| 7.2.9 Top Movies | 5 | Exercise |
| 7.2.10 AP Practice: Lists | 4 | AP Practice |
| 7.3 For Loops and Lists | Lesson | |
| 7.3.1 For Loops and Lists | 0 | Video |
| 7.3.2 For Loops and Lists | 2 | Check for Understanding |
| 7.3.3 Sum List | 5 | Example |
| 7.3.4 For Loops and Lists | 0 | Example |
| 7.3.5 For Loops and Lists, Part 2 | 0 | Example |
| 7.3.6 Max In List | 5 | Practice |
| 7.3.7 Owls | 5 | Practice |
| 7.3.8 Exclamat!on Po!nts | 5 | Practice |
| 7.3.9 Word Ladder | 10 | Challenge |
| 7.3.10 Algorithm Efficiency | 5 | Example |
| 7.4 List Methods | Lesson | |
| 7.4.1 List Methods | 0 | Video |
| 7.4.2 List Methods | 2 | Check for Understanding |
| 7.4.3 Append and Extend | 0 | Example |
| 7.4.4 How Many Names? | 5 | Exercise |
| 7.4.5 Five Numbers | 5 | Exercise |
| 7.4.6 Sort | 0 | Example |
| 7.4.7 Librarian | 5 | Exercise |
| 7.4.8 Reflection: World Without List! | 5 | Free Response |
| 7.4.9 Reverse | 0 | Example |
| 7.4.10 Count | 0 | Example |
| 7.4.11 Remove | 0 | Example |
| 7.4.12 Empty List (Append and Remove) | 5 | Exercise |
| 7.4.13 Take a Thing Out, Sort It and Reverse It | 5 | Practice |
| 7.4.14 Librarian, Part 2 | 10 | Challenge |
| 7.4.15 Owls, Part 2 | 10 | Challenge |
| 7.4.16 AP Practice: List Procedures | 4 | AP Practice |
| 7.4.17 Lists Badge | 0 | Badge |
| 7.5 Simulation | Lesson | |
| 7.5.1 Simulation | 1 | Video |
| 7.5.2 Gravity Simulation | 1 | Example |
| 7.5.3 Conway's Game of Life | 1 | Example |
| 7.5.4 Simulating a Coin Flip | 5 | Exercise |
| 7.5.5 Wolf Sheep Predation Simulation | 1 | Connection |
| 7.5.6 Data Structures Exercises Badge | 0 | Badge |
| 7.6 Basic Data Structures Quiz | Lesson | |
| 7.6.1 Basic Data Structures Quiz | 15 | Unit Quiz |
| Digital Information | ||
| 8.1 Intro to Digital Information | Lesson | |
| 8.1.1 What is Digital Information? | 1 | Video |
| 8.1.2 What is Digital Information Quiz | 2 | Check for Understanding |
| 8.1.3 Fast Food Menu | 1 | Example |
| 8.1.4 DNA | 1 | Example |
| 8.1.5 Reflection: Encodings Everywhere | 5 | Free Response |
| 8.2 Number Systems | Lesson | |
| 8.2.1 Number Systems | 1 | Video |
| 8.2.2 Number Base Tool | 1 | Notes |
| 8.2.3 Number Systems Quiz | 2 | Check for Understanding |
| 8.2.4 Decimal to Binary | 1 | Video |
| 8.2.5 Decimal to Binary Quiz | 1 | Check for Understanding |
| 8.2.6 Binary Game | 5 | Exercise |
| 8.2.7 Overflow Error | 5 | Exercise |
| 8.2.8 More Overflow Errors | 1 | Example |
| 8.3 Encoding Text with Binary | Lesson | |
| 8.3.1 Encoding Text with Binary | 1 | Video |
| 8.3.2 Encoding Text with Binary Quiz | 2 | Check for Understanding |
| 8.3.3 Morse Code | 1 | Example |
| 8.3.4 Decoding a Binary Message | 1 | Example |
| 8.3.5 2-bit Custom Encoding | 1 | Example |
| 8.3.6 Bits to ASCII | 1 | Example |
| 8.3.7 Hello Karel in Bits | 5 | Exercise |
| 8.3.8 Create your own Encoding | 5 | Exercise |
| 8.3.9 Text to Binary | 5 | Exercise |
| 8.3.10 Encoding Badge | 0 | Badge |
| 8.4 Pixel Images | Lesson | |
| 8.4.1 Pixel Images | 1 | Video |
| 8.4.2 Pixel Images Quiz | 1 | Check for Understanding |
| 8.4.3 Creating Pixel Images | 5 | Resource |
| 8.4.4 CodeHS Logo | 1 | Example |
| 8.4.5 Checkerboard | 5 | Exercise |
| 8.4.6 Ladder | 5 | Exercise |
| 8.4.7 Create an Image! | 5 | Exercise |
| 8.5 Hexadecimal | Lesson | |
| 8.5.1 Hexadecimal | 1 | Video |
| 8.5.2 Hexadecimal Quiz | 2 | Check for Understanding |
| 8.5.3 Hexadecimal to Decimal | 1 | Example |
| 8.5.4 Binary to Hex Game | 5 | Exercise |
| 8.6 Pixel Colors! | Lesson | |
| 8.6.1 Pixel Colors | 1 | Video |
| 8.6.2 Pixel Colors Quiz | 3 | Check for Understanding |
| 8.6.3 Colors in Bits | 1 | Example |
| 8.6.4 Colors in Text | 1 | Example |
| 8.6.5 Colors in RGB | 1 | Example |
| 8.6.6 Exploring RGB | 5 | Exercise |
| 8.6.7 Making Yellow | 5 | Exercise |
| 8.6.8 Rainbow | 5 | Exercise |
| 8.6.9 Create a Color Image! | 5 | Exercise |
| 8.7 Image Manipulation | Lesson | |
| 8.7.1 Manipulating Images | 1 | Video |
| 8.7.2 Manipulating Images Quiz | 1 | Check for Understanding |
| 8.7.3 Programming with Images | 1 | Video |
| 8.7.4 Programming with Images Quiz | 2 | Check for Understanding |
| 8.7.5 Black and White Filter | 1 | Example |
| 8.7.6 Brighten Filter | 1 | Example |
| 8.7.7 Saturation Filter | 1 | Example |
| 8.7.8 Invert Filter | 5 | Exercise |
| 8.7.9 Blue Filter | 5 | Exercise |
| 8.7.10 Darken Filter | 5 | Exercise |
| 8.7.11 Image Manipulation Badge | 0 | Badge |
| 8.8 Data Compression | Lesson | |
| 8.8.1 Data Compression | 1 | Video |
| 8.8.2 Data Compression Quiz | 2 | Check for Understanding |
| 8.8.3 Run Length Encoding | 1 | Video |
| 8.8.4 Run Length Encoding Quiz | 2 | Check for Understanding |
| 8.8.5 Run Length Encoding | 1 | Example |
| 8.8.6 Custom Image Compression | 1 | Example |
| 8.8.7 Respond: Custom Image Compression | 5 | Free Response |
| 8.9 Lossy Compression | Lesson | |
| 8.9.1 Lossy Compression | 1 | Video |
| 8.9.2 Lossy Compression Quiz | 1 | Check for Understanding |
| 8.9.3 Remove the Vowels | 1 | Example |
| 8.9.4 Decreasing Resolution | 5 | Exercise |
| 8.9.5 Analog to Digital | 1 | Connection |
| 8.9.6 Respond: Analog to Digital | 5 | Free Response |
| 8.10 Cryptography | Lesson | |
| 8.10.1 Cryptography | 1 | Video |
| 8.10.2 Cryptography Quiz | 2 | Check for Understanding |
| 8.10.3 Implementing Caesar's Cipher | 1 | Video |
| 8.10.4 Implementing Caesar's Cipher Quiz | 1 | Check for Understanding |
| 8.10.5 Encrypting with a Caesar Cipher | 1 | Example |
| 8.10.6 Cracking a Caesar Cipher | 1 | Example |
| 8.10.7 Reflection: Caesar Cipher | 5 | Free Response |
| 8.10.8 Guess the Passcode | 5 | Exercise |
| 8.11 Digital Information Quiz | Lesson | |
| 8.11.1 Digital Information Quiz | 15 | Unit Quiz |
| 8.11.2 Digital Information Badge | 0 | Badge |
| Practice PT: Steganography | ||
| 9.1 Practice PT: Steganography | Lesson | |
| 9.1.1 Secret Message Steganography | 1 | Demo |
| 9.1.2 Secret Image Steganography Demo | 1 | Demo |
| 9.1.3 Create PT Scoring Guidelines | 5 | Connection |
| 9.1.4 Secret Image Steganography | 10 | Challenge |
| 9.1.5 Reflection | 5 | Free Response |
| Practice PT: Create an Image Filter! | ||
| 10.1 Practice PT: Create an Image Filter! | Lesson | |
| 10.1.1 Create PT Scoring Guidelines | 5 | Connection |
| 10.1.2 Practice PT: Create an Image Filter! | 10 | Challenge |
| 10.1.3 Reflection | 5 | Free Response |
| The Internet | ||
| 11.1 Welcome to the Internet | Lesson | |
| 11.1.1 Welcome to the Internet | 1 | Video |
| 11.1.2 Welcome to the Internet Quiz | 1 | Check for Understanding |
| 11.1.3 Reflection: The Internet and You | 5 | Free Response |
| 11.2 Internet Hardware | Lesson | |
| 11.2.1 Devices and Networks | 1 | Video |
| 11.2.2 Hardware of the Internet | 1 | Video |
| 11.2.3 Internet Hardware Quiz | 3 | Check for Understanding |
| 11.2.4 The Internet is in the Ocean | 1 | Connection |
| 11.3 Internet Addresses | Lesson | |
| 11.3.1 Internet Addresses | 1 | Video |
| 11.3.2 Internet Addresses Quiz | 1 | Check for Understanding |
| 11.3.3 Free Response: The Need for Addresses | 5 | Free Response |
| 11.3.4 4-bit Addresses | 1 | Check for Understanding |
| 11.3.5 Free Response: IPv4 vs IPv6 | 5 | Free Response |
| 11.4 Viewing Websites | Lesson | |
| 11.4.1 Viewing Websites | 1 | Video |
| 11.4.2 Viewing Websites Quiz | 5 | Check for Understanding |
| 11.4.3 Free Response: Explaining a URL | 5 | Free Response |
| 11.5 DNS | Lesson | |
| 11.5.1 DNS | 1 | Video |
| 11.5.2 DNS Quiz | 2 | Check for Understanding |
| 11.5.3 DNS Activity: CodeHS IP Address | 5 | Video |
| 11.6 Routing | Lesson | |
| 11.6.1 Routing | 1 | Video |
| 11.6.2 Routing Quiz | 1 | Check for Understanding |
| 11.6.3 Free Response: Redundancy | 5 | Free Response |
| 11.7 Packets and Protocols | Lesson | |
| 11.7.1 Packets and Protocols | 1 | Video |
| 11.7.2 Packets and Protocols Quiz | 1 | Check for Understanding |
| 11.7.3 Passing Notes | 10 | Resource |
| 11.7.4 How the Internet Works | 1 | Connection |
| 11.7.5 The Story of the Internet | 5 | Free Response |
| 11.8 Sequential, Parallel & Distributed Computing | Lesson | |
| 11.8.1 Computer Processing Operations | 1 | Video |
| 11.8.2 Computer Processing Operations Quiz | 2 | Check for Understanding |
| 11.8.3 Sequential vs. Parallel Activity | 5 | Resource |
| 11.8.4 Free Response: Sequential vs. Parallel | 5 | Free Response |
| 11.9 Cybersecurity | Lesson | |
| 11.9.1 Cybersecurity | 1 | Video |
| 11.9.2 Cybersecurity Quiz | 1 | Check for Understanding |
| 11.9.3 You Can Be Tracked! | 1 | Example |
| 11.9.4 Website Cookies | 1 | Connection |
| 11.9.5 Password Strength | 1 | Connection |
| 11.9.6 Reflection: Password Strength | 5 | Free Response |
| 11.9.7 Multifactor Authentication | 1 | Example |
| 11.9.8 Reflection: PII | 5 | Free Response |
| 11.9.9 Phishing Simulator | 1 | Example |
| 11.9.10 Rogue Access Points | 1 | Connection |
| 11.9.11 Mindsets | 5 | Survey |
| 11.10 The Impact of the Internet | Lesson | |
| 11.10.1 The Impact of the Internet | 1 | Video |
| 11.10.2 The Impact of the Internet Quiz | 2 | Check for Understanding |
| 11.10.3 Reflection: Internet Impact | 5 | Free Response |
| 11.10.4 Crucial Steps to Close the Digital Divide | 1 | Connection |
| 11.10.5 Reflection: Closing the Digital Divide | 5 | Free Response |
| 11.10.6 Pokemon Go: Unintended Effects | 1 | Connection |
| 11.10.7 Reflection: Unintended Effects | 5 | Free Response |
| 11.11 Creative Credit & Copyright | Lesson | |
| 11.11.1 Creative Credit and Copyright | 1 | Video |
| 11.11.2 Creative Credit and Copyright | 2 | Check for Understanding |
| 11.11.3 Reflection: Cite! | 5 | Free Response |
| 11.11.4 Exploring Creative Commons | 1 | Connection |
| 11.11.5 Respond: Creative Commons | 5 | Free Response |
| 11.11.6 Task: Finding Images | 5 | Free Response |
| 11.11.7 Reflection: Why is Copyright Important? | 5 | Free Response |
| 11.12 The Internet Quiz | Lesson | |
| 11.12.1 The Internet Quiz | 15 | Unit Quiz |
| 11.12.2 The Internet Badge | 0 | Badge |
| Project: The Effects of the Internet | ||
| 12.1 The Effects of the Internet | Lesson | |
| 12.1.1 Topic Brainstorm | 5 | Free Response |
| 12.1.2 Gathering Resources | 5 | Free Response |
| 12.1.3 Create Your Artifact | 5 | Free Response |
| 12.1.4 Written Responses | 5 | Free Response |
| Data | ||
| 13.1 Getting Started with Data | Lesson | |
| 13.1.1 Getting Started with Data | 1 | Video |
| 13.1.2 Getting Started with Data Quiz | 3 | Check for Understanding |
| 13.1.3 What Do We Do With Data? | 1 | Connection |
| 13.1.4 Reflection: Continuously Collecting Data | 5 | Free Response |
| 13.2 Visualizing and Interpreting Data | Lesson | |
| 13.2.1 Visualizing Data | 1 | Video |
| 13.2.2 Visualizing Data Quiz | 3 | Check for Understanding |
| 13.2.3 Exploring Data Visualizations | 5 | Notes |
| 13.2.4 Respond: Visualizations | 5 | Free Response |
| 13.2.5 Free Response: Choosing a Visualization | 5 | Free Response |
| 13.2.6 Visualizing & Interpreting Data Quiz | 3 | Check for Understanding |
| 13.3 Data Collection & Limitations | Lesson | |
| 13.3.1 Collecting Data | 1 | Video |
| 13.3.2 Collecting Data Quiz | 2 | Check for Understanding |
| 13.3.3 Reflection: Design a Survey | 5 | Free Response |
| 13.3.4 Reflection: Self-Driving Cars | 5 | Free Response |
| 13.3.5 Data Collection Quiz | 2 | Check for Understanding |
| 13.3.6 Data Limitations | 1 | Video |
| 13.3.7 Interpreting Data Quiz | 2 | Check for Understanding |
| 13.3.8 Line Graph | 1 | Example |
| 13.3.9 Bar Graph | 1 | Example |
| 13.3.10 Pie Chart | 1 | Example |
| 13.3.11 Reflection: Importance of Metadata | 5 | Free Response |
| 13.4 Data Quiz | Lesson | |
| 13.4.1 Data Quiz | 12 | Unit Quiz |
| Project: Present a Data-Driven Insight | ||
| 14.1 Present a Data-Driven Insight | Lesson | |
| 14.1.1 Topic Brainstorm | 5 | Free Response |
| 14.1.2 Gathering Resources | 5 | Free Response |
| 14.1.3 Create a Visualization | 5 | Free Response |
| 14.1.4 Written Responses | 5 | Free Response |
| 14.1.5 Share Your Findings | 5 | Free Response |
| Project: The Impact of Computing | ||
| 15.1 The Impacts of Computing | Lesson | |
| 15.1.1 Artifact Creation | 5 | Free Response |
| 15.1.2 Selecting Computing Innovations | 5 | Free Response |
| 15.1.3 Data as an Input and an Output | 5 | Free Response |
| 15.1.4 Data Privacy and Security | 5 | Free Response |
| Create Performance Task | ||
| 16.1 Create Performance Task: Overview | Lesson | |
| 16.1.1 Create Performance Task: Overview | 5 | Notes |
| 16.1.2 What is the Create Performance Task? | 5 | Article |
| 16.1.3 Task Verbs Definitions | 5 | Notes |
| 16.1.4 Component A: Program Code Requirements | 5 | Article |
| 16.1.5 Reflection: Program Code Requirements | 5 | Free Response |
| 16.1.6 Component B: Video Requirements | 5 | Article |
| 16.1.7 Reflection: Video Requirements | 5 | Free Response |
| 16.1.8 Component C: Personalized Project Reference Requirements | 5 | Article |
| 16.1.9 Reflection: Personalized Project Reference Requirements | 5 | Free Response |
| 16.2 Create Performance Task: Guidelines | Lesson | |
| 16.2.1 Create Performance Task: Guidelines | 5 | Notes |
| 16.2.2 Academic Integrity and Plagiarism Policy | 5 | Article |
| 16.2.3 Reflection: Academic Integrity and Plagiarism Policy | 5 | Free Response |
| 16.2.4 Guidelines: Prior to Starting | 5 | Article |
| 16.2.5 Reflection: Prior to Starting | 5 | Free Response |
| 16.2.6 Guidelines: Once You Have Started | 5 | Article |
| 16.2.7 Reflection: Once You Have Started | 5 | Free Response |
| 16.3 Create Performance Task: Categories and Questions | Lesson | |
| 16.3.1 Create Performance Task: Categories and Questions | 5 | Notes |
| 16.3.2 Category 1: Program Design, Function, and Purpose | 5 | Notes |
| 16.3.3 Category 2: Algorithm Development | 5 | Notes |
| 16.3.4 Category 3: Errors and Testing | 5 | Notes |
| 16.3.5 Category 4: Data and Procedural Abstraction | 5 | Notes |
| 16.3.6 Sample A CSP Performance Task [Python] | 5 | Article |
| 16.3.7 Sample A CSP Performance Task [JavaScript] | 5 | Article |
| 16.3.8 Reflection: Sample A CSP Performance Task | 5 | Free Response |
| 16.3.9 Sample B CSP Performance Task [Python] | 5 | Article |
| 16.3.10 Sample B CSP Performance Task [JavaScript] | 5 | Article |
| 16.3.11 Reflection: Sample B CSP Performance Task | 5 | Free Response |
| 16.3.12 Sample Roblox CSP Performance Task [Lua] | 5 | Article |
| 16.3.13 Reflection: Sample Roblox CSP Performance Task [Lua] | 5 | Free Response |
| 16.4 Planning and Pacing Your Project | Lesson | |
| 16.4.1 Create Performance Task: Pacing Your Project | 5 | Notes |
| 16.4.2 Collaborating on the Create Performance Task | 5 | Notes |
| 16.4.3 Generative AI: To Use, or Not To Use | 5 | Notes |
| 16.4.4 Brainstorm Your Project | 5 | Free Response |
| 16.4.5 Practice Making a Screen Capture | 5 | Free Response |
| 16.4.6 Practice Making a Video Recording | 5 | Free Response |
| 16.5 Complete the Create Performance Task | Lesson | |
| 16.5.1 Create Performance Task Scoring Guidelines | 5 | Connection |
| 16.5.2 Component A: Program Code [Python] | 5 | Challenge |
| 16.5.3 Component A: Program Code [JavaScript] | 5 | Challenge |
| 16.5.4 Component A: Program Code [Lua] | 5 | Challenge |
| 16.5.5 Component B: Video | 5 | Free Response |
| 16.5.6 Component C: Procedure Capture I | 5 | Free Response |
| 16.5.7 Component C: Procedure Capture II | 5 | Free Response |
| 16.5.8 Component C: Procedure List I | 5 | Free Response |
| 16.5.9 Component C: Procedure List II | 5 | Free Response |
| 16.5.10 Practice Written Responses | 5 | Free Response |
| 16.5.11 Finalizing and Submitting | 5 | Notes |
| AP Exam Review | ||
| 17.1 Preparation | Lesson | |
| 17.1.1 AP Exam Reference Sheet | 0 | Resource |
| 17.2 Practice AP Exam | Lesson | |
| 17.2.1 Practice AP Exam | 70 | AP Practice |
| Creative Development | ||
| 18.1 Intro to Design Thinking | Lesson | |
| 18.1.1 Intro to Design Thinking | 1 | Video |
| 18.1.2 Intro to Design Thinking | 1 | Check for Understanding |
| 18.1.3 User Interface Scavenger Hunt | 5 | Free Response |
| 18.1.4 Case Study: Helping People 'See' | 5 | Article |
| 18.1.5 Case Study Responses | 5 | Free Response |
| 18.1.6 Tell a Story Demo | 1 | Demo |
| 18.1.7 Brainstorming Project Ideas | 5 | Free Response |
| 18.2 Prototype | Lesson | |
| 18.2.1 Prototype | 1 | Video |
| 18.2.2 Prototype Quiz | 1 | Check for Understanding |
| 18.2.3 Wizard of Oz Prototyping | 1 | Connection |
| 18.2.4 Example Wizard of Oz Paper Prototype | 1 | Connection |
| 18.2.5 Make Your Paper Prototypes! | 5 | Free Response |
| 18.3 Test | Lesson | |
| 18.3.1 Test | 1 | Video |
| 18.3.2 Testing Quiz | 1 | Check for Understanding |
| 18.3.3 Testing with Users | 1 | Connection |
| 18.3.4 Example: How to User Test | 5 | Video |
| 18.3.5 How to User Test Responses | 5 | Free Response |
| 18.3.6 How to Make Accessible Programs | 5 | Resource |
| 18.3.7 Test Prototype 1 | 5 | Free Response |
| 18.3.8 Test Prototype 2 | 5 | Free Response |
| 18.3.9 Improve Your Prototype | 5 | Free Response |
| 18.4 Project Prep and Development | Lesson | |
| 18.4.1 Online Collaboration Tools | 5 | Free Response |
| 18.4.2 Pseudocode | 5 | Free Response |
| 18.4.3 Write the Code! | 10 | Challenge |
| 18.4.4 Present your Project | 5 | Free Response |
| 18.4.5 Mindsets | 5 | Survey |
| Final | ||
| 19.1 Final | Lesson | |
| 19.1.1 Final Pt 1: Multiple Choice | 21 | Final |
| Computer Science Principles Pretest | ||
| 20.1 Computer Science Principles Pretest | Lesson | |
| 20.1.1 About the Pretest | 1 | Notes |
| 20.1.2 Mindsets | 0 | Survey |
| 20.1.3 Knowledge & Skills: Computer Science Principles | 15 | Quiz |
| Midterm | ||
| 21.1 Midterm | Lesson | |
| 21.1.1 Midterm: Multiple Choice | 10 | Midterm |
| Computer Science Principles Posttest | ||
| 22.1 Computer Science Principles Posttest | Lesson | |
| 22.1.1 About the Posttest | 1 | Notes |
| 22.1.2 Mindsets | 0 | Survey |
| 22.1.3 Computer Science Principles Knowledge & Skills | 15 | Quiz |
| Extra Karel Practice | ||
| 23.1 Extra Karel Practice | Lesson | |
| 23.1.1 Functions Practice: K For Karel | 10 | Challenge |
| 23.1.2 Functions Practice: Christmas Karel | 10 | Challenge |
| 23.1.3 Functions Practice: X Marks the Spot | 10 | Challenge |
| 23.1.4 While Loop Practice: Blackout | 10 | Challenge |
| 23.1.5 While Loop Practice: Move To Top | 10 | Challenge |
| 23.1.6 Functions and While Loop Practice: Opposite Corner | 10 | Challenge |
| 23.1.7 While Loop Practice: Checkered Row | 10 | Challenge |
| 23.1.8 For Loop Practice: Tall Hurdles | 10 | Challenge |
| 23.1.9 Functions and While Loop Practice: Row and Back | 10 | Challenge |
| 23.1.10 Functions and For Loop Practice: Opposite Squares | 10 | Challenge |
| 23.1.11 Stairway To Heaven | 10 | Challenge |
| 23.1.12 Karel Practice Badge | 0 | Badge |
| Extra Karel Puzzles | ||
| 24.1 Extra Karel Puzzles | Lesson | |
| 24.1.1 Midpoint Karel | 10 | Challenge |
| 24.1.2 Target Karel | 10 | Challenge |
| 24.1.3 The Winding Yellow Road | 10 | Challenge |
| 24.1.4 Super Random Hurdles | 10 | Challenge |
| 24.1.5 Copy | 10 | Challenge |
| 24.1.6 Multiply | 10 | Challenge |
| 24.1.7 Fibonacci Karel | 10 | Challenge |
| 24.1.8 Comparison Karel | 10 | Challenge |
| 24.1.9 Swap | 10 | Challenge |
| 24.1.10 Sorting Karel | 10 | Challenge |
| 24.1.11 Karel Puzzles Badge | 0 | Badge |
| Karel Challenges | ||
| 25.1 Challenge Problems | Lesson | |
| 25.1.1 Fetch | 10 | Challenge |
| 25.1.2 Racing Karel | 10 | Challenge |
| 25.1.3 Tower Builder | 10 | Challenge |
| 25.1.4 Super Cleanup Karel | 10 | Challenge |
| 25.1.5 Double Tennis Balls | 10 | Challenge |
| 25.1.6 Karel Unit Test | 24 | Check for Understanding |
| 25.1.7 Karel Challenges Badge | 0 | Badge |
| Web Development | ||
| 26.1 Introduction to HTML | Lesson | |
| 26.1.1 Introduction to HTML | 1 | Video |
| 26.1.2 Introduction to HTML Quiz | 1 | Check for Understanding |
| 26.1.3 Our First HTML Page | 1 | Example |
| 26.1.4 Say Hello! | 5 | Exercise |
| 26.2 Structure of an HTML Page | Lesson | |
| 26.2.1 Structure of an HTML Page | 1 | Video |
| 26.2.2 Structure of an HTML Page Quiz | 1 | Check for Understanding |
| 26.2.3 HTML Template | 1 | Example |
| 26.2.4 Hello World Page | 1 | Example |
| 26.2.5 The <title> Tag | 5 | Exercise |
| 26.2.6 Your First HTML Page | 5 | Exercise |
| 26.2.7 Structure Badge | 0 | Badge |
| 26.3 Formatting Text | Lesson | |
| 26.3.1 Formatting Text | 1 | Video |
| 26.3.2 Formatting Text Quiz | 1 | Check for Understanding |
| 26.3.3 Dictionary | 1 | Example |
| 26.3.4 That's Bold | 5 | Exercise |
| 26.3.5 Artificial Intelligence | 5 | Exercise |
| 26.3.6 State Capitals | 5 | Exercise |
| 26.4 Links | Lesson | |
| 26.4.1 Links | 1 | Video |
| 26.4.2 Links Quiz | 1 | Check for Understanding |
| 26.4.3 The <a> Tag | 1 | Example |
| 26.4.4 Simple Link | 5 | Exercise |
| 26.4.5 My Favorite Websites | 5 | Exercise |
| 26.5 Images | Lesson | |
| 26.5.1 Images | 1 | Video |
| 26.5.2 Images Quiz | 1 | Check for Understanding |
| 26.5.3 The <img> Tag | 1 | Example |
| 26.5.4 Building the CodeHS Homepage | 1 | Example |
| 26.5.5 Collage on a Theme | 5 | Exercise |
| 26.5.6 Linking an Image | 5 | Exercise |
| 26.5.7 Personal Library | 5 | Exercise |
| 26.5.8 Images Badge | 0 | Badge |
| 26.6 HTML Lists | Lesson | |
| 26.6.1 HTML Lists | 1 | Video |
| 26.6.2 HTML Lists Quiz | 1 | Check for Understanding |
| 26.6.3 Grocery Shopping | 1 | Example |
| 26.6.4 Favorite Things | 5 | Exercise |
| 26.6.5 To-Do List | 5 | Exercise |
| 26.6.6 List Article | 5 | Exercise |
| 26.7 HTML Tables | Lesson | |
| 26.7.1 HTML Tables | 1 | Video |
| 26.7.2 HTML Tables Quiz | 3 | Check for Understanding |
| 26.7.3 Address Book | 1 | Example |
| 26.7.4 Favorite Songs | 5 | Exercise |
| 26.7.5 Calendar | 5 | Exercise |
| 26.8 HTML Styling | Lesson | |
| 26.8.1 HTML Styling | 1 | Video |
| 26.8.2 HTML Styling Quiz | 1 | Check for Understanding |
| 26.8.3 Stylish Address Book | 1 | Example |
| 26.8.4 Background Colors | 5 | Exercise |
| 26.8.5 Style Your To-Do List | 5 | Exercise |
| 26.9 Introduction to CSS | Lesson | |
| 26.9.1 Introduction to CSS | 1 | Video |
| 26.9.2 Introduction to CSS Quiz | 2 | Check for Understanding |
| 26.9.3 Styling Your H1s | 1 | Example |
| 26.9.4 First Style with CSS | 5 | Exercise |
| 26.9.5 List Styling | 5 | Exercise |
| 26.10 CSS Select by Tag | Lesson | |
| 26.10.1 CSS Select by Tag | 1 | Video |
| 26.10.2 CSS Select by Tag Quiz | 1 | Check for Understanding |
| 26.10.3 Rainbow | 1 | Example |
| 26.10.4 Dog Styling | 1 | Example |
| 26.10.5 Restaurant Menu | 5 | Exercise |
| 26.10.6 Put Karel Together | 5 | Exercise |
| 26.11 CSS Select by Class | Lesson | |
| 26.11.1 CSS Select by Class | 1 | Video |
| 26.11.2 CSS Select by Class Quiz | 1 | Check for Understanding |
| 26.11.3 Simple Checkerboard | 1 | Example |
| 26.11.4 Tic Tac Toe | 5 | Exercise |
| 26.11.5 Music Library | 5 | Exercise |
| 26.12 CSS Select by ID | Lesson | |
| 26.12.1 CSS Select by ID | 1 | Video |
| 26.12.2 CSS Select by ID Quiz | 1 | Check for Understanding |
| 26.12.3 Logo | 1 | Example |
| 26.12.4 Favorite Dog | 5 | Exercise |
| 26.12.5 Bingo | 5 | Exercise |
| 26.12.6 CSS Badge | 0 | Badge |
| 26.13 Web Development Quiz | Lesson | |
| 26.13.1 Web Development Quiz | 15 | Unit Quiz |
| 26.14 Practice PT: Your First Website | Lesson | |
| 26.14.1 About the AP CSP Exam | 1 | Notes |
| 26.14.2 Set Up Your codehs.me Website | 10 | Challenge |
| 26.14.3 Practice PT: Your First Website | 10 | Challenge |
| 26.14.4 Website Badge | 0 | Badge |
| Classes and Objects | ||
| 27.1 Classes and Objects | Lesson | |
| 27.1.1 Classes and Objects | 0 | Video |
| 27.1.2 Classes and Objects | 1 | Check for Understanding |
| 27.1.3 The Point Class | 0 | Example |
| 27.1.4 The Rectangle Class, Part 1 | 5 | Exercise |
| 27.1.5 The Point Class, Part 2 | 0 | Example |
| 27.1.6 The Rectangle Class, Part 2 | 5 | Exercise |
| 27.2 Methods | Lesson | |
| 27.2.1 Methods | 0 | Video |
| 27.2.2 Methods | 2 | Check for Understanding |
| 27.2.3 The Point Class, Part 3 | 0 | Example |
| 27.2.4 The Point Class, Part 4 | 0 | Example |
| 27.2.5 The Rectangle Class, Part 3 | 5 | Exercise |
| 27.2.6 The Rectangle Class, Part 4 | 5 | Exercise |
| 27.3 Built-In Methods | Lesson | |
| 27.3.1 Built-In Methods | 0 | Video |
| 27.3.2 Built-In Methods | 2 | Check for Understanding |
| 27.3.3 The __repr__ method | 0 | Example |
| 27.3.4 The __eq__ method | 0 | Example |
| 27.3.5 The Point Class, Part 5 | 0 | Example |
| 27.3.6 The Rectangle Class, Part 5 | 5 | Exercise |
| 27.3.7 The Rectangle Class, Part 6 | 5 | Exercise |
| 27.3.8 Sheet Music | 0 | Example |
| 27.3.9 Names In a Hat | 10 | Challenge |
| 27.4 Operator Overloading | Lesson | |
| 27.4.1 Operator Overloading | 0 | Video |
| 27.4.2 Operator Overloading | 2 | Check for Understanding |
| 27.4.3 The __add__ method | 0 | Example |
| 27.4.4 The Point Class, Part 6 | 0 | Example |
| 27.4.5 The Rectangle Class, Part 7 | 5 | Exercise |
| 27.4.6 The Rectangle Class, Part 8 | 5 | Exercise |
| 27.4.7 Contact Merge | 5 | Exercise |
| 27.5 Class Variables vs. Instance Variables | Lesson | |
| 27.5.1 Class Variables vs. Instance Variables | 0 | Video |
| 27.5.2 Class Variables vs. Instance Variables | 2 | Check for Understanding |
| 27.5.3 The Point Class, Part 7 | 0 | Example |
| 27.5.4 The Rectangle Class, Part 9 | 5 | Exercise |
| 27.5.5 Cars | 0 | Example |
| 27.5.6 Cars, Part 2 | 5 | Exercise |
| 27.5.7 Cars, Part 3 | 0 | Example |
| 27.6 Inheritance | Lesson | |
| 27.6.1 Inheritance | 0 | Video |
| 27.6.2 Inheritance | 1 | Check for Understanding |
| 27.6.3 Animals | 0 | Example |
| 27.6.4 Food, Part 1 | 5 | Exercise |
| 27.6.5 Animals with Lists | 0 | Example |
| 27.6.6 Food , Part 2 | 5 | Exercise |
| 27.7 Hidden Attributes | Lesson | |
| 27.7.1 Hidden Attributes | 0 | Video |
| 27.7.2 Hidden Attributes | 1 | Check for Understanding |
| 27.7.3 Secret Instance Variable | 0 | Example |
| 27.7.4 Only Even Rectangles Counted | 5 | Exercise |
| 27.7.5 Level Up | 0 | Example |
| 27.7.6 Triple and Halve | 5 | Exercise |
| 27.8 Namespaces | Lesson | |
| 27.8.1 Namespaces | 0 | Video |
| 27.8.2 Namespaces | 1 | Check for Understanding |
| 27.8.3 Classes | 0 | Example |
| 27.8.4 Subclasses | 0 | Example |
| 27.8.5 Food, Part 3 | 5 | Exercise |
| 27.9 Modules | Lesson | |
| 27.9.1 Modules | 0 | Video |
| 27.9.2 Modules | 1 | Check for Understanding |
| 27.9.3 Importing Entire Module | 0 | Example |
| 27.9.4 Importing Individual Components | 0 | Example |
| 27.9.5 Benefits of Individual Importing | 5 | Free Response |
| 27.9.6 Using the Math Module | 5 | Exercise |
| 27.10 Classes and Objects Quiz | Lesson | |
| 27.10.1 Classes and Objects Unit Test | 19 | Unit Quiz |
| 27.10.2 Classes and Objects Badge | 0 | Badge |
| Additional Topics | ||
| 28.1 Short Circuit Evaluation | Lesson | |
| 28.1.1 Short Circuit Evaluation | 0 | Video |
| 28.1.2 Short Circuit Evaluation | 2 | Check for Understanding |
| 28.1.3 Road Trip | 0 | Example |
| 28.1.4 Divisibility | 5 | Exercise |
| 28.1.5 Short Circuit Badge | 0 | Badge |
| 28.2 De Morgan's Laws | Lesson | |
| 28.2.1 De Morgan's Laws | 0 | Video |
| 28.2.2 De Morgan's Laws | 2 | Check for Understanding |
| 28.2.3 De Morgan's Law for AND | 0 | Example |
| 28.2.4 De Morgan's Law for OR | 0 | Example |
| 28.2.5 Amusement Park | 5 | Exercise |
| Project: Who Said It? | ||
| 29.1 Project: Who Said It? | Lesson | |
| 29.1.1 File I/O | 0 | Video |
| 29.1.2 File I/O | 2 | Check for Understanding |
| 29.1.3 Who Said It? Demo | 0 | Demo |
| 29.1.4 String Operations | 5 | Notes |
| 29.1.5 Who Said It? - Part 1 | 5 | Exercise |
| 29.1.6 Who Said It? - Part 2 | 5 | Exercise |
| 29.1.7 Who Said It? - Part 3 | 5 | Exercise |
| 29.1.8 Who Said It? - Part 4 | 5 | Exercise |
| 29.1.9 Who Said It? Badge | 0 | Badge |
| Project: Mastermind | ||
| 30.1 Let's Build Mastermind | Lesson | |
| 30.1.1 How to Play Mastermind | 1 | Connection |
| 30.1.2 Mastermind: Demo | 1 | Demo |
| 30.1.3 Generate Number List | 5 | Exercise |
| 30.1.4 Get User Guess | 5 | Exercise |
| 30.1.5 Compare User Guess to List | 5 | Exercise |
| 30.1.6 Check if User has Won | 5 | Exercise |
| 30.1.7 Finish the Game! | 5 | Exercise |
| Practice PT: Testing 1, 2, 3 ... | ||
| 31.1 Practice PT: Testing 1, 2, 3 ... | Lesson | |
| 31.1.1 Introduction | 5 | Notes |
| 31.1.2 Create Scoring Guidelines | 5 | Connection |
| 31.1.3 String Operations | 5 | Notes |
| 31.1.4 Practice PT: Testing 1, 2, 3 ... | 5 | Exercise |
| 31.1.5 Reflection | 5 | Free Response |
| Practice PT: The Shopping List | ||
| 32.1 Practice PT: The Shopping List | Lesson | |
| 32.1.1 Create PT Scoring Guidelines | 5 | Connection |
| 32.1.2 String Operations | 5 | Notes |
| 32.1.3 Practice PT: The Shopping List | 10 | Challenge |
| 32.1.4 Reflection | 5 | Free Response |
| Strings | ||
| 33.1 Indexing | Lesson | |
| 33.1.1 Indexing | 1 | Video |
| 33.1.2 Indexing | 2 | Check for Understanding |
| 33.1.3 Characters in a String | 1 | Example |
| 33.1.4 Unit Tests | 5 | Video |
| 33.1.5 Initials | 5 | Practice |
| 33.1.6 Sandwich Sandwiches | 5 | Practice |
| 33.2 Slicing | Lesson | |
| 33.2.1 Slicing | 1 | Video |
| 33.2.2 Slicing | 3 | Check for Understanding |
| 33.2.3 Groups of Characters | 1 | Example |
| 33.2.4 String Collage | 1 | Example |
| 33.2.5 Room Names | 1 | Example |
| 33.2.6 If You're Not First, You're Last | 5 | Practice |
| 33.2.7 Part 1, Replace a Letter | 5 | Practice |
| 33.2.8 Part 2, Replace a Letter | 5 | Practice |
| 33.2.9 Slicing Badge | 1 | Badge |
| 33.3 Immutability | Lesson | |
| 33.3.1 Immutability | 1 | Video |
| 33.3.2 Immutability | 2 | Check for Understanding |
| 33.3.3 String Immutability | 1 | Example |
| 33.3.4 Find the Error | 5 | Exercise |
| 33.4 Strings and For Loops | Lesson | |
| 33.4.1 Strings and For Loops | 1 | Video |
| 33.4.2 Strings and For Loops | 2 | Check for Understanding |
| 33.4.3 The len Function | 1 | Example |
| 33.4.4 Length of User's Name | 5 | Practice |
| 33.4.5 String For Loop with Indices | 1 | Example |
| 33.4.6 String For Loop with Characters | 1 | Example |
| 33.4.7 Spelling Bee | 5 | Exercise |
| 33.4.8 Keeping Count | 5 | Practice |
| 33.5 The in Keyword | Lesson | |
| 33.5.1 The in Keyword | 1 | Video |
| 33.5.2 The in Keyword | 2 | Check for Understanding |
| 33.5.3 Contains a Letter | 1 | Example |
| 33.5.4 Contains a Substring | 1 | Example |
| 33.5.5 Contains a Vowel | 5 | Practice |
| 33.6 String Methods | Lesson | |
| 33.6.1 String Methods | 1 | Video |
| 33.6.2 String Methods | 2 | Check for Understanding |
| 33.6.3 upper and lower | 1 | Example |
| 33.6.4 ENTHUSIASM! | 5 | Practice |
| 33.6.5 swapcase | 1 | Example |
| 33.6.6 strip | 1 | Example |
| 33.6.7 find | 1 | Example |
| 33.6.8 What's in a Name? | 5 | Practice |
| 33.6.9 Part 1, Remove All From String | 5 | Practice |
| 33.6.10 Part 2, Remove All From String | 5 | Exercise |
| 33.6.11 Mindset Survey 3 | 1 | Survey |
| 33.7 Strings Quiz | Lesson | |
| 33.7.1 Strings Quiz | 20 | Unit Quiz |
| 33.7.2 Strings Badge | 1 | Badge |
| Extending Data Structures | ||
| 34.1 2d Lists | Lesson | |
| 34.1.1 2d Lists | 1 | Video |
| 34.1.2 2d Lists | 2 | Check for Understanding |
| 34.1.3 A List of Lists | 1 | Example |
| 34.1.4 Grid | 1 | Example |
| 34.1.5 2d Lists and Slices | 1 | Example |
| 34.1.6 Checkerboard, v1 | 5 | Exercise |
| 34.1.7 Checkerboard, v2 | 5 | Exercise |
| 34.1.8 Checkerboard, v3 | 5 | Exercise |
| 34.1.9 Tic Tac Toe | 10 | Challenge |
| 34.2 List Comprehensions | Lesson | |
| 34.2.1 List Comprehensions | 1 | Video |
| 34.2.2 List Comprehensions | 2 | Check for Understanding |
| 34.2.3 List of Consecutive Numbers | 1 | Example |
| 34.2.4 List of Squares | 1 | Example |
| 34.2.5 Divisible by 3 | 5 | Exercise |
| 34.2.6 Digits of Pi | 1 | Example |
| 34.2.7 List of Booleans | 1 | Example |
| 34.2.8 Last Names | 5 | Exercise |
| 34.2.9 Strings To Integers | 5 | Exercise |
| 34.2.10 Mindset Survey 4 | 1 | Survey |
| 34.3 Packing and Unpacking | Lesson | |
| 34.3.1 Packing and Unpacking | 1 | Video |
| 34.3.2 Packing and Unpacking | 2 | Check for Understanding |
| 34.3.3 Packing | 1 | Example |
| 34.3.4 Unpacking | 1 | Example |
| 34.3.5 Unpacking Parameters | 1 | Example |
| 34.3.6 Coordinate Pair | 5 | Exercise |
| 34.3.7 Slopes | 5 | Exercise |
| 34.3.8 Swapping | 1 | Example |
| 34.3.9 Full Name & Citation | 5 | Exercise |
| 34.3.10 Packing Badge | 1 | Badge |
| 34.4 Dictionaries | Lesson | |
| 34.4.1 Dictionaries | 1 | Video |
| 34.4.2 Dictionaries | 1 | Check for Understanding |
| 34.4.3 Keys and Values | 1 | Example |
| 34.4.4 The in Keyword | 1 | Example |
| 34.4.5 Phone Book | 5 | Exercise |
| 34.4.6 Word Counts | 5 | Exercise |
| 34.5 Equivalence vs. Identity | Lesson | |
| 34.5.1 Equivalence vs. Identity | 1 | Video |
| 34.5.2 Equivalence vs. Identity | 3 | Check for Understanding |
| 34.5.3 Equivalence vs. Identity - Mutables | 1 | Example |
| 34.5.4 Equivalence vs. Identity - Immutables | 1 | Example |
| 34.5.5 Identity and Parameters | 1 | Example |
| 34.5.6 Swapping | 5 | Exercise |
| 34.5.7 Word Counts, Part 2 | 5 | Exercise |
| 34.6 Extending Data Structures Quiz | Lesson | |
| 34.6.1 Extending Data Structures Quiz | 14 | Unit Quiz |
| 34.6.2 Data Structures Badge | 1 | Badge |
| Unit Tests | ||
| 35.1 Unit Tests | Lesson | |
| 35.1.1 Unit Tests | 5 | Video |
| 35.1.2 Unit Tests | 5 | Article |
| Section I: End-of-Course Multiple-Choice Exam Review | ||
| 36.1 Exam Reference Sheet | Lesson | |
| 36.1.1 AP Exam Reference Sheet | 0 | Resource |
| 36.2 Multiple-Choice Review Quizzes Part 1 | Lesson | |
| 36.2.1 What Does this Algorithm Do? | 15 | Quiz |
| 36.2.2 Choose the Right Algorithm | 15 | Quiz |
| 36.2.3 Drawing Insights from Data | 15 | Quiz |
| 36.2.4 Changing Bits | 4 | Quiz |
| 36.2.5 Encoding Data | 4 | Quiz |
| 36.2.6 Fill in Missing Code | 14 | Quiz |
| 36.2.7 Programming Style | 5 | Quiz |
| 36.2.8 Modifying Programs | 2 | Quiz |
| 36.2.9 For Loops | 5 | Quiz |
| 36.2.10 Boolean Expressions | 5 | Quiz |
| 36.2.11 While Loops | 5 | Quiz |
| 36.2.12 List Operations | 5 | Quiz |
| 36.2.13 Bits | 5 | Quiz |
| 36.2.14 Randomized Programs | 5 | Quiz |
| 36.3 Multiple-Choice Review Quizzes Part 2 | Lesson | |
| 36.3.1 Robot Questions | 12 | Quiz |
| 36.3.2 Flowchart Algorithms | 1 | Quiz |
| 36.3.3 Simulation and Modeling | 3 | Quiz |
| 36.3.4 Algorithm Efficiency | 8 | Quiz |
| 36.3.5 IP | 5 | Quiz |
| 36.3.6 DNS | 5 | Quiz |
| 36.3.7 Routing | 5 | Quiz |
| 36.3.8 Packets and Protocols | 3 | Quiz |
| 36.3.9 Cybersecurity | 11 | Quiz |
| 36.3.10 Data Compression | 4 | Quiz |
| 36.3.11 Solvable vs Unsolvable Problems | 4 | Quiz |
| 36.3.12 Computing Ethics | 2 | Quiz |
| 36.3.13 Impacts of Computing | 4 | Quiz |
| 36.3.14 Programming Language Abstraction | 3 | Quiz |
| Section II: Create Performance Task: Written Responses Review | ||
| 37.1 Written Response Prompt Categories | Lesson | |
| 37.1.1 Written Response Prompt Categories | 5 | Notes |
| 37.2 Written Responses Review Quizzes | Lesson | |
| 37.2.1 Written Responses Quiz 1 | 4 | AP Practice |
| Reader Question Bank Quizzes | ||
| 38.1 RQB Quizzes | Lesson | |
| 38.1.1 RQB Quiz 1 | 13 | Quiz |
| 38.1.2 RQB Quiz 2 | 15 | Quiz |
| 38.1.3 RQB Quiz 3 | 14 | Quiz |
| 38.1.4 RQB Quiz 4 | 14 | Quiz |
| 38.1.5 RQB Quiz 5 | 12 | Quiz |
| 38.1.6 RQB Quiz 6 | 15 | Quiz |
| 38.1.7 RQB Quiz 7 | 12 | Quiz |
| 38.1.8 RQB Quiz 8 | 13 | Quiz |
| 38.1.9 RQB Quiz 9 | 15 | Quiz |
| Removed Items 2024 | ||
| 39.1 Practice PT: Pair-Programming Paint! | Lesson | |
| 39.1.1 Reflection | 5 | Free Response |
| 39.2 Practice PT: Tell a Story | Lesson | |
| 39.2.1 Reflection | 5 | Free Response |
| 39.3 Practice PT: Create an Image Filter! | Lesson | |
| 39.3.1 Reflection | 5 | Free Response |
| 39.4 Practice PT: The Shopping List | Lesson | |
| 39.4.1 Reflection | 5 | Free Response |
| 39.5 Practice PT: Testing 1, 2, 3... | Lesson | |
| 39.5.1 Reflection | 5 | Free Response |
| 39.6 Create Performance Task | Lesson | |
| 39.6.1 Create PT Scoring Guidelines | 5 | Connection |
| 39.6.2 Create Performance Task | 10 | Challenge |
| 39.7 Uses of Programs | Lesson | |
| 39.7.1 Why Should You Learn to Program? | 1 | Connection |
| 39.7.2 Reflection: Learning to Program | 5 | Free Response |
| 39.8 DNS | Lesson | |
| 39.8.1 How Does DNS Work? | 1 | Connection |
| 39.8.2 Respond: How Does DNS Work? | 5 | Free Response |
| 39.8.3 DNS Badge | 0 | Badge |
| 39.9 Intro to Design Thinking | Lesson | |
| 39.9.1 Case Study: Helping Blind People See | 1 | Connection |
| 39.9.2 Case Study Responses | 5 | Free Response |
| 39.10 Test | Lesson | |
| 39.10.1 Example: How to User Test | 1 | Connection |
| 39.10.2 Example: How NOT to User Test | 1 | Connection |
| 39.10.3 How NOT to User Test Responses | 5 | Free Response |
| 39.11 Visualizing and Interpreting Data | Lesson | |
| 39.11.1 Exploring Data Visualizations | 1 | Notes |
| 39.11.2 US Recorded Music Revenue | 1 | Connection |
| 39.11.3 National Parks | 1 | Connection |
| 39.11.4 March Madness | 1 | Connection |
| 39.11.5 Captain Marvel | 1 | Connection |
Sign up for a free teacher account to get access to curriculum, teacher tools and teacher resources.
Teacher SignupSign up as a student if you are in a school and have a class code given to you by your teacher.
Student Signup