Grades 6-12

Learning at your own pace

Learn the fundamentals with our self-paced courses

Express course

A great option for students getting started on their own. You'll learn the fundamentals of computer science with drag & drop blocks. Create your own drawings and games. Note: Express courses are currently only available in English, Hindi, Italian, and Spanish. For other languages, we recommend our 20-hour Accelerated Course. To see what's available in your language, visit our course catalog.

Programming Modules for older students

Adapted from our CS Discoveries and CS Principles courses, these short, self-paced modules for middle and high school students are a great way to learn concepts that span all programming languages and tools.

Introduction to Game Lab

Program animations, interactive art, and games in Game Lab. Start off with simple shapes and build up to more sophisticated sprite-based animations and games, using the same programming concepts and the design process computer scientists use daily. In the final project, you’ll develop a personalized, interactive program.

Ages 13+.

Turtle Programming in App Lab

Begin working in App Lab where you’ll use simple JavaScript commands to draw shapes and images using a virtual “turtle.” Learn to break down big programming problems into manageable pieces. Design and program your own digital scene!

Ages 13+.

Event-Driven Programming in App Lab

Program in the JavaScript language using App Lab. Learn to design apps that respond to user interaction like clicks and key presses. Create a series of simple applications (apps) that live on the web!

For middle and high school students.

Make your own apps, games, and webpages

Videos: Watch these easy 3-5 minute educational videos

Video thumbnail

How AI Works: With an introduction by Microsoft CEO Satya Nadella, this series of short videos will introduce you to how artificial intelligence works and why it matters. Learn about neural networks, or how AI learns, and delve into issues like algorithmic bias and the ethics of AI decision-making.
Video thumbnail

How Computers Work: With an introduction by Bill Gates, this series of six short videos is designed to be approachable for everyone and easy to understand. The series explains what makes a computer a computer, how digital information is represented in 1s and 0s, how computer circuits work to manipulate digital information, and how a central processing unit (CPU) and operating system control the inputs, outputs, memory, and hardware of a computer.
Video thumbnail

How the Internet Works: This series of eight short videos features Vint Cerf, the inventor of TCP/IP, David Karp the founder of Tumblr to explain HTTP and HTML, Google's "Security Princess" to explain SSL and cybersecurity, and engineers from Microsoft.

Visit our video library.

Learning in the classroom

Computer Science Discoveries

Video thumbnail

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

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.

Computer Science A

Computer Science A (CSA) introduces students to software engineering and object-oriented design while learning the Java programming language. The 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.

Courses from 3rd parties