Please enable JavaScript to use CodeHS


1. Digital Citizenship and Cyber Hygiene
1.1 Welcome to Introduction to Software Technology!
Notes 1.1.1 Course Introduction
Free Response 1.1.2 Course Goals
1.2 Digital Footprint and Reputation
Video 1.2.1 Digital Footprint and Reputation
Check for Understanding 1.2.2 Digital Footprint and Reputation
Free Response 1.2.3 Building a Positive Digital Footprint
Connection 1.2.4 Right to be Forgotten?
Free Response 1.2.5 Right to be Forgotten
Free Response 1.2.6 What is your Digital Footprint?
Example 1.2.7 Social Media Clean-up
1.3 Privacy & Security
Video 1.3.1 What is Data Privacy & Security?
Check for Understanding 1.3.2 Privacy & Security Quiz
Connection 1.3.3 How Strong is your Password?
Free Response 1.3.4 How Strong is your password?
Example 1.3.5 Guess: Password List
Example 1.3.6 Guess: Using an Algorithm
Example 1.3.7 Guess: Brute Force
Connection 1.3.8 Google Privacy Policy Search
Free Response 1.3.9 Google Privacy Policy Search
Resource 1.3.10 Is Your Head in the Cloud?
Example 1.3.11 You Can Be Tracked!
1.4 Creative Credit & Copyright
Video 1.4.1 Creative Credit and Copyright
Check for Understanding 1.4.2 Creative Credit and Copyright
Free Response 1.4.3 Cite!
Connection 1.4.4 Exploring Creative Commons
Free Response 1.4.5 Respond: Creative Commons
Free Response 1.4.6 Finding Images
Free Response 1.4.7 Reflection: Why is Copyright Important?
1.5 Hacking Ethics
Video 1.5.1 Hacking Ethics & Legality
Check for Understanding 1.5.2 Hacking Ethics & Legality
Connection 1.5.3 Penetration Testing
Free Response 1.5.4 Reflection: Penetration Testing
Connection 1.5.5 Hack the Pentagon?
Free Response 1.5.6 Reflection: Hack the Pentagon
Check for Understanding 1.5.7 Ethical Hacker Agreement
1.6 Common Security Problems
Video 1.6.1 Common Security Problems
Check for Understanding 1.6.2 Common Security Problems
Connection 1.6.3 Meet Security Engineers at Google
Free Response 1.6.4 Security Engineering Reflection
Video 1.6.5 Living in a Digital World
Free Response 1.6.6 Living in a Digital World
2. Programming With Karel
2.1 Introduction to Programming With Karel
Video 2.1.1 Introduction to Programming With Karel
Check for Understanding 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
2.2 More Basic Karel
Video 2.2.1 More Basic Karel
Check for Understanding 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
Resource 2.2.6 Troubleshooting Strategies
2.3 Karel Can't Turn Right
Video 2.3.1 Karel Can't Turn Right
Check for Understanding 2.3.2 Karel Can't Turn Right Quiz
Example 2.3.3 Tower and Turn Right
Exercise 2.3.4 Slide Karel
Exercise 2.3.5 Fireman Karel
Badge 2.3.6 Karel Turns Right Badge
2.4 Functions in Karel
Video 2.4.1 Functions in Karel
Check for Understanding 2.4.2 Functions in Karel Quiz
Example 2.4.3 Turn Around
Exercise 2.4.4 Pancakes
Exercise 2.4.5 Mario Karel
2.5 The Start Function
Video 2.5.1 The Start Function
Check for Understanding 2.5.2 The Start Function Quiz
Example 2.5.3 Tower with Start Function
Exercise 2.5.4 Pancakes with Start
2.6 Top Down Design and Decomposition in Karel
Video 2.6.1 Top Down Design and Decomposition in Karel
Check for Understanding 2.6.2 Top Down Design and Decomposition Quiz
Example 2.6.3 Hurdle Karel
Exercise 2.6.4 The Two Towers
2.7 Commenting Your Code
Video 2.7.1 Commenting Your Code
Check for Understanding 2.7.2 Commenting Your Code Quiz
Example 2.7.3 Hurdle Karel
Exercise 2.7.4 The Two Towers + Comments
2.8 Abstraction
Video 2.8.1 Abstraction
Quiz 2.8.2 Abstraction Quiz
Example 2.8.3 Abstracting Away buildTower
Free Response 2.8.4 Abstracting Your Day
Free Response 2.8.5 Reflection: Abstraction
Free Response 2.8.6 Abstraction in Karel
2.9 Super Karel
Video 2.9.1 Super Karel
Check for Understanding 2.9.2 Super Karel Quiz
Example 2.9.3 Hurdle Karel (with SuperKarel)
Exercise 2.9.4 The Two Towers + SuperKarel
Badge 2.9.5 Super Karel Badge
2.10 For Loops
Video 2.10.1 For Loops
Check for Understanding 2.10.2 For Loops Quiz
Example 2.10.3 Repeated Move
Example 2.10.4 Put Down Tennis Balls
Exercise 2.10.5 Take 'em All
Exercise 2.10.6 Dizzy Karel
Exercise 2.10.7 Ball in Each Corner
Exercise 2.10.8 Lots of Hurdles
2.11 If Statements
Video 2.11.1 If Statements
Check for Understanding 2.11.2 If Statements Quiz
Example 2.11.3 If Statements
Example 2.11.4 Safe Take Ball
Exercise 2.11.5 Is There a Ball?
Exercise 2.11.6 Don't Crash!
2.12 If/Else Statements
Video 2.12.1 If/Else Statements
Check for Understanding 2.12.2 If/Else Statements Quiz
Example 2.12.3 If/Else Statements
Example 2.12.4 Opposite Day
Exercise 2.12.5 Right Side Up
Exercise 2.12.6 Right vs. Left Square
Badge 2.12.7 Conditional Karel Badge
2.13 While Loops in Karel
Video 2.13.1 While Loops in Karel
Check for Understanding 2.13.2 While Loops in Karel Quiz
Example 2.13.3 Move to Wall
Exercise 2.13.4 Follow The Yellow Ball Road
Exercise 2.13.5 Lay Row of Tennis Balls
Exercise 2.13.6 Big Tower
2.14 Control Structures Example
Video 2.14.1 Control Structures Example
Check for Understanding 2.14.2 Control Structures Example Quiz
Example 2.14.3 Cleanup Karel
Exercise 2.14.4 Random Hurdles
Survey 2.14.5 Mindset Survey 1
2.15 More Karel Examples and Testing
Video 2.15.1 More Karel Examples and Testing
Check for Understanding 2.15.2 Quiz: Which Control Structure?
Example 2.15.3 Move Tennis Ball Stack
Example 2.15.4 Climbing Karel
2.16 How to Indent Your Code
Video 2.16.1 How to Indent Your Code
Check for Understanding 2.16.2 How to Indent Your Code Quiz
Example 2.16.3 Dance and Clean Karel
Exercise 2.16.4 Diagonal
Exercise 2.16.5 Staircase
Badge 2.16.6 Karel Exercises Badge
2.17 Debugging Strategies
Video 2.17.1 Debugging Basics
Check for Understanding 2.17.2 Debugging Basics
Debugging 2.17.3 Debug: The Two Towers
Debugging 2.17.4 Debug: Lots of Hurdles
Video 2.17.5 Debugging From Error Messages
Check for Understanding 2.17.6 Debugging with Error Messages
Debugging 2.17.7 Debug: Big Tower
Debugging 2.17.8 Debug: Random Hurdles
3. Karel Challenges
3.1 Collaborative Programming
Video 3.1.1 Pair-Programming
Check for Understanding 3.1.2 Pair-Programming
Connection 3.1.3 Why Practice Pair-Programming?
Free Response 3.1.4 Pair-Programming Reflection
3.2 Challenge Problems
Challenge 3.2.1 Fetch
Challenge 3.2.2 Racing Karel
Challenge 3.2.3 Tower Builder
Challenge 3.2.4 Super Cleanup Karel
Challenge 3.2.5 Double Tennis Balls
Unit Quiz 3.2.6 Programming with Karel Quiz
Badge 3.2.7 Karel Challenges Badge
4. JavaScript and Graphics
4.1 What is Programming?
Video 4.1.1 Programming Concepts
Check for Understanding 4.1.2 Programming Concepts Quiz
Connection 4.1.3 Compilers vs. Interpreters
Free Response 4.1.4 Compilers vs. Interpreters
Resource 4.1.5 IDE Scavenger Hunt
Connection 4.1.6 Most Popular Languages
Free Response 4.1.7 Language Table
4.2 Hello World
Video 4.2.1 Hello World
Check for Understanding 4.2.2 Hello World Quiz
Example 4.2.3 Hello World
Exercise 4.2.4 Your Name and Hobby
4.3 Variables
Video 4.3.1 Variables
Check for Understanding 4.3.2 Variables Quiz
Example 4.3.3 Basic Variables
Exercise 4.3.4 Daily Activities
4.4 User Input
Video 4.4.1 User Input
Check for Understanding 4.4.2 User Input Quiz
Example 4.4.3 Basic User Input
Exercise 4.4.4 Dinner Plans
Badge 4.4.5 User Input Badge
4.5 Basic Math in JavaScript
Video 4.5.1 Basic Math in JavaScript
Check for Understanding 4.5.2 Basic Math in JavaScript Quiz
Example 4.5.3 Simple Calculator
Example 4.5.4 Dollars to Pounds
Example 4.5.5 Dividing Up Groups
Exercise 4.5.6 T-Shirt Shop
Exercise 4.5.7 Running Speed
4.6 Using Graphics in JavaScript
Video 4.6.1 Graphics
Check for Understanding 4.6.2 JavaScript Graphics Quiz
Example 4.6.3 Graphics Hello World
Example 4.6.4 Blue Circle
Example 4.6.5 Red Rectangle
Example 4.6.6 8 Ball
Resource 4.6.7 Object Oriented Programming
Exercise 4.6.8 Flag of the Netherlands
Exercise 4.6.9 Snowman
Badge 4.6.10 Graphics Badge
4.7 Using RGB to Create Colors
Video 4.7.1 Using RGB to Create Colors
Quiz 4.7.2 Using RGB to Create Colors
Example 4.7.3 Colors in Bits
Exercise 4.7.4 Exploring RGB
Exercise 4.7.5 Making Yellow
Exercise 4.7.6 Rainbow
Challenge 4.7.7 Create a Color Image!
5. Computing Basics
5.1 Internal Components
Video 5.1.1 Internal Components
Check for Understanding 5.1.2 Internal Components
Connection 5.1.3 Build a Computer
Free Response 5.1.4 Build a Computer
Example 5.1.5 Test Your Brain's RAM!
Free Response 5.1.6 Test Your Brain's RAM!
Connection 5.1.7 The Machine Instruction Cycle
5.2 Peripheral Devices
Video 5.2.1 Peripheral Devices
Check for Understanding 5.2.2 Peripheral Devices
Free Response 5.2.3 Personalized Peripherals
Free Response 5.2.4 IT Help
Free Response 5.2.5 Your Ideal Computer Setup
5.3 Software vs. Hardware
Video 5.3.1 Software
Check for Understanding 5.3.2 Software Quiz
Connection 5.3.3 Software Explained
Check for Understanding 5.3.4 Hardware Review
Free Response 5.3.5 Hardware vs. Software
Resource 5.3.6 What Do You Suggest?
5.4 Future of Computing
Video 5.4.1 Future of Computing
Check for Understanding 5.4.2 Video Quiz
Connection 5.4.3 Using DNA for Storage
Free Response 5.4.4 Class Activity: Advancing Technology
Connection 5.4.5 Pros and Cons of AI
Free Response 5.4.6 AI: Is It a Bad Thing?
6. Operating Systems and Software
6.1 Operating Systems
Video 6.1.1 Operating Systems
Check for Understanding 6.1.2 Operating Systems Quiz
Example 6.1.3 Detect My OS
Connection 6.1.4 Upgrading a Mac OS
Example 6.1.5 Windows OS Installation Simulation
Free Response 6.1.6 Installing an OS
6.2 Comparing Operating Systems
Video 6.2.1 Comparing Operating Systems
Check for Understanding 6.2.2 Comparing Operating Systems Quiz
Example 6.2.3 Windows Simulation
Example 6.2.4 MacOS Simulation
Connection 6.2.5 Choose a Linux Distro!
Free Response 6.2.6 Which would you choose?
6.3 Compatibility
Video 6.3.1 Compatibility
Check for Understanding 6.3.2 Compatibility Quiz
Example 6.3.3 What Processor? Windows
Example 6.3.4 What Processor? Mac
Free Response 6.3.5 What Processor are you running?
6.4 Software and Applications
Video 6.4.1 Software and Applications
Check for Understanding 6.4.2 Software and Applications Quiz
Example 6.4.3 Spreadsheet Simulation
Example 6.4.4 Messaging Simulation
Example 6.4.5 Kanban Board Simulation
Free Response 6.4.6 Software Simulations
6.5 Software Licenses
Video 6.5.1 Software Licenses
Check for Understanding 6.5.2 Software Licenses Quiz
Free Response 6.5.3 Do I need a Software License?
Free Response 6.5.4 Is This Original?
6.6 Software Development
Video 6.6.1 Development Life Cycle
Check for Understanding 6.6.2 Development Life Cycle
Connection 6.6.3 Scrum Framework
Free Response 6.6.4 SCRUM Response
Notes 6.6.5 Project: Software Development
Resource 6.6.6 Creating a Plan
7. Project: IT Professional
7.1 Communication is Key!
Notes 7.1.1 Do you have what it takes?
Free Response 7.1.2 Cybersecurity Careers
Connection 7.1.3 Customer Service Skills
Free Response 7.1.4 Customer Service Skills
Free Response 7.1.5 Act it Out!
7.2 Building a Knowledge Base
Connection 7.2.1 What is a Knowledge Base?
Free Response 7.2.2 Draft a KB Article
Free Response 7.2.3 Share your KB Article
Free Response 7.2.4 Finalize your KB Article
7.3 Star in a Video!
Connection 7.3.1 Instructional Videos
Connection 7.3.2 Example Tutorial
Free Response 7.3.3 Instructional Video Plan
Free Response 7.3.4 Write the Script
Free Response 7.3.5 Create the Storyboard
Free Response 7.3.6 Record Your Video
7.4 Keeping a Database
Video 7.4.1 Databases
Check for Understanding 7.4.2 Databases
Free Response 7.4.3 Personally Identifiable Information (PII)
Connection 7.4.4 FERPA
Notes 7.4.5 What is SQL?
Video 7.4.6 How to Structure Data in SQL
Check for Understanding 7.4.7 How to Structure Data in SQL
Example 7.4.8 SQL Table: Tiktok
Example 7.4.9 Customer List
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
Connection 8.1.3 Living Web Standards
Example 8.1.4 Our First HTML Page
Exercise 8.1.5 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
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
Badge 8.3.7 Formatting Badge
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
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
Badge 8.8.6 Styling Badge
8.9 Introduction to CSS
Video 8.9.1 Introduction to CSS
Check for Understanding 8.9.2 Introduction to CSS Quiz
Example 8.9.3 Styling your H1s
Exercise 8.9.4 First style with CSS
Exercise 8.9.5 List Styling
8.10 CSS Select by Tag
Video 8.10.1 CSS Select by Tag
Check for Understanding 8.10.2 CSS Select by Tag Quiz
Example 8.10.3 Rainbow
Example 8.10.4 Dog Styling
Exercise 8.10.5 Restaurant Menu
Exercise 8.10.6 Put Karel Together
8.11 CSS Select by Class
Video 8.11.1 CSS Select by Class
Check for Understanding 8.11.2 CSS Select by Class Quiz
Example 8.11.3 Simple Checkerboard
Exercise 8.11.4 Tic Tac Toe
Exercise 8.11.5 Music Library
8.12 CSS Select by ID
Video 8.12.1 CSS Select by ID
Check for Understanding 8.12.2 CSS Select by ID Quiz
Example 8.12.3 Logo
Exercise 8.12.4 Favorite Dog
Exercise 8.12.5 Bingo
8.13 Impact of the Internet
Video 8.13.1 Impact of the Internet
Check for Understanding 8.13.2 Impact of the Internet
Connection 8.13.3 What is the Digital Divide?
Free Response 8.13.4 What is the Digital Divide?
Free Response 8.13.5 Debating Impact - Virtual Classrooms
Connection 8.13.6 A Cafeteria Designed for Me
Free Response 8.13.7 A Cafeteria Designed for Me
Connection 8.13.8 Accessibility
Free Response 8.13.9 Accessibility Tips
Connection 8.13.10 W3C Accessibility Standards
Free Response 8.13.11 Accessibility: Designing for ALL
Connection 8.13.12 Emerging Technology
Resource 8.13.13 Keeping Up with the Tech!
8.14 Project: Your First Website
Challenge 8.14.1 Your First Website
9. Web Development
9.1 The Script Tag
Video 9.1.1 The Script Tag
Check for Understanding 9.1.2 The Script Tag Quiz
Example 9.1.3 Debugging Functions
Free Response 9.1.4 Using the Console
Exercise 9.1.5 Writing in the Console
Exercise 9.1.6 Alert Introduction
Exercise 9.1.7 Debugging with the Console
Challenge 9.1.8 Quick Trivia
9.2 Using the DOM
Video 9.2.1 getElementById
Check for Understanding 9.2.2 getElementById Quiz
Example 9.2.3 Welcome to My Site!
Exercise 9.2.4 Let's Get to Know You
Exercise 9.2.5 Simple Math
Video 9.2.6 Using the DOM
Check for Understanding 9.2.7 Using the DOM Quiz
Example 9.2.8 Multiple <p> tags
Exercise 9.2.9 Menu Opinion
Exercise 9.2.10 Longest Paragraph
9.3 Collecting and Storing Data
Video 9.3.1 Collecting and Storing Data
Check for Understanding 9.3.2 Collecting and Storing Data
Connection 9.3.3 How Much is Your Data Worth?
Free Response 9.3.4 How Much is Your Data Worth Responses
Example 9.3.5 Does Your Browser Have Local Storage?
Example 9.3.6 Local Storage
Connection 9.3.7 Cookies vs. Local Storage
Free Response 9.3.8 Cookies vs. Local Storage Responses
9.4 Storing Data with Firebase
Video 9.4.1 Storing Data with Firebase
Check for Understanding 9.4.2 Storing Data with Firebase
Example 9.4.3 Storing and Collecting Data with Firebase
Exercise 9.4.4 Introduce Yourself to Firebase
Exercise 9.4.5 Storing a Book Object
Exercise 9.4.6 Retrieving a Book Object
9.5 Using APIs
Video 9.5.1 Using APIs
Check for Understanding 9.5.2 Using APIs
Example 9.5.3 Using an API Key
Example 9.5.4 Generate an API Key
Exercise 9.5.5 Creating a Dictionary API
Exercise 9.5.6 Using a Movie API
9.6 Using a CMS
Video 9.6.1 Using a CMS
Check for Understanding 9.6.2 Using a CMS
Connection 9.6.3 How to Choose a CMS
Free Response 9.6.4 How to Choose a CMS
Connection 9.6.5 Comparing CMS Systems
Free Response 9.6.6 Comparing CMS Systems
9.7 What is Web Optimization?
Video 9.7.1 What is Web Optimization?
Check for Understanding 9.7.2 What is Web Optimization?
Connection 9.7.3 Website Folder Structure
Notes 9.7.4 File Naming Conventions
Free Response 9.7.5 Folders and Files
10. Computer Science Careers
10.1 Computer Science Careers
Video 10.1.1 Computer Science All Around Us
Quiz 10.1.2 Computer Science All Around Us
Connection 10.1.3 CS Careers
Free Response 10.1.4 CS Career Response
Connection 10.1.5 Coding in the Wild
Free Response 10.1.6 Coding in the Wild Response
Connection 10.1.7 Inclusive Coding
Free Response 10.1.8 Inclusive Coding Response
Resource 10.1.9 Career Research