Coding is an increasingly important skill in the modern world. Not only can it be used in everyday problem solving, but also it's used in nearly every industry. As technology continues to develop, programmers will continue to be in high demand. Fortunately, there are a number of great coding classes for high school students available. Read on to find out about our award-winning curriculum for learning how to code!

Explore Coding Classes for High Schoolers

Let's take a look at some programs that can help high schoolers develop a passion for computer science and lifelong learning. This award-winning high school coding curriculum is designed by experts from Google, Stanford and MIT, equips students with the skills they’ll need to go from absolute beginners to experienced programmers in the fields in which they’re interested.

High schoolers are at the perfect age to start exploring the exciting world of coding. They can learn a range of valuable skills, from designing user interfaces, to building 3D video games, exploring data science, and even earning AP class credit through courses like our Computer Science Principles course. With the right guidance and resources, they can unleash their creativity, challenge their problem-solving skills, and set themselves up for a rewarding and in-demand career in the future.

We recommend starting with foundation classes, choosing intermediate classes based on interests, and completing advanced classes for ambitious learners.

Top Free Coding Classes for High School Students

Create & Learn offers award-winning computer science classes in 35+ different subject areas. These classes are small group sessions of about 5 students, and are taught live by an engaging instructor whose feedback, answers to questions, and personalized support can be especially helpful to high schoolers beginning to explore coding. All classes use real-world applications, so teens can learn skills they can immediately apply outside of the classroom setting. There are also many free coding classes to try first, to see what sparks your teen's interests!

A great place to start is Scratch, a simple block-based coding system that allows students to focus on learning the foundations of coding without worrying about syntax. Scratch is also a great stepping stone on the way to other programming languages, as the overall approach taken to program in Scratch is similar to the approach in other popular languages. Plus, Scratch comes with a number of built-in graphics and sounds to allow beginner coders to dive right into making fun and interesting projects!

Alternatively, for students willing to spend a moderate amount of extra time to practice, Python can also be a great place to begin. Python is a real-world programming language used for web development, data manipulation, and much more.

1. Free Accelerated Scratch

Scratch is a popular platform as a first choice for learning to program. It makes use of block-based programming, rather than text-based programming, to allow students to focus on learning the core concepts of coding without worrying about tricky syntax. This free introduction to Scratch is designed to teach older students the basics of Scratch by building a simple project, and it’s designed for older students, making it perfect for a high schooler to take! There are no prerequisites for this class, so your student can jump right in!

2. Free Python

Python is one of the most popular programming languages in the world, due to its ease of use and wide array of real-world applications. It’s used in everything from game development to artificial intelligence, making it a great option as a first text-based coding language. In this introductory class, students will learn how to animate and draw with Python, and will build their own story project with cool animations. It’s recommended that students have experience with block-based coding before taking this class, although highly motivated students can get started with Python first if they’re willing to spend a little extra time practicing!

3. Free Roblox Coding

Roblox is an ever-growing platform beloved by kids everywhere, so why not learn how to make your own games in Roblox? This class introduces students to coding in Roblox Studio using a system similar to the one used in Scratch. They’ll be guided on the process of installing and activating Roblox Studio, followed by a tutorial to create an interactive Obby game with different shapes, colors, and materials. The expert teacher will walk students through the process, do demos, and of course, answer questions if needed. It is recommended that students have completed the Scratch course before taking this class.

Top Coding Classes for High Schoolers

Online coding classes offer a unique and valuable experience that is worth the cost. With expert instructors leading small classes, students receive personalized attention and guidance to help them reach their coding goals. These classes are tailored to specific skills and programming languages, ensuring that students receive the most comprehensive and up-to-date education. Online coding classes provide access to quality education, experienced teachers, and a collaborative learning community that help high school students get a step ahead in the world of computer science.

1. Discovering Digital Design

Art and design are just as important to computer science as coding is! Creating a great application is a start, but without a user-friendly interface, most people won’t want to use your program. Discovering Digital Design is a class designed to teach students how to apply colors in different contexts in the real world, from brand logos to paintings, apps, games, websites, movies, product design and more. This class has no prerequisites, so feel free to dive in!

2. Mobile Coding for Apps & Games

