CodeHS Courses

Intro to Computer Science in JavaScript

The CodeHS introduction to computer science curriculum teaches the foundations of computer science and basic programming in JavaScript, with an emphasis on helping students develop logical thinking and problem solving skills. This is a full year long course for high schools. Once students complete the CodeHS Introduction to Computer Science course, they will have learned material equivalent to a semester college introductory course in Computer Science and be able to program in JavaScript.

Learn More

AP Computer Science in Java

The CodeHS AP Java course is a year-long course designed to help students master the basics of Java and equip them to successfully pass the College Board AP Computer Science A Exam at the end of the school year. All learning materials and resources teachers and students need for a successful year-long AP Java course can be found on the CodeHS website.

Learn More

Intro to Computer Science in Python

The CodeHS introduction to Python course teaches the fundamentals of computer programming as well as some advanced features of the Python language. Students use what they learn in this course to build simple console-based games. This course is equivalent to a semester-long introductory Python course at the college level.

Learn More

AP Computer Science Principles

AP Computer Science Principles is the newest AP® course from the College Board. This course introduces students to the foundational concepts of computer science and explores the impact computing and technology have on our society. Students learn about the internet, digitial information, programming, data, and apply these concepts through creative projects, while building their portfolio.

Learn More

Computing Ideas

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.

Learn More

Creative Computing

The Creative Computing course is a first computer science course introducing the basics of designing a web page, the basics of programming with Karel the Dog, and an introduction into basic JavaScript and graphics. Students will learn the basics of HTML, CSS and JavaScript in this course.

Learn More

Introduction to the Internet

The Introduction to the Internet course is a first computer science course introducing the basics of the basics of designing a web page, and how information and images are represented with computers, and the design and structure of the Internet. Students will create a portfolio on the web of projects they build throughout the course.

Learn More

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.

Learn More

Teaching Intro Computer Science - Professional Development

This CodeHS professional development course is a 30-40 hour course meant for teachers who are going to be leading computer science classes, but maybe do not have programming background. This course teaches the basics of coding, how to teach these foundational concepts, how to learn and teach debugging to students, and how to do this effectively in a blended classroom. This a high touch course that provides help to teachers from our Professional Development team as well as our team of computer science tutors. This course is taught in the context of the key access and equity issues surrounding computer science education.

Learn More

Teaching Intro Computer Science 2 - Professional Development

This CodeHS professional development is a follow on PD course for teachers who are teaching an introduction to computer science class with CodeHS. The lessons will have teachers practice key teaching methods, gain familiarity with CodeHS tools, and receive extra debugging practice and tips. This is for teachers who have already completed Teaching Intro Computer Science 1. This course is a high touch course that provides you with personal support from our Professional Development team and network of tutors.

Learn More

Teaching AP Computer Science Principles - Professional Development

This CodeHS professional development is a 30-40 hour online course to be taken over the summer to prepare to teach AP Computer Science Principels. This course teaches the foundational concepts for the AP CS Principles course, and how to lead this course in a blended classroom. It also helps to familiarize you with AP requirements and how to prepare and lead the performance tasks. This course is a high touch course that provides you with personal support from our Professional Development team and network of tutors.

Contact Us

Teaching AP Computer Science in Java - Professional Development

This CodeHS professional development is a 20-25 hour course to be taken over the summer to prepare to teach the AP Computer Science in Java course (also known as AP CS, AP CS A, or AP Computer Science A). This course is geared toward teachers who want to learn the Java programming language, refamiliarize with the Java language, or learn to teach the AP Computer Science course. This course is a high touch course that provides you with personal support from our Professional Development team and network of tutors.

Contact Us

Intro to Programming with Karel the Dog

Learn the basics of computer science, programming, and computational thinking with Karel the Dog. Students give commands to the dog to practice foundational concepts and solve programming puzzles. This is a great first course for middle schoolers and can be done with text or block-based programming.

Learn More

Web Design

The CodeHS Web Design course 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.

Learn More

Video Game Design

The CodeHS Video Game Design course teaches the foundations of computer science and programming required to build their own video games in JavaScript. Students will learn how to code and finish the course having created over 5 text-based and graphical games.

Learn More

AP Computer Science in Java Review Course

Prepare for the AP Computer Science A exam with a full suite of practice programs and multiple choice quizzes. Get instant feedback on how you're doing on quizzes and programming exercises with our autograding tools. This covers all the main topics in the course including the Java programming language, methods, classes and object-oriented programming, data structures, algorithms and recursions. This course also includes full free-reponse problems like the AP exam and full length AP exam multiple choice tests.

Enroll Now

AP Computer Science Principles Review Course

Prepare for the AP Computer Science Principles exam with the largest repository of practice exam questions, broken down by subject. Get instant feedback on how you're doing on quizzes with our autograding tools. This covers all the main topics in the course including algorithms, programming, encoding data, abstraction, the Internet, cybersecurity, simulation and modeling, drawing insights from data, and the global impact of computing. This course also includes a full length AP practice multiple choice exam.

Learn More

Introduction to SQL

Learn the basics of SQL. How to structure information, write queries, and analyze data. Understanding your data is the key to understanding your users. If you learn SQL, you will be able to find the answers to the most important questions at your business. This course teaches you the fundamentals of SQL so you understand how data is stored and how to search for, or query, the information. You don't need any experience coding to learn, but even if you have tried out SQL before, this course will give you the confidence you need to use SQL at your job.

Sign Up for Individuals Contact Us for Schools

Functional Programming in Elm

Elm is a programming language that is used to build web apps. This course uses Elm to to develop a deeper understanding of core programming concepts; programming concepts that apply to any future language learned. The course explores these core programming concepts through the lens of functional programming, an under utilized style of programming which has been gaining traction in industry in recent years. For those not familiar with functional programming, this course will fundamentally change the way in which you view programming.

Learn More

Introduction to Virtual Reality

Introduction to Virtual Reality is a mini-course that introduces students to the basics of building virtual reality worlds using HTML and the A-Frame JavaScript Library. Through this course, students will build their own virtual reality worlds that are compatible with VR devices, including smartphone VR headsets! Students can either complete the entire course, or individual lessons in the form of playlists. Each lesson should take a single-hour class period. Work through individual playlists, or take the entire mini-course. The entire course should take about 30 hours of class time.

Learn More