High School

Six different studies show: students who study computer science perform better in other subjects, excel at problem-solving, and are more likely to attend college!

For high schools, we offer two years computer science courses for beginners: Computer Science Discoveries, and Computer Science Principles. Our curriculum is available at no cost for anyone, anywhere to teach. You can read more about our curriculum values here.

Computer Science Discoveries

video thumbnail play button

CS Discoveries is an introductory course for 6-10th grade students that can be flexibly taught as a single semester, two semesters over multiple years, or as a full year course. Mapped to CSTA standards, the course takes a wide lens on computer science by covering topics such as problem solving, programming, physical computing, user-centered design, and data, artificial intelligence, and machine learning, while inspiring students as they build their own websites, apps, games, and physical computing devices.


Computer Science Principles (intro and AP course)

video thumbnail play button

Designed for 9 - 12 grade students, CS Principles introduces students to the foundational concepts of computer science and challenges them to explore how computing and technology can impact the world. This year-long course can be taught as an introductory course and as an AP course - no prerequisites required for students or teachers new to computer science! CS Principles complements CS Discoveries with a deeper focus on concepts such as how the internet works and the societal impacts of computer science.


Students who take AP Computer Science Principles are 12% more likely to enroll in college compared to similarly-situated peers, and students who take AP exams are more likely to graduate 4-year college, regardless of their score on the exam. AP computer science students also earn better AP Calculus scores than comparable students who don’t take AP computer science.

AP® Computer Science A

Computer Science A (CSA) introduces students to software engineering and object-oriented design while learning the Java programming language. The Code.org CSA curriculum is recommended for any high school student who wants to continue their computer science education after completing an introductory course, such as CS Principles or CS Discoveries. Students expand their programming skills by developing solutions in the Java programming language, building on the knowledge they acquired from their previous introductory computer science course.

Creating Apps for Devices

Every day, we use devices — computers, phones, and more — that help us accomplish tasks both big and small. When students learn to program these devices, foundational computer science comes alive! In this unit, which spans roughly 6 weeks, students will learn the fundamentals of programming devices.


Artificial Intelligence and Machine Learning

Artificial intelligence (AI) and machine learning (ML) are shaping the world around us. As these technologies touch more and more of our daily lives, they have become an essential part of foundational computer science education. In this standalone module, which spans roughly 5 weeks, students can learn the fundamentals of these technologies and discuss their ethical implications.


Computer Science Fundamentals - Express

For a lightweight option that can be integrated as a unit in an existing technology or programming class, or as an after-school program, Code.org offers the 30-hour Express Course. This course covers all the core concepts from the elementary school curriculum Computer Science Fundamentals, but at an accelerated pace designed for students ages 10 - 18.

Computer science in other subjects

Are you interested in a few lessons to demonstrate how computer science can be used in another subject area? Partners have created introductory tutorials as part of the Hour of Code. These activites are ideal for math, history, or other subject-area teachers interested in supplementing their curriculum and letting students explore the cross disciplinary aspects of computer science. Activities are available for science, math, social studies, language arts, and art/media/music classes.

App Lab and other resources

In addition to our courses, we have tools and resources that you can blend into your own curriculum. Teachers can use App Lab in any course to teach students how to create apps and games in JavaScript. If you're ready to go further, Game Lab lets students make more complex animations and games including objects and characters that interact with each other. Our widget library provides lessons and tools to teach text compression, encryption, pixels/RGB, and how the internet works. And, our video library helps illustrate computer science concepts for your class.

Recommended courses from 3rd parties

If you want to go even further with your students, or you're looking for other options, check out our recommended third party resources for additional courses in programming, game design, and more!