In this class, students will build their very first mobile app using the block-based programming system of Thunkable. This is a great place for a high schooler to dive into their professional programming journey, as using block-based programming helps practice the core concepts of coding without worrying about the complexities of text-based programming. It is advised to have some experience with a platform like Scratch before taking this class.

3. Python for AI

Python is a high-level programming language used by companies such as Netflix and Google, and it’s popular for web development, game development, app development, machine learning, and more. This class is designed to help students transition from block-based programming to text-based programming, with a focus on the elements of Python most useful to the field of artificial intelligence. It is recommended that students come in with experience with block-based programming systems, although motivated students can make it as long as they’re willing to put in a little extra practice time!

4. Modern Website Design with Wix

Web design is a massive field in the world of computer science, and Wix is the leading platform for designing and managing websites. This class starts students out with the fundamentals of web design and covers the core features of Wix. Throughout the course, students learn how to add complex elements to websites, such as maps, submission forms, private pages, interface design, and even how to set up payment gateways. There is no required prerequisite to take this class, although students with prior coding and design experience will likely get the most out of the course.

5. Coding with Roblox Studio in Lua

Lua is a very popular scripting language, most often used to write extensions and other add-ons for existing software. Roblox Studio allows players to create their own worlds in Roblox using Lua to script the behavior of their creation. This course teaches students how to create games with Roblox Studio, including multiplayer games, while also learning the syntax of Lua in the process. It is recommended that students have a background with other text-based coding languages before taking this course.

6. Computer Science Principles

Learning to code is extremely valuable, but learning how a computer works is important too! This class introduces students to a wide range of important fundamentals topics in computer science, such as binary code, encryption, networking, and more. Designed by expert AP computer science educators, this class also meets the requirements for the APCSP exam as defined by the College Board. It is strongly recommended that students have completed Python for AI to get the best learning experience from this course.

7. Data Science with Python & Pandas

Data analytics is a critical field of computer science for modern businesses, so there’s no time like the present to start learning about data science! Whether your high schooler has aspirations of becoming an entrepreneur, lawyer, journalist, doctor, or engineer, it’s important to gain the power to analyze and utilize data to gain business insights and make decisions. This class teaches students how to use Python alongside the Pandas library to clean data, process it, and analyze it. Students need to have completed Python for AI Part 3 or have equivalent experience to take this class.

8. Unity Game Development

Game development is always a popular subject, and Unity is one of the most popular platforms in the world for making video games! It uses the C# programming language alongside a powerful editor to create both 2D and 3D games. In this class, students begin by learning how to make a 2D platform game, and work toward building a 3D first person game. Be sure to take the free introductory class to get Unity set up and get familiarized with the interface. It is recommended that incoming students have a basic knowledge of text-based coding languages, such as Python or Java.

9. Intro to Java Programming (AP CSA Aligned)

Java is an extremely flexible object-oriented programming language used by professional software engineers all over the world. This class covers a broad range of Java topics, including designing solutions to problems, using data structures to organize large amounts of data, developing and implementing algorithms to process that data, and the ethical and social implications of computing systems. The class will also thoroughly prepare students for the AP CSA exams offered by the College Board. Incoming students must have a good understanding of text-based programming languages like Python.

10. Android Game Building with Java

Java can be used for more than just business purposes! In this class, students learn how to use Java to develop games for the Android mobile platform. In the process, they’ll practice with important Java concepts, like loops, classes and objects, arrays, and more! Students interested in this class should be familiar with the basics of Java programming, having taken the Intro to Java Programming class first (or have equivalent experience).

Be sure to explore more classes here, and you can learn even more about high school coding curricula here.

Start Coding for High Schoolers with Classes

There has never been a better time than now for high schoolers to dive into the world of coding, as technology becomes more and more integrated with our daily lives. Why not get started by learning more about Python for teenagers? From there, you can move on to fun Python exercises for kids. And don’t forget to check out the fantastic curriculum offered by Create & Learn full of fun coding bootcamps to jumpstart your teen’s programming journey!

Written by Create & Learn instructor Josh Abbott Salazar. Josh is a teacher, coder, audio engineer, and musician. After graduating with a Master's in Music from Belmont University in Nashville, TN, Josh turned his attention to the technology side of things, and has been working in various aspects of coding and engineering ever since. He runs a small music studio in Nashville called Tango Sound Studios, and develops video games in his spare time.