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 5 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.

Computer science for high school students

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.

No matter what 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.

Enjoy live online classes designed by Google and Stanford experts that cover AP computer science principles:

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 in point #7 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! Or explore more of the best Python classes for teens.

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.