Please enable JavaScript to use CodeHS


1. Welcome!
1.1 Why You Should Learn to Program
Connection 1.1.1 Why Should You Learn to Program?
Free Response 1.1.2 Reflection: Learning to Program
2. Introduction to Programming
2.1 Introduction to Programming With Karel
Video 2.1.1 Introduction to Programming With Karel
Quiz 2.1.2 Quiz: Karel Commands
Example 2.1.3 Our First Karel Program
Exercise 2.1.4 Your First Karel Program
Exercise 2.1.5 Short Stack
Debugging 2.1.6 Dancing Karel
2.2 More Basic Karel
Video 2.2.1 More Basic Karel
Quiz 2.2.2 More Basic Karel Quiz
Example 2.2.3 Tennis Ball Square
Exercise 2.2.4 Make a Tower
Exercise 2.2.5 Pyramid of Karel
Debugging 2.2.6 Go Through the Door
2.3 Karel Can't Turn Right
Video 2.3.1 Karel Can't Turn Right
Quiz 2.3.2 Karel Can't Turn Right Quiz
Example 2.3.3 Tower and Turn Right
Exercise 2.3.4 Fireman Karel
Exercise 2.3.5 Slide Karel
Free Response 2.3.6 Reflection: Teaching Karel New Commands
Badge 2.3.7 Right Turn Karel Badge
2.4 Functions in Karel
Video 2.4.1 Functions in Karel
Quiz 2.4.2 Functions in Karel Quiz
Example 2.4.3 Turn Around
Exercise 2.4.4 Pancakes
Exercise 2.4.5 Backflip
Exercise 2.4.6 Digging Karel
Debugging 2.4.7 Build a Shelter
2.5 The Start Function
Video 2.5.1 The Start Function
Quiz 2.5.2 The Start Function Quiz
Example 2.5.3 Tower with Start Function
Exercise 2.5.4 Pancakes with Start
Exercise 2.5.5 Digging Karel with Start
2.6 Top Down Design and Decomposition in Karel
Video 2.6.1 Top Down Design and Decomposition in Karel
Quiz 2.6.2 Top Down Design and Decomposition Quiz
Example 2.6.3 Hurdle Karel
Exercise 2.6.4 The Two Towers
Debugging 2.6.5 Make a 'Z'
Free Response 2.6.6 Reflection: Top Down Design
2.7 Commenting Your Code
Video 2.7.1 Commenting Your Code
Quiz 2.7.2 Commenting Your Code Quiz
Example 2.7.3 Hurdle Karel
Exercise 2.7.4 The Two Towers + Comments
Free Response 2.7.5 Reflection: Commenting
2.8 Super Karel
Video 2.8.1 Super Karel
Quiz 2.8.2 Super Karel Quiz
Example 2.8.3 Hurdle Karel (with SuperKarel)
Exercise 2.8.4 The Two Towers + SuperKarel
Badge 2.8.5 Super Karel Badge
2.9 For Loops
Video 2.9.1 For Loops
Quiz 2.9.2 For Loops Quiz
Example 2.9.3 Repeated Move
Example 2.9.4 Put Down Tennis Balls
Exercise 2.9.5 Take 'em All
Exercise 2.9.6 Dizzy Karel
Exercise 2.9.7 For Loop Square
Exercise 2.9.8 Lots of Hurdles
2.10 If Statements
Video 2.10.1 If Statements
Quiz 2.10.2 If Statements Quiz
Example 2.10.3 If Statements
Example 2.10.4 Safe Take Ball
Exercise 2.10.5 Is There a Ball?
2.11 If/Else Statements
Video 2.11.1 If/Else Statements
Quiz 2.11.2 If/Else Statements Quiz
Example 2.11.3 If/Else Statements
Example 2.11.4 One Ball in Each Spot
Exercise 2.11.5 Right Side Up
Badge 2.11.6 Conditional Karel Badge
2.12 While Loops in Karel
Video 2.12.1 While Loops in Karel
Quiz 2.12.2 While Loops in Karel Quiz
Example 2.12.3 Move to Wall
Exercise 2.12.4 Follow The Yellow Ball Road
Exercise 2.12.5 Lay Row of Tennis Balls
Exercise 2.12.6 Big Tower
2.13 Control Structures Example
Video 2.13.1 Control Structures Example
Quiz 2.13.2 Control Structures Example Quiz
Example 2.13.3 Cleanup Karel
Exercise 2.13.4 Random Hurdles
2.14 Karel Algorithms
Video 2.14.1 Karel Algorithms
Quiz 2.14.2 Quiz: Which Control Structure?
Video 2.14.3 Algorithms Example: Move Stack
Example 2.14.4 Move Tennis Ball Stack
Example 2.14.5 Climbing Karel
Exercise 2.14.6 Decorate the Fence
2.15 How to Indent Your Code
Video 2.15.1 How to Indent Your Code
Quiz 2.15.2 How to Indent Your Code Quiz
Example 2.15.3 Dance and Clean Karel
Exercise 2.15.4 Diagonal
Exercise 2.15.5 Staircase
2.16 Ultra Karel
Video 2.16.1 Ultra Karel
Quiz 2.16.2 Ultra Karel Quiz
Example 2.16.3 Red Frame
Example 2.16.4 Slip 'n Slide
Exercise 2.16.5 Invert Colors
Exercise 2.16.6 Checkerboard Karel
Badge 2.16.7 Karel Exercises Badge
2.17 Karel Challenges
Challenge 2.17.1 Fetch
Challenge 2.17.2 Racing Karel
Challenge 2.17.3 Tower Builder
Challenge 2.17.4 Super Cleanup Karel
Challenge 2.17.5 Double Tennis Balls
Badge 2.17.6 Karel Challenges Badge
2.18 End of Unit Quiz
Quiz 2.18.1 Introduction to Programming Unit Quiz
3. Project: Pair-Programming with Karel Paint!
3.1 Project: Pair-Programming with Karel Paint!
Video 3.1.1 Pair-Programming
Check for Understanding 3.1.2 Pair-Programming
Free Response 3.1.3 Reflection: Pair-Programming
Free Response 3.1.4 Setting Norms
Free Response 3.1.5 Brainstorm and Discuss
Free Response 3.1.6 Planning
Free Response 3.1.7 Program Documentation
Free Response 3.1.8 Pseudocode
Challenge 3.1.9 Create your UltraKarel Image!
Free Response 3.1.10 Reflection
Badge 3.1.11 Karel Paint Badge
4. What is Computing?
4.1 History of Computers
Video 4.1.1 History of Computers
Check for Understanding 4.1.2 Video Quiz
Notes 4.1.3 Mission: Who invented the computer?
Free Response 4.1.4 Evidence Collection
Connection 4.1.5 Exhibit A: Charles Babbage
Connection 4.1.6 Exhibit B: Ada Lovelace
Connection 4.1.7 Exhibit C: Alan Turing
Connection 4.1.8 Exhibit D: Mauchly and Eckert
Connection 4.1.9 Exhibit E: ENIAC Programmers
Connection 4.1.10 Exhibit F: Grace Hopper
Connection 4.1.11 Exhibit G: Mark Dean
Connection 4.1.12 Bonus Exhibit: Computer Inventors
Free Response 4.1.13 Culminating Activity
4.2 Computer Organization
Video 4.2.1 Computer Organization
Check for Understanding 4.2.2 Video Quiz
Connection 4.2.3 Draw a Computer
Check for Understanding 4.2.4 What Kind of Device?
4.3 Software & Operating Systems
Video 4.3.1 Software
Check for Understanding 4.3.2 Software Quiz
Free Response 4.3.3 Computer Software
Video 4.3.4 Operating Systems
Check for Understanding 4.3.5 Operating Systems Quiz
Free Response 4.3.6 Understanding Operating Systems
Example 4.3.7 Detect My OS
Example 4.3.8 Windows Simulation
Example 4.3.9 MacOS Simulation
Connection 4.3.10 Choose a Linux Distro!
Free Response 4.3.11 Which would you choose?
4.4 Hardware
Video 4.4.1 Hardware
Check for Understanding 4.4.2 Hardware Quiz
Check for Understanding 4.4.3 Pick the Label
Free Response 4.4.4 Label Your Computer
Free Response 4.4.5 Computer Analogy
Free Response 4.4.6 Hardware vs. Software
Badge 4.4.7 Hardware Badge
4.5 Future of Computing
Video 4.5.1 Future of Computing
Check for Understanding 4.5.2 Video Quiz
Connection 4.5.3 Using DNA for Storage
Free Response 4.5.4 Class Activity: Advancing Technology
Connection 4.5.5 Pros and Cons of AI
Free Response 4.5.6 AI: Is It a Bad Thing?
4.6 What is Computing? Quiz
Unit Quiz 4.6.1 What is Computing? Quiz
5. Digital Information
5.1 Intro to Digital Information
Video 5.1.1 What is Digital Information?
Check for Understanding 5.1.2 What is Digital Information Quiz
Example 5.1.3 Fast Food Menu
Free Response 5.1.4 Reflection: Encodings Everywhere
5.2 Number Systems
Video 5.2.1 Number Systems
Notes 5.2.2 Number Base Tool
Check for Understanding 5.2.3 Number Systems Quiz
Video 5.2.4 Decimal to Binary
Check for Understanding 5.2.5 Decimal to Binary Quiz
Exercise 5.2.6 Binary Game
5.3 Encoding Text with Binary
Video 5.3.1 Encoding Text with Binary
Check for Understanding 5.3.2 Encoding Text with Binary Quiz
Example 5.3.3 Custom Encoding
Example 5.3.4 Bits to ASCII
Exercise 5.3.5 Hello World in Bits
Exercise 5.3.6 Create your own Encoding
Badge 5.3.7 Encoding Badge
5.4 Pixel Images
Video 5.4.1 Pixel Images
Check for Understanding 5.4.2 Pixel Images Quiz
Resource 5.4.3 Creating Pixel Images
Example 5.4.4 CodeHS Logo
Exercise 5.4.5 Checkerboard
Exercise 5.4.6 Ladder
Exercise 5.4.7 Create an Image!
5.5 Hexadecimal
Video 5.5.1 Hexadecimal
Check for Understanding 5.5.2 Hexadecimal Quiz
Exercise 5.5.3 Binary to Hex Game
5.6 Pixel Colors!
Video 5.6.1 Pixel Colors
Check for Understanding 5.6.2 Pixel Colors Quiz
Example 5.6.3 Colors in Bits
Exercise 5.6.4 Exploring RGB
Exercise 5.6.5 Making Yellow
Exercise 5.6.6 Rainbow
Exercise 5.6.7 Create a Color Image!
5.7 Image Manipulation
Video 5.7.1 Manipulating Images
Check for Understanding 5.7.2 Manipulating Images Quiz
Video 5.7.3 Programming with WebImage
Check for Understanding 5.7.4 Programming with WebImage Quiz
Example 5.7.5 Black and White Filter
Example 5.7.6 Brighten Filter
Example 5.7.7 Saturation Filter
Example 5.7.8 Pixel Picker
Badge 5.7.9 Digital Information Badge
5.8 Digital Information Quiz
Unit Quiz 5.8.1 Digital Information Quiz
6. Basic JavaScript
6.1 Computer Science Careers
Video 6.1.1 Computer Science All Around Us
Quiz 6.1.2 Computer Science All Around Us
Connection 6.1.3 CS Careers
Free Response 6.1.4 CS Career Response
Connection 6.1.5 Coding in the Wild
Free Response 6.1.6 Coding in the Wild Response
Connection 6.1.7 Inclusive Coding
Free Response 6.1.8 Inclusive Coding Response
6.2 Hello World
Video 6.2.1 Hello World
Check for Understanding 6.2.2 Hello World Quiz
Example 6.2.3 Hello World
Exercise 6.2.4 Your Name and Hobby
6.3 Variables
Video 6.3.1 Variables
Check for Understanding 6.3.2 Variables Quiz
Example 6.3.3 Basic Variables
Exercise 6.3.4 Daily Activities
Exercise 6.3.5 Mad Lib Story, Pt 1
6.4 User Input
Video 6.4.1 User Input
Check for Understanding 6.4.2 User Input Quiz
Example 6.4.3 Basic User Input
Exercise 6.4.4 Dinner Plans
Exercise 6.4.5 Mad Lib Story, Pt 2
Badge 6.4.6 User Input Badge
6.5 Basic Math
Video 6.5.1 Basic Math in JavaScript
Check for Understanding 6.5.2 Basic Math in JavaScript Quiz
Example 6.5.3 Simple Calculator
Example 6.5.4 Dollars to Pounds
Example 6.5.5 Dividing Up Groups
Exercise 6.5.6 T-Shirt Shop
Exercise 6.5.7 Running Speed
Exercise 6.5.8 24 vs. "24"
6.6 Random Numbers
Video 6.6.1 Random Numbers
Check for Understanding 6.6.2 Random Numbers Quiz
Example 6.6.3 Rolling a Die
Example 6.6.4 Flipping a Coin
Exercise 6.6.5 Rock, Paper, Scissors
Exercise 6.6.6 Multiplication Quizzer
Badge 6.6.7 Randomizer Badge
6.7 Programming with JavaScript Quiz
Quiz 6.7.1 JavaScript Quiz
Badge 6.7.2 JavaScript Badge
7. The Internet
7.1 Intro to the Internet
Video 7.1.1 Welcome to the Internet
Check for Understanding 7.1.2 Welcome to the Internet Quiz
Free Response 7.1.3 The Internet and You
7.2 Internet Hardware
Video 7.2.1 Hardware of the Internet
Check for Understanding 7.2.2 Internet Hardware Quiz
Connection 7.2.3 The Internet is in the Ocean
7.3 Internet Addresses
Video 7.3.1 Internet Addresses
Check for Understanding 7.3.2 Internet Addresses Quiz
Free Response 7.3.3 The Need for Addresses
Check for Understanding 7.3.4 4-bit Addresses
Free Response 7.3.5 IPv4 vs IPv6
7.4 DNS
Video 7.4.1 DNS
Check for Understanding 7.4.2 DNS Quiz
Connection 7.4.3 How Does DNS Work?
Free Response 7.4.4 How Does DNS Work?
Badge 7.4.5 DNS Badge
7.5 Routing
Video 7.5.1 Routing
Check for Understanding 7.5.2 Routing Quiz
Free Response 7.5.3 Redundancy
Traceroute 7.5.4 Route Tracing
7.6 Packets and Protocols
Video 7.6.1 Packets and Protocols
Check for Understanding 7.6.2 Packets and Protocols Quiz
Resource 7.6.3 Passing Notes
Connection 7.6.4 How the Internet Works
Free Response 7.6.5 The Story of the Internet
7.7 The Impact of the Internet
Video 7.7.1 The Impact of the Internet
Check for Understanding 7.7.2 The Impact of the Internet Quiz
Connection 7.7.3 What is the Digital Divide?
Free Response 7.7.4 What is the Digital Divide?
Survey 7.7.5 Mindsets
7.8 The Internet Quiz
Unit Quiz 7.8.1 The Internet Quiz
8. Web Design
8.1 Introduction to HTML
Video 8.1.1 Introduction to HTML
Check for Understanding 8.1.2 Introduction to HTML Quiz
Example 8.1.3 Our First HTML Page
Exercise 8.1.4 Say Hello!
8.2 Structure of an HTML Page
Video 8.2.1 Structure of an HTML Page
Check for Understanding 8.2.2 Structure of an HTML Page Quiz
Example 8.2.3 HTML Template
Example 8.2.4 Hello World Page
Exercise 8.2.5 The <title> Tag
Exercise 8.2.6 Your First HTML Page
Badge 8.2.7 Structure Badge
8.3 Formatting Text
Video 8.3.1 Formatting Text
Check for Understanding 8.3.2 Formatting Text Quiz
Example 8.3.3 Dictionary
Exercise 8.3.4 That's Bold
Exercise 8.3.5 Artificial Intelligence
Exercise 8.3.6 State Capitals
8.4 Links
Video 8.4.1 Links
Check for Understanding 8.4.2 Links Quiz
Example 8.4.3 The <a> Tag
Exercise 8.4.4 Simple Link
Exercise 8.4.5 My Favorite Websites
8.5 Images
Video 8.5.1 Images
Check for Understanding 8.5.2 Images Quiz
Example 8.5.3 The <img> Tag
Example 8.5.4 Building the CodeHS Homepage
Exercise 8.5.5 Collage on a Theme
Exercise 8.5.6 Linking an Image
Exercise 8.5.7 Personal Library
Badge 8.5.8 Images Badge
8.6 HTML Lists
Video 8.6.1 HTML Lists
Check for Understanding 8.6.2 HTML Lists Quiz
Example 8.6.3 Grocery Shopping
Exercise 8.6.4 Favorite Things
Exercise 8.6.5 To-Do List
Exercise 8.6.6 List Article
8.7 HTML Tables
Video 8.7.1 HTML Tables
Check for Understanding 8.7.2 HTML Tables Quiz
Example 8.7.3 Address Book
Exercise 8.7.4 Favorite Songs
Exercise 8.7.5 Calendar
8.8 HTML Styling
Video 8.8.1 HTML Styling
Check for Understanding 8.8.2 HTML Styling Quiz
Example 8.8.3 Stylish Address Book
Exercise 8.8.4 Background Colors
Exercise 8.8.5 Style Your To-Do List
8.9 Project: Your First Website, Pt 1
Challenge 8.9.1 Your First Website
Notes 8.9.2 Set Up Your Domain
Badge 8.9.3 Website Badge
8.10 Introduction to CSS
Video 8.10.1 Introduction to CSS
Check for Understanding 8.10.2 Introduction to CSS Quiz
Example 8.10.3 Styling Your H1s
Exercise 8.10.4 First Style with CSS
Exercise 8.10.5 List Styling
8.11 CSS Select by Tag
Video 8.11.1 CSS Select by Tag
Check for Understanding 8.11.2 CSS Select by Tag Quiz
Example 8.11.3 Rainbow
Example 8.11.4 Dog Styling
Exercise 8.11.5 Restaurant Menu
Exercise 8.11.6 Put Karel Together
8.12 CSS Select by Class
Video 8.12.1 CSS Select by Class
Check for Understanding 8.12.2 CSS Select by Class Quiz
Example 8.12.3 Simple Checkerboard
Exercise 8.12.4 Tic Tac Toe
Exercise 8.12.5 Music Library
8.13 CSS Select by ID
Video 8.13.1 CSS Select by ID
Check for Understanding 8.13.2 CSS Select by ID Quiz
Example 8.13.3 Logo
Exercise 8.13.4 Favorite Dog
Exercise 8.13.5 Bingo
Badge 8.13.6 CSS Badge
8.14 Viewing Websites
Video 8.14.1 Viewing Websites
Check for Understanding 8.14.2 Viewing Websites Quiz
Free Response 8.14.3 Explaining a URL
8.15 The Script Tag
Video 8.15.1 The Script Tag
Check for Understanding 8.15.2 The Script Tag Quiz
Free Response 8.15.3 Using the Console
Example 8.15.4 Exploring the Developer Tools
Exercise 8.15.5 Writing in the Console
Exercise 8.15.6 Alert Introduction
Free Response 8.15.7 Finding the Script
8.16 Project: Your First Website, Pt 2
Challenge 8.16.1 Adding Style with CSS
8.17 Web Development Quiz
Unit Quiz 8.17.1 Web Development Quiz
9. Project: Designing for Impact
9.1 Intro to Design Thinking
Video 9.1.1 Intro to Design Thinking
Quiz 9.1.2 Intro to Design Thinking
Free Response 9.1.3 User Interface Scavenger Hunt
Connection 9.1.4 Case Study: Helping Blind People See
Free Response 9.1.5 Case Study Responses
Free Response 9.1.6 Brainstorming Project Ideas
9.2 Prototype
Video 9.2.1 Prototype
Quiz 9.2.2 Prototype Quiz
Connection 9.2.3 Wizard of Oz Prototyping
Connection 9.2.4 Example Wizard of Oz Paper Prototype
Free Response 9.2.5 Make Your Paper Prototypes!
9.3 Test
Video 9.3.1 Test
Quiz 9.3.2 Testing Quiz
Connection 9.3.3 Testing with Users
Connection 9.3.4 Example: How to User Test
Free Response 9.3.5 How to User Test Responses
Connection 9.3.6 Example: How NOT to User Test
Free Response 9.3.7 How NOT to User Test Responses
Free Response 9.3.8 Test Prototype 1
Free Response 9.3.9 Test Prototype 2
Free Response 9.3.10 Improve Your Prototype
9.4 Project Prep and Development
Free Response 9.4.1 Timeline & Team Roles
Free Response 9.4.2 Create an Interactive Visualization
Free Response 9.4.3 Develop a New Logo
Challenge 9.4.4 Write the Code!
Presentation 9.4.5 Present your Project
10. Digital Citizenship and Cyber Hygiene
10.1 Digital Footprint and Reputation
Video 10.1.1 Digital Footprint and Reputation
Check for Understanding 10.1.2 Digital Footprint and Reputation
Free Response 10.1.3 Building a Positive Digital Footprint
Connection 10.1.4 Right to be Forgotten?
Free Response 10.1.5 Right to be Forgotten
Free Response 10.1.6 What is your Digital Footprint?
Example 10.1.7 Social Media Clean-up
10.2 Cyberbullying
Video 10.2.1 Cyberbullying
Check for Understanding 10.2.2 Cyberbullying
Free Response 10.2.3 Scenario: Student Ranking
Free Response 10.2.4 Scenario: Singled Out
Free Response 10.2.5 Stopping Cyberbullying
10.3 Internet Safety
Video 10.3.1 Internet Safety
Check for Understanding 10.3.2 Internet Safety
Free Response 10.3.3 Scenario: School Stranger
Free Response 10.3.4 Scenario: Vacation Pals
Free Response 10.3.5 Staying Safe
10.4 Privacy & Security
Video 10.4.1 What is Data Privacy & Security?
Check for Understanding 10.4.2 Privacy & Security Quiz
Connection 10.4.3 How Strong is your Password?
Free Response 10.4.4 How Strong is your password?
Connection 10.4.5 Google Privacy Policy Search
Free Response 10.4.6 Google Privacy Policy Search
Example 10.4.7 Guess: Password List
Example 10.4.8 Guess: Using an Algorithm
Example 10.4.9 Guess: Brute Force
10.5 Information Literacy
Video 10.5.1 Information Literacy
Check for Understanding 10.5.2 Information Literacy
Free Response 10.5.3 Effective Internet Searches
Connection 10.5.4 Evaluate the Source 1
Free Response 10.5.5 Respond: Evaluate the Source 1
Notes 10.5.6 Evaluate the Source 2
Free Response 10.5.7 Respond: Evaluate the Source 2
Connection 10.5.8 Hero Pig?
10.6 Creative Credit & Copyright
Video 10.6.1 Creative Credit and Copyright
Check for Understanding 10.6.2 Creative Credit and Copyright
Free Response 10.6.3 Cite!
Connection 10.6.4 Exploring Creative Commons
Free Response 10.6.5 Respond: Creative Commons
Free Response 10.6.6 Task: Finding Images
Free Response 10.6.7 Reflection: Why is Copyright Important?
10.7 Project: Public Service Announcement
Free Response 10.7.1 Pick a Topic
Free Response 10.7.2 Research
Free Response 10.7.3 Choose Your Audience
Free Response 10.7.4 What kind of PSA?
Free Response 10.7.5 Collect Data
Connection 10.7.6 Create a Data Visualization
Free Response 10.7.7 Draft your PSA
Free Response 10.7.8 Finalize your PSA!
10.8 Digital Citizenship and Cybersecurity Quiz
Unit Quiz 10.8.1 Digital Citizenship and Cybersecurity Quiz
Badge 10.8.2 Digital Citizenship and Cybersecurity Badge