### Please enable JavaScript to use CodeHS

Intro to Programming in JavaScript with Arduino

#### Outline

1. Programming With Karel
1.1 Introduction to Programming With Karel
Video 1.1.1 Introduction to Programming With Karel
Check for Understanding 1.1.2 Quiz: Karel Commands
Example 1.1.3 Our First Karel Program
Exercise 1.1.4 Your First Karel Program
Exercise 1.1.5 Short Stack
1.2 More Basic Karel
Video 1.2.1 More Basic Karel
Check for Understanding 1.2.2 More Basic Karel Quiz
Example 1.2.3 Tennis Ball Square
Exercise 1.2.4 Make a Tower
Exercise 1.2.5 Pyramid of Karel
1.3 Karel Can't Turn Right
Video 1.3.1 Karel Can't Turn Right
Check for Understanding 1.3.2 Karel Can't Turn Right Quiz
Example 1.3.3 Tower and Turn Right
Exercise 1.3.4 Slide Karel
Exercise 1.3.5 Fireman Karel
1.4 Functions in Karel
Video 1.4.1 Functions in Karel
Check for Understanding 1.4.2 Functions in Karel Quiz
Example 1.4.3 Turn Around
Exercise 1.4.4 Pancakes
Exercise 1.4.5 Mario Karel
1.5 The Start Function
Video 1.5.1 The Start Function
Check for Understanding 1.5.2 The Start Function Quiz
Example 1.5.3 Tower with Start Function
Exercise 1.5.4 Pancakes with Start
1.6 Top Down Design and Decomposition in Karel
Video 1.6.1 Top Down Design and Decomposition in Karel
Check for Understanding 1.6.2 Top Down Design and Decomposition Quiz
Example 1.6.3 Hurdle Karel
Exercise 1.6.4 The Two Towers
Check for Understanding 1.7.2 Commenting Your Code Quiz
Example 1.7.3 Hurdle Karel
Exercise 1.7.4 The Two Towers + Comments
1.8 Super Karel
Video 1.8.1 Super Karel
Check for Understanding 1.8.2 Super Karel Quiz
Example 1.8.3 Hurdle Karel (with SuperKarel)
Exercise 1.8.4 The Two Towers + SuperKarel
1.9 For Loops
Video 1.9.1 For Loops
Check for Understanding 1.9.2 For Loops Quiz
Example 1.9.3 Repeated Move
Example 1.9.4 Put Down Tennis Balls
Exercise 1.9.5 Take 'em All
Exercise 1.9.6 Dizzy Karel
Exercise 1.9.7 Ball in Each Corner
Exercise 1.9.8 Lots of Hurdles
1.10 If Statements
Video 1.10.1 If Statements
Check for Understanding 1.10.2 If Statements Quiz
Example 1.10.3 If Statements
Example 1.10.4 Safe Take Ball
Exercise 1.10.5 Is There a Ball?
Exercise 1.10.6 Don't Crash!
1.11 If/Else Statements
Video 1.11.1 If/Else Statements
Check for Understanding 1.11.2 If/Else Statements Quiz
Example 1.11.3 If/Else Statements
Example 1.11.4 Opposite Day
Exercise 1.11.5 Right Side Up
Exercise 1.11.6 Right vs. Left Square
1.12 While Loops in Karel
Video 1.12.1 While Loops in Karel
Check for Understanding 1.12.2 While Loops in Karel Quiz
Example 1.12.3 Move to Wall
Exercise 1.12.5 Lay Row of Tennis Balls
Exercise 1.12.6 Big Tower
1.13 Control Structures Example
Video 1.13.1 Control Structures Example
Check for Understanding 1.13.2 Control Structures Example Quiz
Example 1.13.3 Cleanup Karel
Exercise 1.13.4 Random Hurdles
Survey 1.13.5 Mindset Survey 1
1.14 More Karel Examples and Testing
Video 1.14.1 More Karel Examples and Testing
Check for Understanding 1.14.2 Quiz: Which Control Structure?
Example 1.14.3 Move Tennis Ball Stack
Example 1.14.4 Climbing Karel
1.15 How to Indent Your Code
Video 1.15.1 How to Indent Your Code
Check for Understanding 1.15.2 How to Indent Your Code Quiz
Example 1.15.3 Dance and Clean Karel
Exercise 1.15.4 Diagonal
Exercise 1.15.5 Staircase
1.16 Programming with Karel Quiz
Unit Quiz 1.16.1 Programming with Karel Quiz
2. Karel Challenges
2.1 Challenge Problems
Challenge 2.1.1 Fetch
Challenge 2.1.2 Racing Karel
Challenge 2.1.3 Tower Builder
Challenge 2.1.4 Super Cleanup Karel
Challenge 2.1.5 Double Tennis Balls
3. JavaScript and Graphics
3.1 Hello World
Video 3.1.1 Hello World
Check for Understanding 3.1.2 Hello World Quiz
Example 3.1.3 Hello World
Exercise 3.1.4 Your Name and Hobby
3.2 Variables
Video 3.2.1 Variables
Check for Understanding 3.2.2 Variables Quiz
Example 3.2.3 Basic Variables
Exercise 3.2.4 Daily Activities
3.3 User Input
Video 3.3.1 User Input
Check for Understanding 3.3.2 User Input Quiz
Example 3.3.3 Basic User Input
Exercise 3.3.4 Dinner Plans
3.4 Basic Math in JavaScript
Video 3.4.1 Basic Math in JavaScript
Check for Understanding 3.4.2 Basic Math in JavaScript Quiz
Example 3.4.3 Simple Calculator
Example 3.4.4 Dollars to Pounds
Example 3.4.5 Dividing Up Groups
Exercise 3.4.6 T-Shirt Shop
Exercise 3.4.7 Running Speed
3.5 Using Graphics in JavaScript
Video 3.5.1 Graphics
Check for Understanding 3.5.2 JavaScript Graphics Quiz
Example 3.5.3 Graphics Hello World
Example 3.5.4 Blue Circle
Example 3.5.5 Red Rectangle
Example 3.5.6 8 Ball
Exercise 3.5.7 Flag of the Netherlands
Exercise 3.5.8 Snowman
3.6 Programming with JavaScript Quiz
Unit Quiz 3.6.1 JavaScript and Graphics Quiz
4. Graphics Challenges
4.1 Collaborative Programming
Video 4.1.1 Pair-Programming
Check for Understanding 4.1.2 Pair-Programming
Connection 4.1.3 Why Practice Pair-Programming?
Free Response 4.1.4 Pair-Programming Reflection
4.2 Graphics Challenges
Challenge 4.2.1 Ghost
Challenge 4.2.2 Fried Egg
Challenge 4.2.3 Draw Something
5. Intro to Arduino
5.1 Welcome to Arduino!
Video 5.1.1 Intro to Arduino
Free Response 5.1.2 Explore an Arduino Project
Free Response 5.1.3 Sezme: Memory Game
Video 5.1.7 Exploration 1.1 Follow-up
Free Response 5.1.8 Background & Experience
Free Response 5.1.9 Goal Setting
Video 5.2.1 Setting Up your Arduino
Connection 5.2.2 Exploration: Intro to Programming with Arduino
Video 5.2.3 Exploration 1.2 Follow-up
Exercise 5.2.5 Long and Short LED Blink
Exercise 5.2.6 Morse Code
Check for Understanding 5.3.2 Comments & Pseudocode
Free Response 5.3.4 Blinking in Pseudocode
Connection 5.3.5 Exploration: Analog vs. Digital
Video 5.3.6 Exploration 1.3 Follow-up
Exercise 5.3.7 LED at Many Brightness Values
5.4 Variables
Video 5.4.1 Variables
Check for Understanding 5.4.2 Variables
Notes 5.4.3 Variable Brightness
Free Response 5.4.4 Dim an LED
Notes 5.4.7 Variable Brightness with Breadboard
Connection 5.4.8 Exploration: Arduino Structure using Variables
Video 5.4.9 Exploration 1.4 Follow-up
Exercise 5.4.10 One Bright, One Fading
Exercise 5.4.11 Pulsing LED
5.5 Debugging
Video 5.5.1 Debugging
Connection 5.5.2 Exploration: Using the Serial Monitor
Video 5.5.3 Exploration 1.5 Follow-up
Free Response 5.5.4 Physical Debugging: LED
Free Response 5.5.5 Physical Debugging: LED and Potentiometer
Free Response 5.5.6 Debugging with Tools: LED
5.6 Intro to Arduino Quiz
Unit Quiz 5.6.1 Intro to Arduino Quiz
6. JavaScript Control Structures
6.1 Booleans
Video 6.1.1 Booleans
Check for Understanding 6.1.2 Booleans Quiz
Example 6.1.3 First Boolean
Exercise 6.1.4 Do You Have a Dog?
6.2 Logical Operators
Video 6.2.1 Logical Operators
Check for Understanding 6.2.2 Logical Operators Quiz
Example 6.2.3 Light Switch
Example 6.2.4 President
Example 6.2.5 Wasting Time
Exercise 6.2.7 School's Out
6.3 Comparison Operators
Video 6.3.1 Comparison Operators
Check for Understanding 6.3.2 Comparison Operators Quiz
Example 6.3.3 Voting Age
Exercise 6.3.5 Rolling Dice
Exercise 6.3.6 Girl Scout Designation
6.4 If Statements
Video 6.4.1 If Statements
Check for Understanding 6.4.2 If Statements Quiz
Example 6.4.3 Negative Numbers
Example 6.4.4 Great Names
Example 6.4.5 Even and Odd
Exercise 6.4.7 Teenagers
Exercise 6.4.8 Dietary Restrictions
Survey 6.4.10 Mindset Survey 2
6.5 For Loops in JavaScript
Video 6.5.1 Basic For Loop
Check for Understanding 6.5.2 For Loops Quiz
Example 6.5.3 For Loop
Exercise 6.5.4 Chalkboard
Exercise 6.5.5 The Worm
Exercise 6.5.6 Caterpillar
6.6 General For Loops
Video 6.6.1 General For Loop
Check for Understanding 6.6.2 General For Loop Quiz
Example 6.6.3 Countdown
Example 6.6.4 Count By Twos
Exercise 6.6.5 Count By Sevens
Exercise 6.6.6 Powers of Two
6.7 For Loop Practice
Video 6.7.1 For Loop Examples
Check for Understanding 6.7.2 For Loop Examples Quiz
Example 6.7.3 For Loop Sum
Exercise 6.7.4 Better Sum
Exercise 6.7.5 Factorial
Exercise 6.7.6 All Dice Values
6.8 Random Numbers
Video 6.8.1 Random Numbers
Check for Understanding 6.8.2 Random Numbers Quiz
Example 6.8.3 Rolling a Die
Example 6.8.4 Flipping a Coin
Exercise 6.8.5 Lots of Rolls
Exercise 6.8.6 Random Color Square
6.9 While Loops
Video 6.9.1 While Loops
Check for Understanding 6.9.2 While Loops Quiz
Example 6.9.3 While Loop Countdown
Exercise 6.9.4 Inventory
Exercise 6.9.5 Fibonacci
Exercise 6.9.6 Concentric Circles
6.10 Loop and a Half
Video 6.10.1 Loop and a Half
Check for Understanding 6.10.2 Loop and a Half Quiz
Exercise 6.10.4 Snake Eyes
6.11 Javascript Control Structures Quiz
Unit Quiz 6.11.1 JavaScript Control Structures Quiz
7. Control Structures Challenges
7.1 Control Structures Challenges
Challenge 7.1.1 Guessing Game
Challenge 7.1.2 Circles in Circles
Challenge 7.1.3 Circles in Squares
Challenge 7.1.4 Happy Birthday!
8. Functions and Parameters
8.1 Functions and Parameters 1
Video 8.1.1 Functions and Parameters 1
Check for Understanding 8.1.2 Functions and Parameters Quiz 1
Example 8.1.3 Double Number
Exercise 8.1.4 Square
Exercise 8.1.5 Triple
8.2 Functions and Parameters 2
Video 8.2.1 Functions and Parameters 2
Check for Understanding 8.2.2 Functions and Parameters Quiz 2
Example 8.2.3 Sum Function
Exercise 8.2.4 Area of Triangle
Exercise 8.2.5 Height in Meters
8.3 Functions and Parameters 3
Video 8.3.1 Functions and Parameters 3
Check for Understanding 8.3.2 Functions and Parameters Quiz 3
Example 8.3.3 Draw Circles
Exercise 8.3.4 Vertical Lines
Exercise 8.3.5 Graphics Stop Light
Exercise 8.3.6 Pool Table
Exercise 8.3.7 Cityscape
Survey 8.3.9 Mindset Survey 3
8.4 Functions and Return Values 1
Video 8.4.1 Functions and Return Values 1
Check for Understanding 8.4.2 Functions and Return Values Quiz
Example 8.4.3 Double Number
Exercise 8.4.4 Square with Return Values
Exercise 8.4.5 Triple with Return Values
Exercise 8.4.6 Gymnastics Mats
8.5 Functions and Return Values 2
Video 8.5.1 Functions and Return Values 2
Check for Understanding 8.5.2 Functions and Return Values Quiz 2
Example 8.5.3 Return Values
Exercise 8.5.4 Is It Even?
Exercise 8.5.5 Max
8.6 Local Variables and Scope
Video 8.6.1 Local Variables and Scope
Check for Understanding 8.6.2 Local Variables and Scope Quiz
Example 8.6.3 Return Values
Exercise 8.6.4 Local Variables
8.7 Functions and Parameters Quiz
Unit Quiz 8.7.1 Functions and Parameters Quiz
9. Functions Challenges
9.1 Functions Challenges
Challenge 9.1.1 Hailstone Sequence
Challenge 9.1.2 Balloons
Challenge 9.1.4 Ghost Invasion!
10. Program Control with Arduino
10.1 Loops
Video 10.1.1 Loops
Check for Understanding 10.1.2 Loops
Notes 10.1.3 Pulsing LED with Loops
Notes 10.1.4 Light LED Based on Potentiometer
Free Response 10.1.6 Alternating LED until Button Press
Connection 10.1.7 Exploration: Using Servo Motors
Video 10.1.8 Exploration 2.1 Follow-up
Exercise 10.1.9 Sweeping Servo
Exercise 10.1.10 Blinking Based on Potentiometer
10.2 If/Else Statements
Video 10.2.1 If/Else Statements
Check for Understanding 10.2.2 If/Else Statements
Notes 10.2.3 LED Brightness with Potentiometer
Free Response 10.2.4 Stoplight LEDs
Free Response 10.2.5 LED Brightness using Buttons
Connection 10.2.6 Exploration: Using Buttons to Control Code
Video 10.2.7 Exploration 2.2 Follow-up
Exercise 10.2.8 Servo Position by Button Press
Exercise 10.2.9 Servo Sweep with Reset
10.3 Arithmetic, Comparison, and Logical Operators
Video 10.3.1 Arithmetic, Comparison, and Logical Operators
Check for Understanding 10.3.2 Arithmetic, Comparison, and Logical Operators
Notes 10.3.3 Potentiometer with AND
Notes 10.3.4 Potentiometer with OR
Free Response 10.3.5 Potentiometer Controlling LED
Connection 10.3.6 Exploration: Ultrasonic Range Finder
Video 10.3.7 Exploration 2.3 Follow-up
Exercise 10.3.8 Distance Warning Lights
Exercise 10.3.9 Servo with Potentiometer
10.4 Functions
Video 10.4.1 Functions
Check for Understanding 10.4.2 Functions
Notes 10.4.3 Using Functions
Notes 10.4.4 Using Functions with Parameters
Free Response 10.4.5 Distance LEDs
Connection 10.4.6 Exploration: Using More Sensors
Video 10.4.7 Exploration 2.4 Follow-up
Exercise 10.4.8 Candy Dispensing System
Exercise 10.4.9 SOS
10.5 Using Motors
Connection 10.5.1 Exploration: Controlling Motors
Video 10.5.2 Exploration 2.5 Follow-up
Notes 10.5.3 Motors Example
Exercise 10.5.4 Driverless Car
Exercise 10.5.5 Car Simulation
Free Response 10.5.6 Choose an External Sensor to Investigate
10.6 Program Control with Arduino Quiz
Unit Quiz 10.6.1 Program Control with Arduino Quiz
11. Animation and Games
11.1 Timers
Video 11.1.1 Timers
Check for Understanding 11.1.2 Timers Quiz
Example 11.1.3 Moving Ball
Example 11.1.4 Magic 8 Ball
Exercise 11.1.5 Crazy Ball
11.2 Random Circles
Video 11.2.1 Example: Random Circles
Check for Understanding 11.2.2 Random Circles Quiz
Example 11.2.3 Random Circles
Example 11.2.4 Spinner Example
Exercise 11.2.5 Growing Circle
Exercise 11.2.6 Paint splatter
11.3 Random Ghosts
Video 11.3.1 Example: Random Ghosts
Check for Understanding 11.3.2 Random Ghosts Quiz
Example 11.3.3 Random Ghosts
Example 11.3.4 Random Fireworks
Exercise 11.3.5 Circle Wall
Exercise 11.3.6 Brick Wall
11.4 Bouncing Ball
Video 11.4.1 Example: Bouncing Ball
Check for Understanding 11.4.2 Bouncing Ball Quiz
Example 11.4.3 Bouncing Ball
Exercise 11.4.4 Hotspot Ball
Exercise 11.4.5 Trail
11.5 Mouse Events: Mouse Clicked
Video 11.5.1 Mouse Events: Mouse Clicked
Check for Understanding 11.5.2 Mouse Events: Mouse Clicked Quiz
Example 11.5.3 Click For Circles
Example 11.5.4 Click For Ghosts
Exercise 11.5.5 Teleporting Ball
Exercise 11.5.6 Pause
11.6 Mouse Events: Mouse Moved
Video 11.6.1 Mouse Events: Mouse Moved
Check for Understanding 11.6.2 Mouse Events: Mouse Moved Quiz
Example 11.6.3 Simple Painting
Example 11.6.4 Colorful Drag to Paint
Exercise 11.6.5 Coordinates
Exercise 11.6.6 Target
11.7 Drawing Lines
Video 11.7.1 Example: Drawing Lines
Check for Understanding 11.7.2 Drawing Lines Quiz
Example 11.7.3 Drawing Lines
Exercise 11.7.4 Leash
Survey 11.7.6 Mindset Survey 4
11.8 Key Events
Video 11.8.1 Key Events
Check for Understanding 11.8.2 Key Events Quiz
Example 11.8.3 Keyboard Square
Exercise 11.8.4 Basic Snake
11.9 Crazy Ball Game
Video 11.9.1 Crazy Ball Game 1
Check for Understanding 11.9.2 Crazy Ball Game Quiz 1
Example 11.9.3 Crazy Ball Game 1
Video 11.9.4 Crazy Ball Game 2
Check for Understanding 11.9.5 Crazy Ball Game Quiz 2
Example 11.9.6 Crazy Ball Game 2
Exercise 11.9.7 Click for Collision
Exercise 11.9.8 Drag and Drop
11.10 Animation and Games Quiz
Unit Quiz 11.10.1 Animation and Games Quiz
12. Animation Challenges
12.1 Animation Challenges
Challenge 12.1.2 Increasing Number of Shapes
13. Project: Breakout
13.1 Breakout
Challenge 13.1.1 Bricks
Challenge 13.1.3 Breakout
14.1 Arduino Challenges
Video 14.1.1 Arduino Challenges: Extended Variable Types
Check for Understanding 14.1.2 Arduino Challenges: Extended Variable Types
Connection 14.1.3 Exploration: Advanced Arduino Programs
Video 14.1.4 Exploration 3.1 Follow-up
Challenge 14.1.6 Digital Watch, Pt 1
Challenge 14.1.7 Digital Watch, Pt 2
Challenge 14.1.8 Elevator
Free Response 14.1.9 Project Reflection
14.2 Explore a New Sensor
Notes 14.2.1 Explore a New Sensor: Overview
Connection 14.2.2 Exploration: Getting Started with a New Sensor
Free Response 14.2.3 Video/ Exploration
Free Response 14.2.4 Example Program
Video 14.2.5 How to add images
Free Response 14.2.7 Creating a Lesson: Reflection
14.3 Step-by-Step Arduino Project
Free Response 14.3.1 Research and Choose Project
Free Response 14.3.2 Create Updated Directions
Free Response 14.3.3 Step by Step Project Reflection
14.4 Final Project
Free Response 14.4.1 Project Brainstorm and Selection
Free Response 14.4.2 Build a Prototype
Free Response 14.4.3 Test and Improve your Project