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 About 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 Main 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 and Conditionals

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

    32. Description
    33. Objective
    34. 1.12 While Loops

    35. Description
    36. Objective
    37. 1.13 How to Indent Your Code

    38. Description
    39. Objective
    40. 1.14 Control Structures Example

    41. Description
    42. Objective
    43. 1.15 More Karel Examples and Testing

    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 Basics

    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

    11. Description
    12. Objective
    13. 3.5 Collaborative Programming

    14. Description
    15. Objective
    16. 3.6 Random Numbers

    17. Description
    18. Objective
    19. 3.7 Basic Functions

    20. Description
    21. Objective
    22. 3.8 JavaScript Basics Quiz

    23. Description
    24. Objective
  4. The Canvas and Graphics

    1. 4.1 Intro to the Canvas and Graphics

    2. Description
    3. Objective
    4. 4.2 More Graphics Objects

    5. Description
    6. Objective
    7. 4.3 Positioning Graphics Objects

    8. Description
    9. Objective
    10. 4.4 JavaScript Graphics Quiz

    11. Description
    12. Objective
  5. Graphics Challenges

    1. 5.1 Graphics Challenges

    2. Description
    3. Objective
  6. Control Structures

    1. 6.1 Booleans

    2. Description
    3. Objective
    4. 6.2 If/Else Statements

    5. Description
    6. Objective
    7. 6.3 Logical Operators

    8. Description
    9. Objective
    10. 6.4 Comparison Operators

    11. Description
    12. Objective
    13. 6.5 Graphics and Conditionals

    14. Description
    15. Objective
    16. 6.6 While Loops

    17. Description
    18. Objective
    19. 6.7 The Break Statement

    20. Description
    21. Objective
    22. 6.8 While Loops and Graphics

    23. Description
    24. Objective
    25. 6.9 For Loops

    26. Description
    27. Objective
    28. 6.10 For Loops and Graphics

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

    32. Description
    33. Objective
  7. Control Structures Challenges

    1. 7.1 Control Structures Challenges

    2. Description
    3. Objective
  8. Functions

    1. 8.1 Parameters

    2. Description
    3. Objective
    4. 8.2 Return Values

    5. Description
    6. Objective
    7. 8.3 Default Parameter Values

    8. Description
    9. Objective
    10. 8.4 Variable Scopes

    11. Description
    12. Objective
    13. 8.5 Functions Quiz

    14. Description
    15. Objective
  9. Functions Challenges

    1. 9.1 Functions Challenges

    2. Description
    3. Objective
  10. Animation and Games

    1. 10.1 Timers

    2. Description
    3. Objective
    4. 10.2 Stopping Timers

    5. Description
    6. Objective
    7. 10.3 Collisions

    8. Description
    9. Objective
    10. 10.4 Mouse Click Events

    11. Description
    12. Objective
    13. 10.5 More Mouse Events

    14. Description
    15. Objective
    16. 10.6 Key Events

    17. Description
    18. Objective
    19. 10.7 Animation and Games Quiz

    20. Description
    21. Objective
  11. Animation Challenges

    1. 11.1 Animation Challenges

    2. Description
    3. Objective
  12. Project: Breakout

    1. 12.1 Breakout

    2. Description
    3. Objective
  13. Data Structures: Arrays

    1. 13.1 Intro to Arrays

    2. Description
    3. Objective
    4. 13.2 Adding & Removing from an Array

    5. Description
    6. Objective
    7. 13.3 Iterating Through an Array

    8. Description
    9. Objective
    10. 13.4 Array Iteration with Graphics

    11. Description
    12. Objective
    13. 13.5 Array Methods

    14. Description
    15. Objective
  14. Data Structures: Objects

    1. 14.1 Intro to Objects

    2. Description
    3. Objective
    4. 14.2 Graphic Objects

    5. Description
    6. Objective
    7. 14.3 Object Methods

    8. Description
    9. Objective
    10. 14.4 Iterating Through an Object

    11. Description
    12. Objective
    13. 14.5 Object Constructors

    14. Description
    15. Objective
  15. Project: Tic Tac Toe

    1. 15.1 Tic Tac Toe

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

    1. 16.1 Game Design: Helicopter

    2. Description
    3. Objective
    4. 16.2 Basics

    5. Description
    6. Objective
    7. 16.3 Improvements

    8. Description
    9. Objective
    10. 16.4 Polish

    11. Description
    12. Objective
  17. Final Project

    1. 17.1 Project Prep and Development

    2. Description
    3. Objective
  18. Final Exam

    1. 18.1 Final Exam

    2. Description
    3. Objective
  19. Midterm

    1. 19.1 Midterm

    2. Description
    3. Objective
  20. Extension: Additional Data Structures

    1. 20.1 Intro to Sets

    2. Description
    3. Objective
    4. 20.2 Intro to Grids

    5. Description
    6. Objective
    7. 20.3 Looping Over a Grid

    8. Description
    9. Objective
    10. 20.4 Grid Example: Get a Row

    11. Description
    12. Objective
  21. Practice: Karel

    1. 21.1 Karel Syntax, IDE, and Commands

    2. Description
    3. Objective
    4. 21.2 Debugging with Karel

    5. Description
    6. Objective
    7. 21.3 Extra Karel Practice

    8. Description
    9. Objective
    10. 21.4 Extra Karel Puzzles

    11. Description
    12. Objective
  22. Practice: Functions

    1. 22.1 Functions and Parameters Practice

    2. Description
    3. Objective
  23. Practice: Console Challenges

    1. 23.1 Prime Numbers

    2. Description
    3. Objective
  24. Practice: Graphics and Animation

    1. 24.1 Snake Game

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

    5. Description
    6. Objective
    7. 24.3 Animation Practice

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

    11. Description
    12. Objective
  25. Extra Quiz Questions

    1. 25.1 Basic Javascript and Graphics

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

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

    8. Description
    9. Objective
  26. Extension: Visualizing Music

    1. 26.1 Visualizing Music

    2. Description
    3. Objective
  27. Extension: Data Structures Challenges

    1. 27.1 Conway's Game of Life

    2. Description
    3. Objective
    4. 27.2 Connect Four

    5. Description
    6. Objective
  28. Intro to CS: JavaScript Pretest

    1. 28.1 Intro to CS: JavaScript Pretest

    2. Description
    3. Objective
  29. JavaScript Level 1 Certification Practice

    1. 29.1 JavaScript Syntax Update

    2. Description
    3. Objective
    4. 29.2 Practice #1: JavaScript Basics

    5. Description
    6. Objective
    7. 29.3 Practice #2: JavaScript Control Structures

    8. Description
    9. Objective
    10. 29.4 Practice #3: JavaScript Functions and Objects

    11. Description
    12. Objective