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
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
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. This course was last updated summer of 2019.
Grade Levels: High School
AP Computer Science A (Nitro)
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
AP Computer Science A (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® Computer Science A test.
Grade Levels: High School
Computing Ideas (Lovelace)
This is the main Computing Ideas course which covers web design, programming, and big ideas in computing. This course is for middle school or high school. Blocks are available, but teachers have the ability to turn them off.
Grade Levels: High School
Web Design (Picasso)
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
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. This course is one year for high school students.
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. Blocks are available, but teachers have the ability to turn them off.
Grade Levels: High School, Middle 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. Students will complete a large end-of-course project where they will practice project development skills to create an app to solve a specific problem.
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
Review: AP® Computer Science A
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
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 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
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
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
Introduction to Computer Science (Collie)
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 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
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
Web Design (Matisse)
Year long web design course geared toward MS students.
Grade Levels: Middle School
Main Programming Language: HTML
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. This course is one semester for middle school students.
Grade Levels: Middle School
Introduction to Cybersecurity (Alberti)
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. This is a semester-long course for high school students.
Grade Levels: High School
AP Computer Science A Labs
This course is home to labs meant to prepare students for the AP CS A exam. Use this course to meet the 20 lab hours required for AP CS A, or as additional coursework for students once they've taken the exam. Labs include four College Board recommended labs with accompanying student guides and two CodeHS originals.
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
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
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
Coding Explorations in Art
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
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
Indiana Computer Science I
The CodeHS Indiana Computer Science I course teaches the foundations of computer science and basic programming, with an emphasis on helping students develop logical thinking and problem solving skills.
Grade Levels: High School
Virginia Computer Science Foundations
The Virginia Computer Science Foundations course is a one-year course with an emphasis on computer programming within the context of broader concepts of computer science. This course builds on the concepts of computer science developed in prior grade levels and provides a transition from block-based programming to a text-based programming language and familiarize students with developing and executing computer programs.
Grade Levels: High School
CSTA Course 3A
This course is fully aligned to the CSTA 3A standards for students in grades 9 and 10. It covers all concepts in the CSTA framework, including: Algorithms & Programming, Computing Systems, Data and Analysis, Impacts of Computing, and Networks & the Internet.
Grade Levels: High School
Nevada Computer Science and Applications
This course is fully aligned to the Nevada Technology & Computer Science Standards included in the Computer Science and Applications half-credit course required for graduation. In this course, students learn about computer science and computational thinking using Python and HTML to analyze and design solutions to problems using programming skills. Additional topics include algorithms, documentation, security and privacy, communication and collaboration, and data visualization.
Grade Levels: High School
Texas Computer Science 1
Computer Science I will foster students' creativity and innovation by presenting opportunities to design, implement, and present meaningful programs through a variety of media. Students will collaborate with one another, their instructor, and various electronic communities to solve the problems presented throughout the course. Through data analysis, students will identify task requirements, plan search strategies, and use computer science concepts to access, analyze, and evaluate information needed to solve problems. By using computer science knowledge and skills that support the work of individuals and groups in solving problems, students will select the technology appropriate for the task, synthesize knowledge, create solutions, and evaluate the results. Students will learn digital citizenship by researching current laws and regulations and by practicing integrity and respect. Students will gain an understanding of the principles of computer science through the study of technology operations, systems, and concepts.
Grade Levels: High School
South Carolina Fundamentals of Computing
Fundamentals of Computing is designed to introduce students to the field of computer science through an exploration of engaging and accessible topics. Through creativity and innovation, students will use critical thinking and problem solving skills to implement projects that are relevant to students’ lives. They will create a variety of computing artifacts while collaborating in teams. Students will gain a fundamental understanding of the history and operation of computers, programming, and web design. Students will also be introduced to computing careers and will examine societal and ethical issues of computing.
Grade Levels: High School
Georgia Introduction to Digital Technology
This is the first course required for all of Georgia's IT pathways. This course is designed for students to understand, communicate, and adapt to a digital world as it impacts their personal life, society, and the business world. Exposure to foundational knowledge in hardware, software, programming, web design, IT support, and networks are all taught with hands-on activities and project focused tasks. Various forms of technologies will be highlighted to expose students to the emerging technologies impacting the digital world.
Grade Levels: High 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
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.
Grade Levels: High School, Middle School
Mobile Apps (Semester)
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. This course is designed for a semester-long session.
Grade Levels: High School
JavaScript with Physics: Bouncing Ball Simulation
Have you ever wondered when and where you will use some of those concepts you learned in physics? In this lesson, you'll apply your skills in creating a bouncing ball simulation, complete with gravity and collisions! Students should have some familiarity with physics concepts such as acceleration and velocity. Developed by Brian Pitlin, computer science teacher at United High School
Grade Levels: High School
Categorizing Triangles
Students will use Turtle Graphics in Python to create a program that will draw a categorize triangles based on user input. This course is designed for students who have taken or are taking a geometry course. The approximate length of this course is 1-3 hours.
Grade Levels: High School
Hour of Code: Exploring Genotypes with Code
In this hour of code, students will create a program that will solve for allele pairs based on user input. Students will program with Tracy the Turtle in Python to make this happen. Students should have prior knowledge of basic biology concepts and Punnett Squares before beginning this activity.
Grade Levels: High School
Introduction to the Internet
Introduction to the Internet is a first computer science course introducing the basics of designing a web page and how information and images are represented with computers. Students will create a portfolio on the web of projects they build throughout the course.
Grade Levels: Middle School
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 (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
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