Please enable JavaScript to use CodeHS


Introduction to Computer Science in JavaScript (Bulldog)

Lessons

  1. Programming with Karel

    1. 1.1 Introduction to Programming With Karel

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

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

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

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

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

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

    20. Description
    21. Objective
    22. 1.8 Super Karel

    23. Description
    24. Objective
    25. 1.9 For Loops

    26. Description
    27. Objective
    28. 1.10 If Statements

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

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

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

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

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

    44. Description
    45. Objective
    46. 1.16 Programming with Karel Quiz

    47. Description
    48. Objective
  2. Karel Challenges

    1. 2.1 Challenge Problems

    2. Description
    3. Objective
  3. JavaScript and Graphics

    1. 3.1 Hello World

    2. Description
    3. Objective
    4. 3.2 Variables

    5. Description
    6. Objective
    7. 3.3 User Input

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

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

    14. Description
    15. Objective
    16. 3.6 Programming with JavaScript Quiz

    17. Description
    18. Objective
  4. Graphics Challenges

    1. 4.1 Collaborative Programming

    2. Description
    3. Objective
    4. 4.2 Graphics Challenges

    5. Description
    6. Objective
  5. JavaScript Control Structures

    1. 5.1 Booleans

    2. Description
    3. Objective
    4. 5.2 Logical Operators

    5. Description
    6. Objective
    7. 5.3 Comparison Operators

    8. Description
    9. Objective
    10. 5.4 If Statements

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

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

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

    20. Description
    21. Objective
    22. 5.8 Random Numbers

    23. Description
    24. Objective
    25. 5.9 While Loops

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

    29. Description
    30. Objective
    31. 5.11 Javascript Control Structures Quiz

    32. Description
    33. Objective
  6. Control Structures Challenges

    1. 6.1 Control Structures Challenges

    2. Description
    3. Objective
  7. Functions and Parameters

    1. 7.1 Functions and Parameters 1

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

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

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

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

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

    17. Description
    18. Objective
    19. 7.7 Functions and Parameters Quiz

    20. Description
    21. Objective
  8. Functions Challenges

    1. 8.1 Functions Challenges

    2. Description
    3. Objective
  9. Animation and Games

    1. 9.1 Timers

    2. Description
    3. Objective
    4. 9.2 Random Circles

    5. Description
    6. Objective
    7. 9.3 Random Ghosts

    8. Description
    9. Objective
    10. 9.4 Bouncing Ball

    11. Description
    12. Objective
    13. 9.5 Mouse Events: Mouse Clicked

    14. Description
    15. Objective
    16. 9.6 Mouse Events: Mouse Moved

    17. Description
    18. Objective
    19. 9.7 Drawing Lines

    20. Description
    21. Objective
    22. 9.8 Key Events

    23. Description
    24. Objective
    25. 9.9 Crazy Ball Game

    26. Description
    27. Objective
    28. 9.10 Animation and Games Quiz

    29. Description
    30. Objective
  10. Animation Challenges

    1. 10.1 Animation Challenges

    2. Description
    3. Objective
  11. Project: Breakout

    1. 11.1 Breakout

    2. Description
    3. Objective
  12. Basic Data Structures

    1. 12.1 Intro to Lists/Arrays

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

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

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

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

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

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

    20. Description
    21. Objective
    22. 12.8 Intro to Objects/Maps

    23. Description
    24. Objective
    25. 12.9 Basics of Objects

    26. Description
    27. Objective
    28. 12.10 Iterating Over an Object

    29. Description
    30. Objective
    31. 12.11 When Do I Use an Object?

    32. Description
    33. Objective
    34. 12.12 Intro to Sets

    35. Description
    36. Objective
    37. 12.13 Intro to Grids

    38. Description
    39. Objective
    40. 12.14 Looping Over a Grid

    41. Description
    42. Objective
    43. 12.15 Grid Example: Get a Row

    44. Description
    45. Objective
    46. 12.16 Data Structures Challenges

    47. Description
    48. Objective
  13. Project: Tic Tac Toe

    1. 13.1 Tic Tac Toe

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

    1. 14.1 Game Design: Helicopter

    2. Description
    3. Objective
    4. 14.2 Basics

    5. Description
    6. Objective
    7. 14.3 Improvements

    8. Description
    9. Objective
    10. 14.4 Polish

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

    14. Description
    15. Objective
  15. Final Project

    1. 15.1 Project Prep and Development

    2. Description
    3. Objective
  16. Final Exam

    1. 16.1 Final Exam

    2. Description
    3. Objective
  17. Midterm

    1. 17.1 Midterm

    2. Description
    3. Objective
  18. Extra Karel Practice

    1. 18.1 Extra Karel Practice

    2. Description
    3. Objective
  19. Extra Karel Puzzles

    1. 19.1 Extra Karel Puzzles

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

    1. 20.1 Functions and Parameters Practice

    2. Description
    3. Objective
  21. Extra Console Challenges

    1. 21.1 Prime Numbers

    2. Description
    3. Objective
  22. More Graphics and Animation

    1. 22.1 Fun Snake

    2. Description
    3. Objective
    4. 22.2 Fun Graphics Challenges

    5. Description
    6. Objective
  23. Data Structures Challenge Problems

    1. 23.1 Conway's Game of Life

    2. Description
    3. Objective
    4. 23.2 Connect Four

    5. Description
    6. Objective
  24. Evolution Simulation

    1. 24.1 Evolution Simulation

    2. Description
    3. Objective
  25. Demo Problems

    1. 25.1 Lesson 1

    2. Description
    3. Objective
  26. Extra Quiz Questions

    1. 26.1 Basic Javascript and Graphics

    2. Description
    3. Objective
    4. 26.2 Animation and Games

    5. Description
    6. Objective
    7. 26.3 Basic Data Structures

    8. Description
    9. Objective
  27. Extra Resources

    1. 27.1 Extra Resources

    2. Description
    3. Objective
  28. Visualizing Music

    1. 28.1 Visualizing Music

    2. Description
    3. Objective
  29. Intro to CS: JavaScript Posttest

    1. 29.1 Intro to CS: JavaScript Posttest

    2. Description
    3. Objective