Please enable JavaScript to use CodeHS


Virginia Computer Science Foundations

Lessons

  1. Digital Citizenship and Cyber Hygiene

    1. 1.1 What is Cybersecurity?

    2. Description
    3. Objective
    4. 1.2 The CIA Triad

    5. Description
    6. Objective
    7. 1.3 Privacy & Security

    8. Description
    9. Objective
    10. 1.4 Information Literacy

    11. Description
    12. Objective
    13. 1.5 Visualizing and Interpreting Data

    14. Description
    15. Objective
    16. 1.6 Interpreting Data

    17. Description
    18. Objective
    19. 1.7 Creative Credit & Copyright

    20. Description
    21. Objective
    22. 1.8 Hacking Ethics

    23. Description
    24. Objective
  2. Programming With Karel

    1. 2.1 Introduction to Programming With Karel

    2. Description
    3. Objective
    4. 2.2 More Basic Karel

    5. Description
    6. Objective
    7. 2.3 Karel Can't Turn Right

    8. Description
    9. Objective
    10. 2.4 Functions in Karel

    11. Description
    12. Objective
    13. 2.5 The Start Function

    14. Description
    15. Objective
    16. 2.6 Top Down Design and Decomposition in Karel

    17. Description
    18. Objective
    19. 2.7 Commenting Your Code

    20. Description
    21. Objective
    22. 2.8 Super Karel

    23. Description
    24. Objective
    25. 2.9 For Loops

    26. Description
    27. Objective
    28. 2.10 If Statements

    29. Description
    30. Objective
    31. 2.11 If/Else Statements

    32. Description
    33. Objective
    34. 2.12 While Loops in Karel

    35. Description
    36. Objective
    37. 2.13 Control Structures Example

    38. Description
    39. Objective
    40. 2.14 More Karel Examples and Testing

    41. Description
    42. Objective
    43. 2.15 How to Indent Your Code

    44. Description
    45. Objective
    46. 2.16 Debugging Strategies

    47. Description
    48. Objective
  3. Karel Challenges

    1. 3.1 Collaborative Programming

    2. Description
    3. Objective
    4. 3.2 Challenge Problems

    5. Description
    6. Objective
  4. Networks and the Internet

    1. 4.1 Intro to the Internet

    2. Description
    3. Objective
    4. 4.2 Internet Hardware

    5. Description
    6. Objective
    7. 4.3 Internet Addresses

    8. Description
    9. Objective
    10. 4.4 DNS

    11. Description
    12. Objective
    13. 4.5 Routing

    14. Description
    15. Objective
    16. 4.6 Packets and Protocols

    17. Description
    18. Objective
    19. 4.7 The Impact of the Internet

    20. Description
    21. Objective
    22. 4.8 Networks and the Internet Quiz

    23. Description
    24. Objective
  5. JavaScript and Graphics

    1. 5.1 Hello World

    2. Description
    3. Objective
    4. 5.2 Variables

    5. Description
    6. Objective
    7. 5.3 User Input

    8. Description
    9. Objective
    10. 5.4 Basic Math in JavaScript

    11. Description
    12. Objective
    13. 5.5 Using Graphics in JavaScript

    14. Description
    15. Objective
  6. Graphics Challenges

    1. 6.1 Graphics Challenges

    2. Description
    3. Objective
  7. JavaScript Control Structures

    1. 7.1 Booleans

    2. Description
    3. Objective
    4. 7.2 Logical Operators

    5. Description
    6. Objective
    7. 7.3 Comparison Operators

    8. Description
    9. Objective
    10. 7.4 If Statements

    11. Description
    12. Objective
    13. 7.5 For Loops in JavaScript

    14. Description
    15. Objective
    16. 7.6 General For Loops

    17. Description
    18. Objective
    19. 7.7 For Loop Practice

    20. Description
    21. Objective
    22. 7.8 Random Numbers

    23. Description
    24. Objective
    25. 7.9 While Loops

    26. Description
    27. Objective
    28. 7.10 Loop and a Half

    29. Description
    30. Objective
  8. Control Structures Challenges

    1. 8.1 Control Structures Challenges

    2. Description
    3. Objective
  9. Functions, Events, and Lists

    1. 9.1 Functions and Parameters 1

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

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

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

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

    14. Description
    15. Objective
    16. 9.6 Timers

    17. Description
    18. Objective
    19. 9.7 Random Circles

    20. Description
    21. Objective
    22. 9.8 Random Ghosts

    23. Description
    24. Objective
    25. 9.9 Bouncing Ball

    26. Description
    27. Objective
    28. 9.10 Mouse Events: Mouse Clicked

    29. Description
    30. Objective
    31. 9.11 Intro to Lists/Arrays

    32. Description
    33. Objective
    34. 9.12 Adding/Removing From an Array

    35. Description
    36. Objective
    37. 9.13 Array Length and Looping Through Arrays

    38. Description
    39. Objective
    40. 9.14 Iterating Over an Array

    41. Description
    42. Objective
  10. Final Project

    1. 10.1 Intro to Design Thinking

    2. Description
    3. Objective
    4. 10.2 Prototype

    5. Description
    6. Objective
    7. 10.3 Test

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

    11. Description
    12. Objective
  11. Computer Science Careers

    1. 11.1 Computer Science Careers

    2. Description
    3. Objective
  12. Extra Karel Practice

    1. 12.1 Extra Karel Practice

    2. Description
    3. Objective
  13. Extra Karel Puzzles

    1. 13.1 Extra Karel Puzzles

    2. Description
    3. Objective
  14. Functions and Parameters Practice

    1. 14.1 Functions and Parameters Practice

    2. Description
    3. Objective
  15. Animation and Games- Extended User Interaction

    1. 15.1 Mouse Events: Mouse Moved

    2. Description
    3. Objective
    4. 15.2 Drawing Lines

    5. Description
    6. Objective
    7. 15.3 Key Events

    8. Description
    9. Objective
    10. 15.4 Crazy Ball Game

    11. Description
    12. Objective
    13. 15.5 Animation and Games Quiz

    14. Description
    15. Objective
  16. Extended Array Concepts

    1. 16.1 Indexing Into an Array

    2. Description
    3. Objective
    4. 16.2 Finding an Element in a List

    5. Description
    6. Objective
    7. 16.3 Removing an Element From an Array

    8. Description
    9. Objective
  17. Extended Data Structures

    1. 17.1 Intro to Objects/Maps

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

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

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

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

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

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

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

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

    26. Description
    27. Objective