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
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
Review: AP Computer Science Principles
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
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)
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
Creative Computing (MS)
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
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
Introduction to Computer Science in Java
Learn the basics of object-oriented programming with a focus on problem solving and algorithm development.
Main Programming Language: Java
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
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: Middle School