Please enable JavaScript to use CodeHS


AP Computer Science Principles: Cybersecurity

Lessons

  1. Introduction to Programming

    1. 1.1 Welcome to AP CSP

    2. Description
    3. Objective
    4. 1.2 Introduction to Programming With Karel

    5. Description
    6. Objective
    7. 1.3 More Basic Karel

    8. Description
    9. Objective
    10. 1.4 Karel Can't Turn Right

    11. Description
    12. Objective
    13. 1.5 Functions in Karel

    14. Description
    15. Objective
    16. 1.6 The Start Function

    17. Description
    18. Objective
    19. 1.7 Top Down Design and Decomposition in Karel

    20. Description
    21. Objective
    22. 1.8 Commenting Your Code

    23. Description
    24. Objective
    25. 1.9 Abstraction

    26. Description
    27. Objective
    28. 1.10 Super Karel

    29. Description
    30. Objective
    31. 1.11 For Loops

    32. Description
    33. Objective
    34. 1.12 If Statements

    35. Description
    36. Objective
    37. 1.13 If/Else Statements

    38. Description
    39. Objective
    40. 1.14 While Loops in Karel

    41. Description
    42. Objective
    43. 1.15 Control Structures Example

    44. Description
    45. Objective
    46. 1.16 Debugging Strategies

    47. Description
    48. Objective
    49. 1.17 Karel Algorithms

    50. Description
    51. Objective
    52. 1.18 How to Indent Your Code

    53. Description
    54. Objective
    55. 1.19 Ultra Karel

    56. Description
    57. Objective
    58. 1.20 Karel Challenges

    59. Description
    60. Objective
    61. 1.21 Introduction to Programming Quiz

    62. Description
    63. Objective
  2. Practice PT: Pair-Programming Paint!

    1. 2.1 Practice PT: Pair-Programming Paint!

    2. Description
    3. Objective
  3. Programming with JavaScript

    1. 3.1 What is Code

    2. Description
    3. Objective
    4. 3.2 Uses of Programs

    5. Description
    6. Objective
    7. 3.3 Hello World

    8. Description
    9. Objective
    10. 3.4 Variables

    11. Description
    12. Objective
    13. 3.5 User Input

    14. Description
    15. Objective
    16. 3.6 Basic Math in JavaScript

    17. Description
    18. Objective
    19. 3.7 Using Graphics in JavaScript

    20. Description
    21. Objective
    22. 3.8 Mouse Events: Mouse Clicked

    23. Description
    24. Objective
    25. 3.9 Programming with JavaScript Quiz

    26. Description
    27. Objective
  4. JavaScript Control Structures

    1. 4.1 Booleans

    2. Description
    3. Objective
    4. 4.2 Logical Operators

    5. Description
    6. Objective
    7. 4.3 Comparison Operators

    8. Description
    9. Objective
    10. 4.4 If Statements

    11. Description
    12. Objective
    13. 4.5 Applying Conditionals - Password Validation

    14. Description
    15. Objective
    16. 4.6 Key Events

    17. Description
    18. Objective
    19. 4.7 For Loops in JavaScript

    20. Description
    21. Objective
    22. 4.8 General For Loops

    23. Description
    24. Objective
    25. 4.9 For Loop Practice

    26. Description
    27. Objective
    28. 4.10 Random Numbers

    29. Description
    30. Objective
    31. 4.11 While Loops

    32. Description
    33. Objective
    34. 4.12 Loop and a Half

    35. Description
    36. Objective
    37. 4.13 Javascript Control Structures Quiz

    38. Description
    39. Objective
  5. Functions and Parameters

    1. 5.1 Functions and Parameters 1

    2. Description
    3. Objective
    4. 5.2 Functions and Parameters 2

    5. Description
    6. Objective
    7. 5.3 Functions and Parameters 3

    8. Description
    9. Objective
    10. 5.4 Functions and Return Values 1

    11. Description
    12. Objective
    13. 5.5 Functions and Return Values 2

    14. Description
    15. Objective
    16. 5.6 Local Variables and Scope

    17. Description
    18. Objective
    19. 5.7 JavaScript vs Karel

    20. Description
    21. Objective
    22. 5.8 Basic JavaScript and Graphics Challenges

    23. Description
    24. Objective
    25. 5.9 Functions and Parameters Quiz

    26. Description
    27. Objective
  6. Practice PT: Tell a Story

    1. 6.1 Project: Tell a Story

    2. Description
    3. Objective
  7. Basic Data Structures

    1. 7.1 Intro to Lists/Arrays

    2. Description
    3. Objective
    4. 7.2 Indexing Into an Array

    5. Description
    6. Objective
    7. 7.3 Adding/Removing From an Array

    8. Description
    9. Objective
    10. 7.4 Array Length and Looping Through Arrays

    11. Description
    12. Objective
    13. 7.5 Iterating Over an Array

    14. Description
    15. Objective
    16. 7.6 Finding an Element in a List

    17. Description
    18. Objective
    19. 7.7 Removing an Element From an Array

    20. Description
    21. Objective
    22. 7.8 Applying Iteration - Usernames and Passwords

    23. Description
    24. Objective
    25. 7.9 Simulation

    26. Description
    27. Objective
    28. 7.10 Basic Data Structures Quiz

    29. Description
    30. Objective
  8. Digital Information

    1. 8.1 Intro to Digital Information

    2. Description
    3. Objective
    4. 8.2 Number Systems

    5. Description
    6. Objective
    7. 8.3 Encoding Text with Binary

    8. Description
    9. Objective
    10. 8.4 Pixel Images

    11. Description
    12. Objective
    13. 8.5 Hexadecimal

    14. Description
    15. Objective
    16. 8.6 Pixel Colors!

    17. Description
    18. Objective
    19. 8.7 Image Manipulation

    20. Description
    21. Objective
    22. 8.8 Data Compression

    23. Description
    24. Objective
    25. 8.9 Lossy Compression

    26. Description
    27. Objective
    28. 8.10 Introduction to Steganography

    29. Description
    30. Objective
    31. 8.11 Digital Information Quiz

    32. Description
    33. Objective
  9. Practice PT: Steganography - Color Channels

    1. 9.1 Steganography Exploration

    2. Description
    3. Objective
  10. Encryption

    1. 10.1 Caesar Ciphers

    2. Description
    3. Objective
    4. 10.2 Decrypting and Breaking Caesar Ciphers

    5. Description
    6. Objective
    7. 10.3 Vigenère Cipher

    8. Description
    9. Objective
    10. 10.4 Asymmetric Encryption

    11. Description
    12. Objective
  11. Practice PT: Create an Image Filter!

    1. 11.1 Practice PT: Create an Image Filter!

    2. Description
    3. Objective
  12. The Internet

    1. 12.1 Welcome to the Internet

    2. Description
    3. Objective
    4. 12.2 Internet Hardware

    5. Description
    6. Objective
    7. 12.3 Internet Addresses

    8. Description
    9. Objective
    10. 12.4 Viewing Websites

    11. Description
    12. Objective
    13. 12.5 DNS

    14. Description
    15. Objective
    16. 12.6 Routing

    17. Description
    18. Objective
    19. 12.7 Packets and Protocols

    20. Description
    21. Objective
    22. 12.8 Sequential, Parallel & Distributed Computing

    23. Description
    24. Objective
    25. 12.9 The Impact of the Internet

    26. Description
    27. Objective
    28. 12.10 Creative Credit & Copyright

    29. Description
    30. Objective
    31. 12.11 The Internet Quiz

    32. Description
    33. Objective
  13. Cybersecurity

    1. 13.1 Introduction to Cybersecurity

    2. Description
    3. Objective
    4. 13.2 CIA Triad

    5. Description
    6. Objective
    7. 13.3 Identity Crisis

    8. Description
    9. Objective
    10. 13.4 Let Me In

    11. Description
    12. Objective
    13. 13.5 Introduction to Networking

    14. Description
    15. Objective
    16. 13.6 OSI model activity

    17. Description
    18. Objective
    19. 13.7 Network Attacks

    20. Description
    21. Objective
    22. 13.8 Basic Cybersecurity Risk Concepts

    23. Description
    24. Objective
    25. 13.9 Cybersecurity Risk Model-Assessing Risk

    26. Description
    27. Objective
    28. 13.10 Cybersecurity Risk Model-Vulnerabilities

    29. Description
    30. Objective
    31. 13.11 Cybersecurity Risk Model-Security Controls

    32. Description
    33. Objective
  14. Project: Cyber Ethics

    1. 14.1 CyberEthics

    2. Description
    3. Objective
  15. Data

    1. 15.1 Getting Started with Data

    2. Description
    3. Objective
    4. 15.2 Visualizing and Interpreting Data

    5. Description
    6. Objective
    7. 15.3 Data Collection & Limitations

    8. Description
    9. Objective
    10. 15.4 Unintentional Data Sharing

    11. Description
    12. Objective
    13. 15.5 Metadata and Data Collection

    14. Description
    15. Objective
    16. 15.6 Data Quiz

    17. Description
    18. Objective
  16. Project: Present a Data-Driven Insight

    1. 16.1 Present a Data-Driven Insight

    2. Description
    3. Objective
  17. Project: The Impacts of Computing

    1. 17.1 The Impacts of Computing

    2. Description
    3. Objective
  18. Create Performance Task

    1. 18.1 Create Performance Task: Overview

    2. Description
    3. Objective
    4. 18.2 Create Performance Task: Guidelines

    5. Description
    6. Objective
    7. 18.3 Create Performance Task: Categories and Questions

    8. Description
    9. Objective
    10. 18.4 Planning and Pacing Your Project

    11. Description
    12. Objective
    13. 18.5 Complete the Create Performance Task

    14. Description
    15. Objective
  19. AP Exam Review

    1. 19.1 Preparation

    2. Description
    3. Objective
    4. 19.2 Practice AP Exam

    5. Description
    6. Objective
  20. Creative Development

    1. 20.1 Intro to Design Thinking

    2. Description
    3. Objective
    4. 20.2 Prototype

    5. Description
    6. Objective
    7. 20.3 Test

    8. Description
    9. Objective
    10. 20.4 Project Prep and Development

    11. Description
    12. Objective
  21. Final

    1. 21.1 Final

    2. Description
    3. Objective
  22. Midterm

    1. 22.1 Midterm

    2. Description
    3. Objective
  23. Extra Karel Practice

    1. 23.1 Extra Karel Practice

    2. Description
    3. Objective
  24. Extra Karel Puzzles

    1. 24.1 Extra Karel Puzzles

    2. Description
    3. Objective
  25. Karel Challenges

    1. 25.1 Challenge Problems

    2. Description
    3. Objective
  26. Web Development

    1. 26.1 Introduction to HTML

    2. Description
    3. Objective
    4. 26.2 Structure of an HTML Page

    5. Description
    6. Objective
    7. 26.3 Formatting Text

    8. Description
    9. Objective
    10. 26.4 Links

    11. Description
    12. Objective
    13. 26.5 Images

    14. Description
    15. Objective
    16. 26.6 HTML Lists

    17. Description
    18. Objective
    19. 26.7 HTML Tables

    20. Description
    21. Objective
    22. 26.8 HTML Styling

    23. Description
    24. Objective
    25. 26.9 Introduction to CSS

    26. Description
    27. Objective
    28. 26.10 CSS Select by Tag

    29. Description
    30. Objective
    31. 26.11 CSS Select by Class

    32. Description
    33. Objective
    34. 26.12 CSS Select by ID

    35. Description
    36. Objective
    37. 26.13 Web Development Quiz

    38. Description
    39. Objective
    40. 26.14 Practice PT: Your First Website

    41. Description
    42. Objective
  27. Functions and Parameters Practice

    1. 27.1 Functions and Parameters Practice

    2. Description
    3. Objective
  28. Extra Console Challenges

    1. 28.1 Prime Numbers

    2. Description
    3. Objective
    4. 28.2 Control Structures

    5. Description
    6. Objective
  29. Animation and Games

    1. 29.1 Timers

    2. Description
    3. Objective
    4. 29.2 Random Circles

    5. Description
    6. Objective
    7. 29.3 Random Ghosts

    8. Description
    9. Objective
    10. 29.4 Bouncing Ball

    11. Description
    12. Objective
    13. 29.5 Mouse Events: Mouse Moved

    14. Description
    15. Objective
    16. 29.6 Drawing Lines

    17. Description
    18. Objective
    19. 29.7 Crazy Ball Game

    20. Description
    21. Objective
  30. Project: Breakout

    1. 30.1 Breakout

    2. Description
    3. Objective
  31. Practice PT: Steganography - Binary

    1. 31.1 Practice PT: Steganography

    2. Description
    3. Objective
  32. Practice PT: The Effects of the Internet

    1. 32.1 The Effects of the Internet

    2. Description
    3. Objective
  33. Visualizing Music

    1. 33.1 Visualizing Music

    2. Description
    3. Objective
  34. Project: Tic Tac Toe

    1. 34.1 Tic Tac Toe

    2. Description
    3. Objective
  35. Project: Helicopter Game

    1. 35.1 Game Design: Helicopter

    2. Description
    3. Objective
    4. 35.2 Basics

    5. Description
    6. Objective
    7. 35.3 Improvements

    8. Description
    9. Objective
    10. 35.4 Polish

    11. Description
    12. Objective
    13. 35.5 Intro to Computer Science Completed

    14. Description
    15. Objective
  36. Data Structures Challenge Problems

    1. 36.1 Conway's Game of Life

    2. Description
    3. Objective
    4. 36.2 Connect Four

    5. Description
    6. Objective
  37. More Basic Data Structures

    1. 37.1 Intro to Objects/Maps

    2. Description
    3. Objective
    4. 37.2 Basics of Objects

    5. Description
    6. Objective
    7. 37.3 Iterating Over an Object

    8. Description
    9. Objective
    10. 37.4 When Do I Use an Object?

    11. Description
    12. Objective
    13. 37.5 Intro to Sets

    14. Description
    15. Objective
    16. 37.6 Intro to Grids

    17. Description
    18. Objective
    19. 37.7 Looping Over a Grid

    20. Description
    21. Objective
    22. 37.8 Grid Example: Get a Row

    23. Description
    24. Objective
    25. 37.9 Data Structures Challenges

    26. Description
    27. Objective
  38. Computer Science Principles Pretest

    1. 38.1 Computer Science Principles Pretest

    2. Description
    3. Objective
  39. Computer Science Principles Posttest

    1. 39.1 Computer Science Principles Posttest

    2. Description
    3. Objective
  40. Extra AP Pseudocode Practice

    1. 40.1 Extra AP Pseudocode Practice

    2. Description
    3. Objective
  41. Additional Cybersecurity Modules

    1. 41.1 Cryptography

    2. Description
    3. Objective
  42. Practice PT: The Shopping List

    1. 42.1 Practice PT: The Shopping List

    2. Description
    3. Objective
  43. Practice PT: Testing 1, 2, 3 ...

    1. 43.1 Practice PT: Testing 1, 2, 3 ...

    2. Description
    3. Objective
  44. Removed Items (2024)

    1. 44.1 Practice PT: Pair-Programming Paint!

    2. Description
    3. Objective
    4. 44.2 Practice PT: Tell a Story

    5. Description
    6. Objective
    7. 44.3 Practice PT: Steganography

    8. Description
    9. Objective
    10. 44.4 Practice PT: Create an Image Filter!

    11. Description
    12. Objective
    13. 44.5 Practice PT: The Shopping List

    14. Description
    15. Objective
    16. 44.6 Practice PT: Testing 1, 2, 3...

    17. Description
    18. Objective
    19. 44.7 Create Performance Task

    20. Description
    21. Objective
    22. 44.8 Uses of Programs

    23. Description
    24. Objective
    25. 44.9 DNS

    26. Description
    27. Objective
    28. 44.10 Intro to Design Thinking

    29. Description
    30. Objective
    31. 44.11 Test

    32. Description
    33. Objective
    34. 44.12 Visualizing and Interpreting Data

    35. Description
    36. Objective
    37. 44.13 Applying Conditionals - Password Validation

    38. Description
    39. Objective
    40. 44.14 For Loop Practice

    41. Description
    42. Objective
    43. 44.15 Applying Iteration - Usernames and Passwords

    44. Description
    45. Objective
    46. 44.16 Introduction to Steganography

    47. Description
    48. Objective
    49. 44.17 Ethics of Steganography

    50. Description
    51. Objective
    52. 44.18 Caesar Ciphers

    53. Description
    54. Objective
    55. 44.19 Decrypting and Breaking Caesar Ciphers

    56. Description
    57. Objective
    58. 44.20 Symmetric and Public Key Encryption

    59. Description
    60. Objective
    61. 44.21 Vigenère Cipher

    62. Description
    63. Objective
    64. 44.22 Introduction to Networking

    65. Description
    66. Objective