High school is full of growth and trying new things. High school is also when you start to learn what you’re passionate about as you start to think about college and your career. Whether you just learned how to code in high school or have been coding since you were five years old, high school is a great time to bring your coding skills to the next level. A well thought out high school coding curriculum will help you learn as much as you can and set you up for future success.
Enroll your child in award-winning online AP CS classes, led live by expert instructors, and designed by professionals from Google, Stanford, and MIT.
Recommended High School Coding Curriculum
Different high schools offer different levels of computer science curriculum. Some high schools offer multiple levels of computer science classes with classes past AP Computer Science. On the other hand, 53% of high schools throughout the US don't even offer one computer science course.
Here are Create & Learn, our award-winning high school curriculum is designed by professionals from Google, Code.org, Stanford, and MIT. We show high school students how studying computer science can lead to making movies, training top athletes, investing in stocks, building smart homes, creating robots, saving wild animals, and much more.
Our high school curriculum covers wide-ranging topics including computer science fundamentals, core programming languages such as Python, Javascript, and Java, as well as state of art technologies such as Firebase, Keras (Artificial Intelligence), and Android - the same tools top engineers use. Classes build on top of previous subjects to reinforce learning, while also expanding to new areas of learning. We recommend beginning with foundation classes, choosing intermediate classes based on interests, and completing advanced classes for ambitious learners.
Educators, if you're interested in bringing computer science to your school, please get in touch here to request your first free class.
Foundational High School Coding Courses
- Discovering Digital Design: Create digital art by learning the art and science behind it
- Mobile Coding for Apps and Games: Create powerful mobile apps and games with professional block coding platform Thunkable
- Python for AI: Learn a real-world programming language, with a focus on AI
- Modern Website Design with Wix: Develop beautiful websites fast using Wix
Intermediate High School Coding Courses
- Coding with Roblox Studio in Lua: Create Roblox games using Lua in Roblox Studio
- Build Your Web: Develop web pages using HTML, CSS, and Javascript
- Computer Science Principles: Learn core computer architecture topics - binary, networking, security, algorithm, and more
- Data Science with Python, Pandas, and ChatGPT: Learn data science with Python and Pandas
- Advanced Roblox Game Coding: Explore and build complex Roblox games with different themes
- Congressional App Challenge: Code an app to solve a social problem in your district
Advanced High School Coding Courses
- Unity Game Development: Learn Unity to code fun 2D and 3D games
- Cloud Computing for Web Apps: Build advanced scalable web apps using cloud computing
- Intro to Java Programming (AP CSA Aligned): Get an introduction to Java that also maps to AP Computer Science Java (APCSA) requirements
- Android Game Building with Java: Learn Java fundamentals and Android mobile development
- AI Creators - Computer Vision & ChatGPT: Start mastering machine learning and create AI apps with Python
- Intro to Computational Biology: Learn how to use code to decipher your biological code — understand what makes you YOU
- C++ Essentials for Teens: Learn C++ essentials to unlock a world of possibilities
Computer Science For High School Students
No matter which high school you go to, there are things any high school student can do to prepare to study computer science in college. While this upcoming advice may sound stressful or daunting, make sure to not stress too much and enjoy high school! Even if you know you love programming and want to study computer science in college, explore other subjects. Don’t lose sight of non-programming related extracurricular activities. Take time to hang out with friends and pursue your hobbies. Stop and smell the roses!
Here are some tips from a computer science graduate for how to prepare yourself in high school to study computer science in college. These tips will cover how to learn as much coding as possible in high school and how to stand out in the computer science college admissions process:
1. Take all the coding classes your high school offers.
This may sound obvious, but if your high school offers computer science courses, try to take as many of those courses as you can! Even if you have a packed class schedule and extracurriculars, a programming class will feel more like fun rather than work if you’re truly passionate about the subject. Prioritizing coding classes in high school demonstrates your love for the subject when applying to colleges. You can also take online coding classes for high schoolers to complement what you learn in school.
2. If your high school offers it, take AP Computer Science A as early as possible.
AP Computer Science A is equivalent to a first semester college level intro programming course. Doing well in this class proves to colleges that you are ready for college level computer science. Also, if you do well enough in the exam most colleges will let you skip the first semester intro to computer science class, allowing you to take more advanced classes early on in college. AP Computer Science Principles is also a good class but make sure to prioritize AP Computer Science A because this course focuses more on text based Java programming. Code.org has a few additional ideas on what to take as well.
3. Develop a relationship with your computer science teacher.
The teacher who instructs the programming courses is the person at your school who will know the most about computer science. Don’t be shy and ask this teacher to give you challenges, mentor your side project, or recommend ways to learn for you to learn more about programming. This teacher would also be a great person to ask to write a letter of recommendation for your college application.
4. Focus on math classes.
Many computer science programs will require you to take math classes past calculus to graduate. Advanced math is useful in advanced computer science fields such as data science and artificial intelligence. To prepare yourself in high school, aim to take the most advanced math classes you can. Classes such as AP Calculus AB/BC and/or AP Statistics will help you prepare for more advanced college math classes. Similar to other AP courses, doing well on the AP exam could allow you to skip these classes once you enter college.
5. Focus on science classes too!
Since many computer science programs are grouped together with other engineering programs, many computer science programs will also require science classes to graduate. Focus on taking an AP Physics class, but AP Chemistry or AP Biology would be good options too. AP Physics is most recommended because not all computer science programs will accept chemistry or biology courses for the science requirement but all computer science programs will accept physics for the science requirement.
6. Work on computer science projects outside of class.
Just because there’s no class for how to do something doesn’t mean you can’t learn it outside of school. As we’ll discuss later in this article, there are many resources available online to learn programming on your own. Want to create a website? A video game? A mobile app? You can find a tutorial online! Share your project with your school! If you can’t think of a side project, think of a problem at your school and design a website or app that would solve it!
7. Be active in a programming club!
Does your school not have a programming club? Then start one! A programming club is a great way to meet other students interested in computer science. You all can explore new projects together and learn from each other. Other ideas similar to a programming club are a club for a more specific type of programming (ex: robotics club or game development club) or a programming club for a specific group of people (ex: Women in Computer Science club, Blacks in Technology)
8. Enter coding competitions.
Coding competitions could be a way to take your skills to the next level. Examples of coding competitions for high schoolers include the Imagine Cup, Congressional App Challenge, National Youth Cyber Defence Program, American Computer Science League, USA Computing Olympiad (USACO). There are also several robotics focused competitions but I opted to leave those out since these competitions are not individual and require purchasing hardware / tools.
9. Work as a programmer!
A summer job idea that relates to programming is to work as a programmer for a summer. Formal internships for high school students are rare but they do exist, search for what’s in your area. Internships are traditionally meant for college students. Outside of a formal internship, you can offer to build a website or app for a local business. If you live near a university then a research lab could be another good place to find a summer programming job as a high schooler.
10. Teach computer science.
If you’re looking for another summer job that relates to programming, why not teach it? Apply to be a counselor or teaching assistant at a STEM summer camp near you. If your high school has student teaching assistants during the school year then apply or ask to be one. Teaching a subject improves your understanding of the concepts. It is also very rewarding to teach something new to others.
Free Coding for High School Students
As mentioned above, just because your school doesn’t offer a class means you can’t learn on your own! Here are a few free high school level classes to get started with coding.
1. If you’re completely new to coding, Scratch could be a good place to start.
Developed by MIT, Scratch is simple to learn and covers all the concepts used in more traditional text based programming languages. AP Computer Science Principles and many college intro computer science courses use Scratch! Sign up for free here!
2. A reason why many students want to learn how to code is to create a mobile app.
Students can create professional looking mobile apps and games for both iOS and Android using drag and drop programming with Thunkable. Get started with Thunkable development!
3. Another common reason students want to learn how to code is to build games.
Students can build complex 3D games simply using Roblox Studio. Developing with Roblox Studio uses Lua, a simple text based programming language. It’s a good introduction to text based coding! Sign up for free Roblox coding!
4. Python is one of the top languages used today and a very marketable skill.
It is vital for web development, data science, and artificial intelligence. It’s also one of the easiest text based programming languages to learn! Try out Create & Learn’s Python course for free!
Start with the Best High School Coding Curriculum
High school is a great time to get started or dive deeper into coding for teens. No matter how far into your coding journey you are, take advantage of all the STEM opportunities your school has to offer. If you’re serious about majoring in computer science try to take AP Computer Science A, an AP math class, and an AP science class (physics preferred) if your school offers it.
Be curious about coding - work on side projects or enter a competition. Connect with other students and teachers who are also passionate about programming. Tailor your high school coding curriculum to your goals and interests!
Written by Brandon Lim, a Create & Learn instructor and curriculum developer. Brandon also works full-time as a software engineer and holds a BS in Computer Science from Johns Hopkins University. Brandon has experience teaching coding to students of all ages from elementary school to college and is excited to share his deep knowledge and relentless passion for coding with the next generation of technology leaders.