Please enable JavaScript to use CodeHS

Course Catalog

CodeHS courses teach students applicable computer science skills. With a focus on helping students develop problem solving and computational thinking skills, students come away both with a knowledge of professional programming languages and the conceptual understanding needed to learn new languages.

Introduction to Computer Science in JavaScript (Golden)
Start programming today. You’ll learn the fundamentals of computer science while creating your own animations, graphics, and games for the web. Perfect for absolute beginners learning at school or at home.
Grade Levels: High School
Introduction to SQL
Learn the basics of SQL. How to structure information, write queries, and analyze data.
Grade Levels: High School
AP Computer Science in Java (Mocha)
Learn the basics of object-oriented programming with a focus on problem solving and algorithm development. Take this course and prepare to ace the AP Java test.
Grade Levels: High School
Review: AP Computer Science in Java
This course will help you review for the AP Computer Science Exam. It includes a full practice AP Test as well as other practice quizzes and resources.
Grade Levels: High School
AP Computer Science Principles
AP Computer Science Principles introduces students to the foundational concepts of computer science and challenges them to explore how computing and technology can impact the world. With a unique focus on creative problem solving and real-world applications, AP Computer Science Principles prepares students for college and career.
Grade Levels: High School
Computing Ideas (Lovelace)
The Computing Ideas course is a first computer science course introducing the basics of programming with Karel the Dog, the basics of designing a web page, and how information and images are represented with computers. Students will learn to code using blocks to drag and drop, but they can switch between blocks and text as desired. Students will create a portfolio on the web of projects they build throughout the course. With a unique focus on creativity, problem solving and project based learning, Computing Ideas gives students the opportunity to explore several important topics of computing using their own ideas and creativity and develop an interest in computer science that will foster further endeavors in the field.
Grade Levels: High School
Introduction to Java (Latte)
Learn the basics of object-oriented programming with a focus on problem solving and algorithm development. This course is NOT designed to prepare students for the AP Java exam.
Grade Levels: High School
Introduction to Computer Science (Bulldog)
Start programming today. You’ll learn the fundamentals of computer science while creating your own animations, graphics, and games for the web. Perfect for absolute beginners learning at school or at home.
Grade Levels: High School
Intro to Programming with Karel the Dog (Volley)
This is the quarter long Karel course as an introduction to computer science and programming with blocks.
Grade Levels: Middle School
Intro to Programming with Karel the Dog (Ace)
This is the quarter long Karel course as an introduction to computer science and programming with text.
Grade Levels: High School, Middle School
Computing Ideas (Turing)
The Computing Ideas course is a first computer science course introducing the basics of programming with Karel the Dog, the basics of designing a web page, and how information and images are represented with computers. Students will learn to code using blocks to drag and drop, but they can switch between blocks and text as desired. Students will create a portfolio on the web of projects they build throughout the course. With a unique focus on creativity, problem solving and project based learning, Computing Ideas gives students the opportunity to explore several important topics of computing using their own ideas and creativity and develop an interest in computer science that will foster further endeavors in the field.
Grade Levels: Middle School
Intro to Programming with Karel the Dog (Español)
Este es el curso de Karel como una introducción a la informática y la programación.
Grade Levels: High School, Middle School
Web Design (Picasso)
Preview demo of the CodeHS Web Design course! This is a project-based course that teaches students how to build their own web pages. Students will learn the languages HTML and CSS, and will create their own live homepages to serve as portfolios of their creations. Students will finish this course with tangible, professional, mobile responsive websites.
Grade Levels: High School
Main Programming Language: HTML
AP CS Principles Exam Review
This course contains hundreds of AP style exam questions to help your students prepare for the AP Computer Science Principles exam in May.
Grade Levels: High School
Video Game Design
Students learn how to create video games in JavaScript! This course is introductory, however it is an honors-level course.
Grade Levels: High School
Introduction to Virtual Reality
Virtual Reality is a rapidly growing technology with applications in several different fields. In this short course, students will learn how to build their very own virtual reality worlds using HTML and the A-Frame JavaScript library. Students can view their VR creations on the computer, through phones, or through an Oculus Rift. Get ready to be blown away by what you create!
Grade Levels: High School, Middle School
Introduction to the Internet
The Computing Ideas course is a first computer science course introducing the basics of programming with Karel the Dog, the basics of designing a web page, and how information and images are represented with computers. Students will learn to code using blocks to drag and drop, but they can switch between blocks and text as desired. Students will create a portfolio on the web of projects they build throughout the course. With a unique focus on creativity, problem solving and project based learning, Computing Ideas gives students the opportunity to explore several important topics of computing using their own ideas and creativity and develop an interest in computer science that will foster further endeavors in the field.
Grade Levels: Middle School
Web Design (Matisse)
Preview demo of the CodeHS Web Design course! This is a project-based course that teaches students how to build their own web pages. Students will learn the languages HTML and CSS, and will create their own live homepages to serve as portfolios of their creations. Students will finish this course with tangible, professional, mobile responsive websites.
Grade Levels: Middle School
Main Programming Language: HTML
World of Computing
The World of Computing course is a first computer science course introducing the basics of programming with Karel the Dog, and allowing students to explore what a computer is and how technology has affected their lives. Students will learn to code using blocks to drag and drop, but they can switch between blocks and text as desired. With a unique focus on creativity, problem solving and project based learning, World of Computing gives students the opportunity to explore several important topics of computing using their own ideas and creativity and develop an interest in computer science that will foster further endeavors in the field.
Grade Levels: Middle School
Creative Computing (HS)
Creative Computing is a first computer science course introducing the basics of programming with Karel the Dog, the basics of designing a web page, and how information and images are represented with computers. Students will learn to code using blocks to drag and drop, but they can switch between blocks and text as desired. With a unique focus on creativity, problem solving and project based learning, Creative Computing gives students the opportunity to explore several important topics of computing using their own ideas and creativity and develop an interest in computer science that will foster further endeavors in the field.
Grade Levels: High School
Creative Computing (MS)
Creative Computing is a first computer science course introducing the basics of programming with Karel the Dog, the basics of designing a web page, and how information and images are represented with computers. Students will learn to code using blocks to drag and drop, but they can switch between blocks and text as desired. With a unique focus on creativity, problem solving and project based learning, Creative Computing gives students the opportunity to explore several important topics of computing using their own ideas and creativity and develop an interest in computer science that will foster further endeavors in the field.
Grade Levels: Middle School
Hour of Code: Programming with Karel the Dog
Giving commands to a computer, which is what programming is all about, is just like giving commands to a dog. Learn how to code with Karel the Dog—a fun, accessible, and visual introduction to text or block-based programming that teaches fundamental concepts like commands and functions to beginners.
Grade Levels: High School, Middle School
Hour of Code: React Native Mobile Apps with CodeHS
This activity gives you some examples on how to make your first real mobile apps and how to test them out on your phone. To run apps on a smartphone phone, students will need to download the Expo app. Find more information about Expo at https://expo.io.
Grade Levels: High School
Hour of Code: Creating Virtual Worlds
Learn the basics of building virtual reality worlds using HTML and the A-Frame JavaScript Library. Through this activity, students will build their own virtual reality worlds that are compatible with VR devices, including smartphone VR headsets!
Grade Levels: High School
Hour of Code: Creating Apps with JavaScript
This activity gives you some examples on how to make your first real mobile apps and how to test them out on your phone. To run apps on a smartphone phone, students will need to download the Expo app. Find more information about Expo at https://expo.io.
Grade Levels: High School
Hour of Code: La Programación con Karel el Perro
Dar órdenes a una computadora, que es lo que la programación se trata, es como dar órdenes a un perro. Aprende a codificar con Karel el perro, una introducción divertida, accesible y visual a la programación que enseña conceptos fundamentales como comandos y funciones a principiantes absolutos. Los estudiantes pueden programar en bloques o texto.
Grade Levels: High School
Hour of Code: Web Design with CodeHS
Learn the basics of building and designing a website! Use HTML to add text, pictures, and color to your page. These skills are the foundation for all website creation and is a great activity for students who are interested in the internet and how websites come to life!
Grade Levels: High School, Middle School
Hour of Code: Graphics with Tracy the Turtle
Learn the basics of programming by drawing shapes on your screen with Tracy the Turtle! Turtle Graphics (or LOGO) is a beginner friendly way to explore programming concepts and bring creativity into programming in a visual way.
Grade Levels: High School, Middle School
Hour of Code: Digital Art in Pixels
Learn how images are stored and displayed on computers using pixels. Explore how images are encoded as a grid of color values, and make your own digital images using binary and hexadecimal color codes!
Grade Levels: Middle School
Hour of Code: Coding in Java with CodeHS
Learn the basics of the Java programming language. This hour will cover printing, variables, types, and getting information from users. Write a program that take in and stores data from a user and returns a unique response!
Grade Levels: High School
Hour of Code: JavaScript Graphics Art
Make your own graphics and drawings on the web using JavaScript. Learn how to use our JavaScript graphics library to make pictures by adding and modifying shapes to your canvas. This is a great activity for an art class or geometry class, as requires students to place their objects on a 2d plane.
Grade Levels: High School
Hour of Code: Coding in Python with CodeHS
Learn the basics of coding with the Python programming language by writing programs that you can interact with! This hour will cover printing, variables, math, and getting information from users. Write a program that take in and stores data from a user and returns a unique response!
Grade Levels: High School
Introduction to Cybersecurity (Vigenere)
As our world becomes increasingly dependent on technology, cybersecurity is a topic of growing importance. It is crucial that companies and individuals take precautions to protect themselves from the growing threat of cyber attacks. This course prepares students with crucial skills to be responsible citizens in a digital future. The Introduction to Cybersecurity is the first online blended K12 cybersecurity course and is designed for students with some exposure to computer science, but there are no specific course prerequisites. Topics included are: foundational cybersecurity topics including digital citizenship and cyber hygiene, the basics of cryptography, software security, networking fundamentals, and basic system administration.
Grade Levels: High School
Mobile Apps
Mobile applications are becoming increasingly important to our consumption of media, news, social interaction, and learning. In this course, students will learn how to create mobile apps using React Native, a popular platform-agnostic framework. As an online blended high school course, students will design and build applications to run on their own smartphones and will use the latest tools and technologies available for mobile app development.
Grade Levels: High School
Intro to Python with Tracy
The CodeHS Introduction to Python with Tracy the Turtle course teaches students the basics of programming in the Python language. Tracy is a turtle that can be instructed with the use of various commands to draw scenes on a canvas. Students will learn Python commands, functions, and control structures by solving puzzles and writing creative programs for Tracy to follow.
Grade Levels: Middle School
Intro to Computer Science in Python (Rainforest)
The CodeHS Introduction to Computer Science in Python course teaches the fundamentals of computer programming as well as some advanced features of the Python language. Students will develop an appreciation for how computers store and manipulate information by building simple console-based games. This course is equivalent to a semester-long introductory Python course at the college level.
Grade Levels: High School
Coding Explorations in Sports
Coding + Sports is a mini-course that introduces students to the basics of coding through sports! In this block-coding course, students develop their own sports video games and simulations using code. Throughout the course, students build different sports visualizations and multi-level games that can be played with friends.
Grade Levels: High School, Middle School
Art Coding Explorations
Coding + Art is a mini-course that introduces students to the basics of coding through art! In this block-coding environment, students explore the digital art medium by building coding programs that create collages, imitate techniques of famous artists like Jackson Pollock and Andy Warhol, and tell stories through a sequence of multimedia scenes.
Grade Levels: High School, Middle School
Introduction to Cybersecurity (Caesar)
As our world becomes increasingly dependent on technology, cybersecurity is a topic of growing importance. It is crucial that companies and individuals take precautions to protect themselves from the growing threat of cyber attacks. This course prepares students with crucial skills to be responsible citizens in a digital future.
Grade Levels: High School, Middle School
Coding Explorations in Music
Coding + Music is a mini-course that introduces students to the basics of coding through music! In this block-coding course, students investigate how code can be used to create and enhance music by building programs that generate beat patterns, chord progressions, and musical sequences with visualizations.
Grade Levels: High School, Middle School
Exploring Collisions in Physics
Students will use JavaScript graphics to create their own elastic collision simulation using conservation of momentum and kinetic energy equations. This course is designed for students who have taken or are taking a physics course and have a background in solving algebraic equations. The approximate length of this course is 2-4 hours.
Grade Levels: High School
Hour of Code: Collision Simulations
Students will explore how mass and speed affect elastic collisions by using conservation of momentum and conservation of kinetic energy equations to verify final speed values as calculated by a simulation.
Grade Levels: High School
Hour of Code: Generating Beats with Code
Students are introduced to the JavaScript block coding environment. They learn how to write a program that plays their own 8 count beat pattern.
Grade Levels: High School, Middle School
Hour of Code: Generating Art with Code
Students are introduced to the JavaScript block coding environment. They learn how to create a computer program that places images and text on a canvas to create their own meme.
Grade Levels: High School, Middle School
Hour of Code: Coding in Sports
Students are introduced to the JavaScript block coding environment. Students curate the environment of their own sports video game.
Grade Levels: High School, Middle School
Hour of Code: Building Mathematical Models
Students are introduced to Tracy the Turtle and learn how to code different mathematical models in Python! No coding experience is necessary, but students should have completed Algebra I or higher.
Grade Levels: High School
Hour of Code: Explore the Bitcoin Ledger
This Hour of Code looks at how transactions works on the Bitcoin ledger and and investigates the overall performance of the Bitcoin blockchain.
Grade Levels: High School
Hour of Code: Explore Blockchain Technology
This Hour of Code is an introduction to cryptography, hashing and blockchain technology, which is the foundation of Bitcoin.
Grade Levels: High School
Mobile Apps (Semester)
Coming Soon
Grade Levels: High School
Punnett Square Generator
Students will use Turtle Graphics in Python to create their own Punnett Square generator. This course is designed for students who have taken or are taking a biology course. The approximate length of this course is 2-4 hours.
Grade Levels: High School
Coding Explorations
Students learn coding as it relates to music, art and sports.