Please enable JavaScript to use CodeHS


1. Introduction to Programming
1.1 Welcome to AP CSP
Video 1.1.1 Welcome to AP CSP
Free Response 1.1.2 Why AP CSP?
1.2 Introduction to Programming With Karel
Video 1.2.1 Introduction to Programming With Karel
Check for Understanding 1.2.2 Quiz: Karel Commands
Example 1.2.3 Our First Karel Program
Exercise 1.2.4 Your First Karel Program
Exercise 1.2.5 Short Stack
Debugging 1.2.6 Dancing Karel
1.3 More Basic Karel
Video 1.3.1 More Basic Karel
Check for Understanding 1.3.2 More Basic Karel Quiz
Example 1.3.3 Tennis Ball Square
Exercise 1.3.4 Make a Tower
Exercise 1.3.5 Pyramid of Karel
Debugging 1.3.6 Go Through the Door
1.4 Karel Can't Turn Right
Video 1.4.1 Karel Can't Turn Right
Check for Understanding 1.4.2 Karel Can't Turn Right Quiz
Example 1.4.3 Tower and Turn Right
Exercise 1.4.4 Fireman Karel
Exercise 1.4.5 Slide Karel
Free Response 1.4.6 Reflection: Teaching Karel New Commands
Badge 1.4.7 Right Turn Karel Badge
1.5 Functions in Karel
Video 1.5.1 Functions in Karel
Check for Understanding 1.5.2 Functions in Karel Quiz
Example 1.5.3 Turn Around
Exercise 1.5.4 Pancakes
Exercise 1.5.5 Backflip
Exercise 1.5.6 Digging Karel
Debugging 1.5.7 Build a Shelter
1.6 The Start Function
Video 1.6.1 The Start Function
Check for Understanding 1.6.2 The Start Function Quiz
Example 1.6.3 Tower with Start Function
Exercise 1.6.4 Pancakes with Start
Exercise 1.6.5 Digging Karel with Start
1.7 Top Down Design and Decomposition in Karel
Video 1.7.1 Top Down Design and Decomposition in Karel
Check for Understanding 1.7.2 Top Down Design and Decomposition Quiz
Example 1.7.3 Hurdle Karel
Exercise 1.7.4 The Two Towers
Debugging 1.7.5 Make a 'Z'
Free Response 1.7.6 Reflection: Top Down Design
1.8 Commenting Your Code
Video 1.8.1 Commenting Your Code
Check for Understanding 1.8.2 Commenting Your Code Quiz
Example 1.8.3 Hurdle Karel
Exercise 1.8.4 The Two Towers + Comments
Free Response 1.8.5 Reflection: Commenting
1.9 Abstraction
Video 1.9.1 Abstraction
Check for Understanding 1.9.2 Abstraction Quiz
Example 1.9.3 Abstracting Away buildTower
Free Response 1.9.4 Abstracting Your Day
Free Response 1.9.5 Reflection: Abstraction
Free Response 1.9.6 Reflection: Abstraction in Karel
1.10 Super Karel
Video 1.10.1 Super Karel
Check for Understanding 1.10.2 Super Karel Quiz
Example 1.10.3 Hurdle Karel (with SuperKarel)
Exercise 1.10.4 The Two Towers + SuperKarel
Badge 1.10.5 Super Karel Badge
1.11 For Loops
Video 1.11.1 For Loops
Check for Understanding 1.11.2 For Loops Quiz
Example 1.11.3 Repeated Move
Example 1.11.4 Put Down Tennis Balls
Exercise 1.11.5 Take 'em All
Exercise 1.11.6 Dizzy Karel
Exercise 1.11.7 For Loop Square
Exercise 1.11.8 Lots of Hurdles
1.12 If Statements
Video 1.12.1 If Statements
Check for Understanding 1.12.2 If Statements Quiz
Example 1.12.3 If Statements
Example 1.12.4 Safe Take Ball
Exercise 1.12.5 Is There a Ball?
Survey 1.12.6 Mindsets
1.13 If/Else Statements
Video 1.13.1 If/Else Statements
Check for Understanding 1.13.2 If/Else Statements Quiz
Example 1.13.3 If/Else Statements
Example 1.13.4 One Ball in Each Spot
Exercise 1.13.5 Right Side Up
Badge 1.13.6 Conditional Karel Badge
1.14 While Loops in Karel
Video 1.14.1 While Loops in Karel
Check for Understanding 1.14.2 While Loops in Karel Quiz
Example 1.14.3 Move to Wall
Exercise 1.14.4 Follow The Yellow Ball Road
Exercise 1.14.5 Lay Row of Tennis Balls
Exercise 1.14.6 Big Tower
1.15 Control Structures Example
Video 1.15.1 Control Structures Example
Check for Understanding 1.15.2 Control Structures Example Quiz
Example 1.15.3 Cleanup Karel
Exercise 1.15.4 Random Hurdles
1.16 Debugging Strategies
Video 1.16.1 Debugging Basics
Check for Understanding 1.16.2 Debugging Basics
Debugging 1.16.3 Debug: The Two Towers
Debugging 1.16.4 Debug: Lots of Hurdles
Video 1.16.5 Debugging From Error Messages
Check for Understanding 1.16.6 Debugging with Error Messages
Debugging 1.16.7 Debug: Big Tower
Debugging 1.16.8 Debug: Random Hurdles
1.17 Karel Algorithms
Video 1.17.1 Karel Algorithms
Check for Understanding 1.17.2 Quiz: Which Control Structure?
Video 1.17.3 Algorithms Example: Move Stack
Example 1.17.4 Move Tennis Ball Stack
Example 1.17.5 Climbing Karel
Exercise 1.17.6 Decorate the Fence
1.18 How to Indent Your Code
Video 1.18.1 How to Indent Your Code
Check for Understanding 1.18.2 How to Indent Your Code Quiz
Example 1.18.3 Dance and Clean Karel
Exercise 1.18.4 Diagonal
Exercise 1.18.5 Staircase
1.19 Ultra Karel
Video 1.19.1 Ultra Karel
Check for Understanding 1.19.2 Ultra Karel Quiz
Example 1.19.3 Red Frame
Example 1.19.4 Slip 'n Slide
Exercise 1.19.5 Invert Colors
Exercise 1.19.6 Checkerboard Karel
Badge 1.19.7 Karel Exercises Badge
1.20 Karel Challenges
Challenge 1.20.1 Fetch
Challenge 1.20.2 Racing Karel
Challenge 1.20.3 Tower Builder
Challenge 1.20.4 Super Cleanup Karel
Challenge 1.20.5 Double Tennis Balls
Badge 1.20.6 Karel Challenges Badge
1.21 Introduction to Programming Quiz
Unit Quiz 1.21.1 Introduction to Programming Quiz
2. Practice PT: Pair-Programming Paint!
2.1 Practice PT: Pair-Programming Paint!
Video 2.1.1 Pair-Programming
Check for Understanding 2.1.2 Pair-Programming
Connection 2.1.3 Create PT Scoring Guidelines
Free Response 2.1.4 Setting Norms
Free Response 2.1.5 Brainstorm and Discuss
Free Response 2.1.6 Planning
Free Response 2.1.7 Program Documentation
Free Response 2.1.8 Pseudocode
Challenge 2.1.9 Create your UltraKarel Image!
Free Response 2.1.10 Reflection
Badge 2.1.11 Karel Practice PT Badge
3. Programming with JavaScript
3.1 What is Code
Video 3.1.1 What is Code?
Connection 3.1.2 What is Software
Free Response 3.1.3 Respond: What is Software
3.2 Uses of Programs
Video 3.2.1 Uses of Programs
Connection 3.2.2 Why Should You Learn to Program?
Free Response 3.2.3 Reflection: Learning to Program
Free Response 3.2.4 Reflection: Programs in Your Life
Free Response 3.2.5 Reflection: Future Programs
Free Response 3.2.6 Task: Computing Innovations
3.3 Hello World
Video 3.3.1 Hello World
Check for Understanding 3.3.2 Hello World Quiz
Example 3.3.3 Hello World
Exercise 3.3.4 Your Name and Hobby
3.4 Variables
Video 3.4.1 Variables
Check for Understanding 3.4.2 Variables Quiz
Example 3.4.3 Basic Variables
Exercise 3.4.4 Apples and Oranges
AP Practice 3.4.5 AP Practice: Variables
3.5 User Input
Video 3.5.1 User Input
Check for Understanding 3.5.2 User Input Quiz
Example 3.5.3 Basic User Input
Exercise 3.5.4 Obi-Wan Says
AP Practice 3.5.5 AP Practice: User Input
Badge 3.5.6 User Input Badge
3.6 Basic Math in JavaScript
Video 3.6.1 Basic Math in JavaScript
Check for Understanding 3.6.2 Basic Math in JavaScript Quiz
Example 3.6.3 Order of Operations
Example 3.6.4 Dollars to Pounds
Example 3.6.5 Dividing Up Groups
Exercise 3.6.6 Sporting Goods Shop
Exercise 3.6.7 Running Speed
Exercise 3.6.8 24 vs. "24"
AP Practice 3.6.9 AP Practice: Arithmetic Operators
3.7 Using Graphics in JavaScript
Video 3.7.1 Graphics
Check for Understanding 3.7.2 JavaScript Graphics Quiz
Example 3.7.3 Graphics Hello World
Example 3.7.4 Blue Circle
Example 3.7.5 Red Rectangle
Example 3.7.6 8 Ball
Exercise 3.7.7 French Flag
Exercise 3.7.8 Snowman
Badge 3.7.9 Graphics Badge
3.8 Mouse Events: Mouse Clicked
Video 3.8.1 Mouse Events: Mouse Clicked
Check for Understanding 3.8.2 Mouse Events: Mouse Clicked Quiz
Example 3.8.3 Click For Circles
Example 3.8.4 Click For Mickey
Exercise 3.8.5 Click for Rectangles
3.9 Programming with JavaScript Quiz
Unit Quiz 3.9.1 Programming with JavaScript Quiz
Badge 3.9.2 Graphics Badge
4. JavaScript Control Structures
4.1 Booleans
Video 4.1.1 Booleans
Check for Understanding 4.1.2 Booleans Quiz
Example 4.1.3 First Boolean
Exercise 4.1.4 Do You Have a Cat?
4.2 Logical Operators
Video 4.2.1 Logical Operators
Check for Understanding 4.2.2 Logical Operators Quiz
Example 4.2.3 Light Switch
Example 4.2.4 President
Example 4.2.5 Wasting Time
Exercise 4.2.6 Can You Graduate?
Exercise 4.2.7 School's Out
4.3 Comparison Operators
Video 4.3.1 Comparison Operators
Check for Understanding 4.3.2 Comparison Operators Quiz
Example 4.3.3 Voting Age
Example 4.3.4 Grade Range
Exercise 4.3.5 Rolling Dice
Exercise 4.3.6 All Star
AP Practice 4.3.7 AP Practice: Comparison Operators
4.4 If Statements
Video 4.4.1 If Statements
Check for Understanding 4.4.2 If Statements Quiz
Example 4.4.3 Negative Numbers
Example 4.4.4 Great Names
Example 4.4.5 Even and Odd
Example 4.4.6 Secret Password
Exercise 4.4.7 Teenagers
Video 4.4.8 Input Validation and Conditionals
AP Practice 4.4.9 Conditional Pseudocode Activity
Badge 4.4.10 Conditionals Badge
4.5 Applying Conditionals - Password Validation
Video 4.5.1 Password Protection
Exercise 4.5.2 Password Checker
Connection 4.5.3 How are passwords saved?
Free Response 4.5.4 Reflect: How are passwords saved?
Exercise 4.5.5 Create a password
Connection 4.5.6 Ethics Moment: Impact of Code
Free Response 4.5.7 Reflection: Impact of Code
4.6 Key Events
Video 4.6.1 Key Events
Check for Understanding 4.6.2 Key Events Quiz
Example 4.6.3 Keyboard Square
Exercise 4.6.4 Growing Circle
4.7 For Loops in JavaScript
Video 4.7.1 Basic For Loop
Check for Understanding 4.7.2 For Loops Quiz
Example 4.7.3 For Loop
Exercise 4.7.4 Meme Text Generator
Exercise 4.7.5 The Worm
Exercise 4.7.6 Caterpillar
4.8 General For Loops
Video 4.8.1 General For Loop
Check for Understanding 4.8.2 General For Loop Quiz
Example 4.8.3 Countdown
Example 4.8.4 Count By Twos
Exercise 4.8.5 Count By Sevens
Exercise 4.8.6 Powers of Two
Video 4.8.7 Iterations
AP Practice 4.8.8 Iterative Pseudocode Activity - Part 1
4.9 For Loop Practice
Video 4.9.1 For Loop Examples
Check for Understanding 4.9.2 For Loop Examples Quiz
Example 4.9.3 For Loop Sum
Exercise 4.9.4 Better Sum
Exercise 4.9.5 Factorial
Exercise 4.9.6 All Dice Values
Connection 4.9.7 Ethics Moment: Sampling Music
Free Response 4.9.8 Reflection: Sampling Music
4.10 Random Numbers
Video 4.10.1 Random Numbers
Check for Understanding 4.10.2 Random Numbers Quiz
Example 4.10.3 Rolling a Die
Example 4.10.4 Flipping a Coin
Exercise 4.10.5 Lots of Dice
Exercise 4.10.6 Random Color Square
Survey 4.10.7 Mindsets
4.11 While Loops
Video 4.11.1 While Loops
Check for Understanding 4.11.2 While Loops Quiz
Example 4.11.3 While Loop Countdown
Exercise 4.11.4 Inventory
Exercise 4.11.5 Fibonacci
Exercise 4.11.6 Verify the Password Length
AP Practice 4.11.7 Iterative Pseudocode Activity - Part 2
4.12 Loop and a Half
Video 4.12.1 Loop and a Half
Check for Understanding 4.12.2 Loop and a Half Quiz
Example 4.12.3 Adding Up Numbers
Exercise 4.12.4 Snake Eyes
Exercise 4.12.5 Making a Stronger Password
Exercise 4.12.6 Passwords with Letters and Numbers
Badge 4.12.7 Looper Badge
4.13 Javascript Control Structures Quiz
Unit Quiz 4.13.1 JavaScript Control Structures Quiz
5. Functions and Parameters
5.1 Functions and Parameters 1
Video 5.1.1 Functions and Parameters 1
Check for Understanding 5.1.2 Functions and Parameters Quiz 1
Example 5.1.3 Double Number
Exercise 5.1.4 Square
Exercise 5.1.5 Triple
5.2 Functions and Parameters 2
Video 5.2.1 Functions and Parameters 2
Check for Understanding 5.2.2 Functions and Parameters Quiz 2
Example 5.2.3 Sum Function
Exercise 5.2.4 Area of Triangle
Exercise 5.2.5 Height in Meters
5.3 Functions and Parameters 3
Video 5.3.1 Functions and Parameters 3
Check for Understanding 5.3.2 Functions and Parameters Quiz 3
Example 5.3.3 Draw Circles
Exercise 5.3.4 Horizontal Lines
Exercise 5.3.5 Graphics Stop Light
Exercise 5.3.6 Pool Table
Badge 5.3.7 Parameters Badge
5.4 Functions and Return Values 1
Video 5.4.1 Functions and Return Values 1
Check for Understanding 5.4.2 Functions and Return Values Quiz
Example 5.4.3 Double Number
Exercise 5.4.4 Square with Return Values
Exercise 5.4.5 Quadruple with Return Values
5.5 Functions and Return Values 2
Video 5.5.1 Functions and Return Values 2
Check for Understanding 5.5.2 Functions and Return Values Quiz 2
Example 5.5.3 Return Values
Exercise 5.5.4 Is It Even?
Exercise 5.5.5 Min
5.6 Local Variables and Scope
Video 5.6.1 Local Variables and Scope
Check for Understanding 5.6.2 Local Variables and Scope Quiz
Example 5.6.3 Return Values
Exercise 5.6.4 Local Variables
5.7 JavaScript vs Karel
Video 5.7.1 JavaScript vs Karel
Example 5.7.2 Making Karel's World
Example 5.7.3 Making Karel Turn Left
Exercise 5.7.4 Making Karel Turn Right
Exercise 5.7.5 Making Karel Move
Connection 5.7.6 What is an API?
Free Response 5.7.7 Reflection: Is Karel an API?
Badge 5.7.8 JavaScript Exercises Badge
5.8 Basic JavaScript and Graphics Challenges
Challenge 5.8.1 Ghosts
Challenge 5.8.2 Guessing Game
Challenge 5.8.3 Draw Something
Badge 5.8.4 JavaScript Challenges Badge
5.9 Functions and Parameters Quiz
Unit Quiz 5.9.1 Functions and Parameters Quiz
6. Practice PT: Tell a Story
6.1 Project: Tell a Story
Demo 6.1.1 Tell a Story Demo
Connection 6.1.2 Create PT Scoring Guidelines
Free Response 6.1.3 Brainstorm and Discuss
Free Response 6.1.4 Planning
Free Response 6.1.5 Pseudocode
Challenge 6.1.6 Tell a Story!
Free Response 6.1.7 Reflection
7. Basic Data Structures
7.1 Intro to Lists/Arrays
Video 7.1.1 Intro to Lists/Arrays
Check for Understanding 7.1.2 Intro to Lists/Arrays Quiz
Example 7.1.3 Making an Array
Exercise 7.1.4 List of Places to Travel
Exercise 7.1.5 List of Prime Numbers
7.2 Indexing Into an Array
Video 7.2.1 Indexing Into an Array
Check for Understanding 7.2.2 Indexing into an Array Quiz
Example 7.2.3 Array Indexing Practice
Exercise 7.2.4 Top Movies
Badge 7.2.5 Indexing Badge
7.3 Adding/Removing From an Array
Video 7.3.1 Adding/Removing From an Array
Check for Understanding 7.3.2 Adding/Removing from an Array Quiz
Example 7.3.3 Add/Remove From Array
Exercise 7.3.4 Empty Array (Push/Pop)
Video 7.3.5 Intro to Lists
Check for Understanding 7.3.6 List Introduction
7.4 Array Length and Looping Through Arrays
Video 7.4.1 Array Length and Looping Through Arrays
Check for Understanding 7.4.2 Array Length and Looping Through Arrays Quiz
Example 7.4.3 Print Shopping List
Example 7.4.4 Print First Five Items
Example 7.4.5 Sum Array
Example 7.4.6 Max Value in Array
Exercise 7.4.7 Product of List
Exercise 7.4.8 Print Flight Itinerary
Exercise 7.4.9 Double List
Exercise 7.4.10 Evens Only List
Exercise 7.4.11 In a World Without Arrays!
Free Response 7.4.12 Reflection: World Without Arrays!
Exercise 7.4.13 Reverse List
7.5 Iterating Over an Array
Video 7.5.1 Examples: Iterating Over an Array
Check for Understanding 7.5.2 Iterating Over an Array Quiz
Example 7.5.3 Coin Flips
Example 7.5.4 Many Crazy Balls
Exercise 7.5.5 Coin Flip Fun: Number of Heads and Tails
Exercise 7.5.6 Coin Flip Fun: Longest Streak of Heads
Exercise 7.5.7 Changing Circles
Exercise 7.5.8 Draw a Barcode
Video 7.5.9 Traversing a List
Check for Understanding 7.5.10 Traversing a List
Badge 7.5.11 Arrays Badge
Survey 7.5.12 Mindsets
7.6 Finding an Element in a List
Video 7.6.1 Finding an Element in a List
Check for Understanding 7.6.2 Finding an Element in a List Quiz
Example 7.6.3 Array indexOf
Exercise 7.6.4 Who is in Line?
Example 7.6.5 Algorithm Efficiency
7.7 Removing an Element From an Array
Video 7.7.1 Removing an Element From an Array
Check for Understanding 7.7.2 Removing an Element from an Array Quiz
Example 7.7.3 Splice and Remove
Exercise 7.7.4 Remove From Line
AP Practice 7.7.5 AP Practice: List Procedures
7.8 Applying Iteration: Usernames and Passwords
Video 7.8.1 Username and Password Creation
Free Response 7.8.2 Usernames and Passwords: Pseudocode
Exercise 7.8.3 Usernames and Passwords: JavaScript
Challenge 7.8.4 Username and Password Verification
Connection 7.8.5 Ethics Moment: Facebook and AWS
Free Response 7.8.6 Reflection: Facebook and AWS
7.9 Simulation
Video 7.9.1 Simulation
Example 7.9.2 Gravity Simulation
Example 7.9.3 Conway's Game of Life
Exercise 7.9.4 Simulating a Coin Flip
Connection 7.9.5 Wolf Sheep Predation Simulation
Badge 7.9.6 Data Structures Exercises Badge
7.10 Basic Data Structures Quiz
Unit Quiz 7.10.1 Basic Data Structures Quiz
8. Digital Information
8.1 Intro to Digital Information
Video 8.1.1 What is Digital Information?
Check for Understanding 8.1.2 What is Digital Information Quiz
Example 8.1.3 Fast Food Menu
Example 8.1.4 DNA
Free Response 8.1.5 Reflection: Encodings Everywhere
8.2 Number Systems
Video 8.2.1 Number Systems
Notes 8.2.2 Number Base Tool
Check for Understanding 8.2.3 Number Systems Quiz
Video 8.2.4 Decimal to Binary
Check for Understanding 8.2.5 Decimal to Binary Quiz
Exercise 8.2.6 Binary Game
Exercise 8.2.7 Overflow Error
Example 8.2.8 More Overflow Errors
8.3 Encoding Text with Binary
Video 8.3.1 Encoding Text with Binary
Check for Understanding 8.3.2 Encoding Text with Binary Quiz
Example 8.3.3 Morse Code
Example 8.3.4 Decoding a Binary Message
Example 8.3.5 2-bit Custom Encoding
Example 8.3.6 Bits to ASCII
Exercise 8.3.7 Hello Karel in Bits
Exercise 8.3.8 Create your own Encoding
Exercise 8.3.9 Text to Binary
Badge 8.3.10 Encoding Badge
8.4 Pixel Images
Video 8.4.1 Pixel Images
Check for Understanding 8.4.2 Pixel Images Quiz
Resource 8.4.3 Creating Pixel Images
Example 8.4.4 CodeHS Logo
Exercise 8.4.5 Checkerboard
Exercise 8.4.6 Ladder
Exercise 8.4.7 Create an Image!
8.5 Hexadecimal
Video 8.5.1 Hexadecimal
Check for Understanding 8.5.2 Hexadecimal Quiz
Example 8.5.3 Hexadecimal to Decimal
Exercise 8.5.4 Binary to Hex Game
8.6 Pixel Colors!
Video 8.6.1 Pixel Colors
Check for Understanding 8.6.2 Pixel Colors Quiz
Example 8.6.3 Colors in Bits
Example 8.6.4 Colors in Text
Example 8.6.5 Colors in RGB
Exercise 8.6.6 Exploring RGB
Exercise 8.6.7 Making Yellow
Exercise 8.6.8 Rainbow
Exercise 8.6.9 Create a Color Image!
8.7 Image Manipulation
Video 8.7.1 Manipulating Images
Check for Understanding 8.7.2 Manipulating Images Quiz
Video 8.7.3 Programming with WebImage
Check for Understanding 8.7.4 Programming with WebImage Quiz
Example 8.7.5 Black and White Filter
Example 8.7.6 Brighten Filter
Example 8.7.7 Saturation Filter
Example 8.7.8 Pixel Picker
Exercise 8.7.9 Invert Filter
Exercise 8.7.10 Blue Filter
Exercise 8.7.11 Darken Filter
Badge 8.7.12 Image Manipulation Badge
8.8 Data Compression
Video 8.8.1 Data Compression
Check for Understanding 8.8.2 Data Compression Quiz
Video 8.8.3 Run Length Encoding
Check for Understanding 8.8.4 Run Length Encoding Quiz
Example 8.8.5 Run Length Encoding
Example 8.8.6 Custom Image Compression
Free Response 8.8.7 Respond: Custom Image Compression
8.9 Lossy Compression
Video 8.9.1 Lossy Compression
Check for Understanding 8.9.2 Lossy Compression Quiz
Example 8.9.3 Remove the Vowels
Exercise 8.9.4 Decreasing Resolution
Connection 8.9.5 Analog to Digital
Free Response 8.9.6 Respond: Analog to Digital
8.10 Introduction to Steganography
Connection 8.10.1 Introduction to Steganography
Connection 8.10.2 What is steganography?
Example 8.10.3 Hide Text
Video 8.10.4 Steganography
Free Response 8.10.5 Creating a Secret Message
Connection 8.10.6 Data Hiding and Extraction
Free Response 8.10.7 Reflect: Data Hiding and Extraction
8.11 Ethics of Steganography
Video 8.11.1 Steganography - Part 2
Connection 8.11.2 Government Surveillance and Reality Winner
Free Response 8.11.3 Government Surveillance and Reality Winner
Connection 8.11.4 Ethics Moment: Government Surveillance
Free Response 8.11.5 Reflection: Government Surveillance
8.12 Digital Information Quiz
Unit Quiz 8.12.1 Digital Information Quiz
Badge 8.12.2 Digital Information Badge
9. Practice PT: Steganography - Color Channels
9.1 Steganography Exploration
Exercise 9.1.1 Part 1: Loading images
Exercise 9.1.2 Upload your own photos
Exercise 9.1.3 Part 2: The encrypt function
Exercise 9.1.4 Part 3: The decrypt function
10. Encryption
10.1 Caesar Ciphers
Connection 10.1.1 Introduction to Caesar Ciphers
Video 10.1.2 slides
Connection 10.1.3 A Caesar Cipher
Free Response 10.1.4 Encryption and Decryption
Check for Understanding 10.1.5 Decryption Practice
Exercise 10.1.6 Caesar Cipher Encryption
10.2 Decrypting and Breaking Caesar Ciphers
Exercise 10.2.1 Caesar Cipher Decryption
Exercise 10.2.2 Break Caesar's Cipher!
Free Response 10.2.3 Reflection: Caesar's Cipher
Connection 10.2.4 Ethics Moment: Apple v. Barr
Free Response 10.2.5 Reflection: Apple v. Barr
10.3 Vigenère Cipher
Video 10.3.1 Vigenère Cipher
Connection 10.3.2 One-Time Pad Cipher
Connection 10.3.3 How a Vigenère Cipher Works
Free Response 10.3.4 Vigenère Scavenger Hunt
Free Response 10.3.5 Vigenère Pseudocode
Exercise 10.3.6 Write your own Vigenère Cipher
Free Response 10.3.7 Reflection: Vigenère Cipher
Connection 10.3.8 Ethics Moment: Cryptography and the NSA
Free Response 10.3.9 Reflection: Cryptography and the NSA
10.4 Symmetric and Public Key Encryption
Video 10.4.1 Symmetric and Public Key Encryption
Connection 10.4.2 Diffie-Hellman Key Exchange
Example 10.4.3 Diffie-Hellman Key Exchange
Exercise 10.4.4 Public Key Programming Exercise
Connection 10.4.5 RSA Encryption: Step 1
Connection 10.4.6 RSA Encryption: Step 2
Connection 10.4.7 RSA Encryption: Step 3
Connection 10.4.8 RSA Encryption: Step 4
Notes 10.4.9 RSA Encryption
Free Response 10.4.10 RSA Reflection
Connection 10.4.11 Ethics Moment: Ransomware
Free Response 10.4.12 Reflection: Ransomware
11. Practice PT: Create an Image Filter!
11.1 Practice PT: Create an Image Filter!
Connection 11.1.1 Create PT Scoring Guidelines
Challenge 11.1.2 Practice PT: Create an Image Filter!
Free Response 11.1.3 Reflection
12. The Internet
12.1 Welcome to the Internet
Video 12.1.1 Welcome to the Internet
Check for Understanding 12.1.2 Welcome to the Internet Quiz
Free Response 12.1.3 Reflection: The Internet and You
12.2 Internet Hardware
Video 12.2.1 Devices and Networks
Video 12.2.2 Hardware of the Internet
Check for Understanding 12.2.3 Internet Hardware Quiz
Connection 12.2.4 The Internet is in the Ocean
12.3 Internet Addresses
Video 12.3.1 Internet Addresses
Check for Understanding 12.3.2 Internet Addresses Quiz
Free Response 12.3.3 Free Response: The Need for Addresses
Check for Understanding 12.3.4 4-bit Addresses
Free Response 12.3.5 Free Response: IPv4 vs IPv6
12.4 Viewing Websites
Video 12.4.1 Viewing Websites
Check for Understanding 12.4.2 Viewing Websites Quiz
Free Response 12.4.3 Free Response: Explaining a URL
12.5 DNS and Routing
Video 12.5.1 DNS
Check for Understanding 12.5.2 DNS Quiz
Connection 12.5.3 How Does DNS Work?
Free Response 12.5.4 Respond: How Does DNS Work?
Badge 12.5.5 DNS Badge
12.6 Routing
Video 12.6.1 Routing
Check for Understanding 12.6.2 Routing Quiz
Free Response 12.6.3 Free Response: Redundancy
12.7 Packets and Protocols
Video 12.7.1 Packets and Protocols
Check for Understanding 12.7.2 Packets and Protocols Quiz
Resource 12.7.3 Passing Notes
Connection 12.7.4 How the Internet Works
Free Response 12.7.5 The Story of the Internet
12.8 Sequential, Parallel & Distributed Computing
Video 12.8.1 Computer Processing Operations
Check for Understanding 12.8.2 Computer Processing Operations Quiz
Resource 12.8.3 Sequential vs. Parallel Activity
Free Response 12.8.4 Free Response: Sequential vs. Parallel
12.9 The Impact of the Internet
Video 12.9.1 The Impact of the Internet
Check for Understanding 12.9.2 The Impact of the Internet Quiz
Free Response 12.9.3 Reflection: Internet Impact
Connection 12.9.4 Crucial Steps to Close the Digital Divide
Free Response 12.9.5 Reflection: Closing the Digital Divide
Connection 12.9.6 Pokemon Go: Unintended Effects
Free Response 12.9.7 Reflection: Unintended Effects
12.10 Creative Credit & Copyright
Video 12.10.1 Creative Credit and Copyright
Check for Understanding 12.10.2 Creative Credit and Copyright
Free Response 12.10.3 Cite!
Connection 12.10.4 Exploring Creative Commons
Free Response 12.10.5 Respond: Creative Commons
Free Response 12.10.6 Task: Finding Images
Free Response 12.10.7 Reflection: Why is Copyright Important?
12.11 The Internet Quiz
Unit Quiz 12.11.1 The Internet Quiz
Badge 12.11.2 The Internet Badge
13. Cybersecurity
13.1 Introduction to Cybersecurity
Notes 13.1.1 Warm-Up
Video 13.1.2 Cybersecurity
Check for Understanding 13.1.3 Cybersecurity Quiz
Video 13.1.4 Gone Phishing
Connection 13.1.5 Deepfake Videos
Free Response 13.1.6 Keeping Secrets
Connection 13.1.7 Phishing Quiz
Connection 13.1.8 How is Your Phishing IQ?
Example 13.1.9 Phishing Simulator
Free Response 13.1.10 Reflection: Phishing Emails
Free Response 13.1.11 Think-Pair-Share Activity
13.2 CIA Triad
Notes 13.2.1 Warm-Up
Video 13.2.2 CIA Triad
Free Response 13.2.3 Alice-Bob-Eve
Free Response 13.2.4 PII
Free Response 13.2.5 CIA Breach
Free Response 13.2.6 Identity Theft
Free Response 13.2.7 CIA and Phishing
Free Response 13.2.8 Challenge: Create a Phishing Email
Free Response 13.2.9 Challenge: Investigate Legalities
13.3 Identity Crisis
Notes 13.3.1 Warm Up
Video 13.3.2 Identity Crisis
Connection 13.3.3 Sharing Passwords
Free Response 13.3.4 Reflect: Sharing Passwords
Connection 13.3.5 What is your password?
Free Response 13.3.6 Identity crisis activity
Free Response 13.3.7 World's Biggest Data Breaches
Free Response 13.3.8 Research: Types of Attacks
Example 13.3.9 You Can Be Tracked!
13.4 Let Me In
Notes 13.4.1 Warm Up
Video 13.4.2 Authenticate and Authorize
Free Response 13.4.3 How do you protect your data?
Free Response 13.4.4 Common Passwords
Connection 13.4.5 Password Strength
Free Response 13.4.6 Reflection: Password Strength
Video 13.4.7 What Makes a Password Strong?
Example 13.4.8 Multifactor Authentication
Exercise 13.4.9 One Pager: Password Security
13.5 Introduction to Networking
Notes 13.5.1 Warm Up
Connection 13.5.2 Ethics Moment: Equifax Data Breach
Free Response 13.5.3 Reflection: Equifax Data Breach
Exercise 13.5.4 Muddy City
Free Response 13.5.5 Reflection: Muddy City
Connection 13.5.6 Rogue Access Points
13.6 OSI model activity
Free Response 13.6.1 Introduction
Free Response 13.6.2 Event 1: Truck Payload Change
Free Response 13.6.3 Event 2: Truck Payload Change
Free Response 13.6.4 Event 3: Route Change
Free Response 13.6.5 Event 4: Envelopes Never Arrive
Free Response 13.6.6 Event 5: Missing One Box
Free Response 13.6.7 Event 6: Box Payload Change
Free Response 13.6.8 Organizing the Events
Video 13.6.9 Relating this to the Internet
13.7 Network Attacks
Notes 13.7.1 Warm Up
Exercise 13.7.2 One Pager: Network Attacks
Free Response 13.7.3 Reflection: Network Attacks
13.8 Basic Cybersecurity Risk Concepts
Notes 13.8.1 Warm up
Video 13.8.2 Basic Cybersecurity Risk, Part 1
Free Response 13.8.3 Personal Data Threats
Video 13.8.4 Basic Cybersecurity Risk, Part 2
Free Response 13.8.5 Risk and Consequences: Part 1
Free Response 13.8.6 Risk and Consequences: Part 2
Free Response 13.8.7 Digital Footprint
13.9 Cybersecurity Risk Model-Assessing Risk
Notes 13.9.1 Warm up
Video 13.9.2 Assessing Risk, Part 1
Notes 13.9.3 Think, Pair, Share: Assets
Video 13.9.4 Assessing Risk, Part 2
Free Response 13.9.5 Risk Scenario Assessment 1: Malware
Free Response 13.9.6 Risk Scenario Assessment 2: Identity Theft
Free Response 13.9.7 Risk Scenario Assessment 3: Ransomware
Free Response 13.9.8 Risk Scenario Assessment 4: Email Compromise
Free Response 13.9.9 Asset Identification Activity
13.10 Cybersecurity Risk Model-Vulnerabilities
Notes 13.10.1 Warm up
Video 13.10.2 Vulnerabilities
Check for Understanding 13.10.3 National Vulnerability Database Activity
Free Response 13.10.4 Exploring Vulnerabilities
13.11 Cybersecurity Risk Model-Security Controls
Notes 13.11.1 Warm up
Connection 13.11.2 Internet of Things
Video 13.11.3 Security Controls
Free Response 13.11.4 Defense in Depth
Connection 13.11.5 Ethics Moment: The Risk of AI
Free Response 13.11.6 Reflect: The Risk of AI
14. Practice PT: Cyber Ethics
14.1 CyberEthics
Video 14.1.1 Presentation
Free Response 14.1.2 Topics
Free Response 14.1.3 Problem Summary
Free Response 14.1.4 Pros and Cons
Free Response 14.1.5 Your Solution
Free Response 14.1.6 Writing an Introduction
Free Response 14.1.7 Developing your position
Free Response 14.1.8 Conclusion
Free Response 14.1.9 Position Paper
15. Data
15.1 Getting Started with Data
Video 15.1.1 Getting Started with Data
Check for Understanding 15.1.2 Getting Started with Data Quiz
Connection 15.1.3 What Do We Do With Data?
Free Response 15.1.4 Reflection: Continuously Collecting Data
15.2 Visualizing and Interpreting Data
Video 15.2.1 Visualizing Data
Check for Understanding 15.2.2 Visualizing Data Quiz
Notes 15.2.3 Exploring Data Visualizations
Connection 15.2.4 US Recorded Music Revenue
Connection 15.2.5 National Parks
Connection 15.2.6 March Madness
Connection 15.2.7 Captain Marvel
Free Response 15.2.8 Respond: Visualizations
Free Response 15.2.9 Free Response: Choosing a Visualization
Check for Understanding 15.2.10 Visualizing & Interpreting Data Quiz
15.3 Data Collection & Limitations
Video 15.3.1 Collecting Data
Check for Understanding 15.3.2 Collecting Data Quiz
Free Response 15.3.3 Reflection: Design a Survey
Free Response 15.3.4 Reflection: Self-Driving Cars
Check for Understanding 15.3.5 Data Collection Quiz
Video 15.3.6 Data Limitations
Check for Understanding 15.3.7 Interpreting Data Quiz
Example 15.3.8 Line Graph
Example 15.3.9 Bar Graph
Example 15.3.10 Pie Chart
Free Response 15.3.11 Reflection: Importance of Metadata
15.4 Unintentional Data Sharing
Notes 15.4.1 Warm up
Video 15.4.2 Personal Data Vulnerabilities
Free Response 15.4.3 Spokeo
Connection 15.4.4 Cyber Insecurity
Free Response 15.4.5 Who is this Person?
Free Response 15.4.6 Who is this Person? - Car
Free Response 15.4.7 Who is this Person? - Hobby
Free Response 15.4.8 What can you learn from ...
Example 15.4.9 Social Media Clean-up
15.5 Metadata and Data Collection
Notes 15.5.1 Warm Up
Video 15.5.2 Understanding Metadata
Free Response 15.5.3 Image Data Extraction
Free Response 15.5.4 Information about your images
Free Response 15.5.5 Security Vulnerability
Connection 15.5.6 Ethics Moment: Collection of Data
Free Response 15.5.7 Reflection: Collection of Data
Connection 15.5.8 Online Privacy
15.6 Data Quiz
Unit Quiz 15.6.1 Data Quiz
16. Project: Present a Data-Driven Insight
16.1 Present a Data-Driven Insight
Free Response 16.1.1 Topic Brainstorm
Free Response 16.1.2 Gathering Resources
Presentation 16.1.3 Make a Visualization
Free Response 16.1.4 Written Responses
Free Response 16.1.5 Share Your Findings
17. Project: The Impacts of Computing
17.1 The Impacts of Computing
Free Response 17.1.1 Artifact Creation
Free Response 17.1.2 Selecting Computing Innovations
Free Response 17.1.3 Data as an Input and an Output
Free Response 17.1.4 Data Privacy and Security
18. Create Performance Task
18.1 Create Performance Task
Connection 18.1.1 Create PT Scoring Guidelines
Challenge 18.1.2 Create Performance Task
19. AP Exam Review
19.1 Preparation
Resource 19.1.1 AP Exam Reference Sheet
Notes 19.1.2 Course Review
19.2 Practice AP Exam
AP Practice 19.2.1 Practice AP Exam
20. Creative Development
20.1 Intro to Design Thinking
Video 20.1.1 Intro to Design Thinking
Check for Understanding 20.1.2 Intro to Design Thinking
Free Response 20.1.3 User Interface Scavenger Hunt
Connection 20.1.4 Case Study: Helping Blind People See
Free Response 20.1.5 Case Study Responses
Demo 20.1.6 Tell a Story Demo
Free Response 20.1.7 Brainstorming Project Ideas
20.2 Prototype
Video 20.2.1 Prototype
Check for Understanding 20.2.2 Prototype Quiz
Connection 20.2.3 Wizard of Oz Prototyping
Connection 20.2.4 Example Wizard of Oz Paper Prototype
Free Response 20.2.5 Make Your Paper Prototypes!
20.3 Test
Video 20.3.1 Test
Check for Understanding 20.3.2 Testing Quiz
Connection 20.3.3 Testing with Users
Connection 20.3.4 Example: How to User Test
Free Response 20.3.5 How to User Test Responses
Connection 20.3.6 Example: How NOT to User Test
Free Response 20.3.7 How NOT to User Test Responses
Resource 20.3.8 How to Make Accessible Programs
Free Response 20.3.9 Test Prototype 1
Free Response 20.3.10 Test Prototype 2
Free Response 20.3.11 Improve Your Prototype
20.4 Project Prep and Development
Free Response 20.4.1 Online Collaboration Tools
Free Response 20.4.2 Pseudocode
Challenge 20.4.3 Write the Code!
Presentation 20.4.4 Present your Project
Survey 20.4.5 Mindsets
21. Final
21.1 Final
Final 21.1.1 Final Pt 1: Multiple Choice