15 Online Programming Courses for High School Students

Edited by :
Ben Chwistek
Updated:
September 25, 2026
Read time:
#
min.
15 Online Programming Courses for High School Students

TL;DR

This list covers 15 online programming courses you can explore as a high school student, spanning free options like Harvard's CS50 to paid intensives such as Stanford's $3,200 pre-collegiate program. You'll find courses in Python, Java, C++, and JavaScript, suited to complete beginners and to students with some coding background. Most programs welcome rising 9th through 12th graders, and some accept students as young as 13. Harvard's CS50 alone assigns nine problem sets to earn a certificate. Immerse Education's own coding research programme, open to ages 13 to 18, appears here as a fully remote option with bursary support.

‍

Online programming courses are a great way to explore your interest in computer science beyond what you do in your high school classroom. Rather than just learning coding theory, you get to write programs, solve programming challenges, and work on projects that enhance your technical and problem-solving skills. Given that many of these online courses are offered by reputable universities, attending them gives you the chance to explore what learning programming at those universities entails. 

‍

Through your progress in these courses, you will become knowledgeable in the fundamentals of programming, including algorithms, data structures, computational thinking, debugging, and software development. Based on the course you enroll in,  you could end up learning Java, C++, JavaScript, HTML, CSS, SQL, and Jupyter Notebooks or any other programming language. You will also have the chance to create websites, applications, games, or data-driven projects that you can add to your portfolio.

‍

Online programs allow you to access world-class academic mentorship from anywhere in the world, no travel required. They're a great way to build research skills, earn credentials, and get a taste of university-level work from home.

Why attend an online programming course while in high school?

By immersing yourself in a programming course, you will be able to figure out which areas of computing interest you the most. You may find that you enjoy engaging in projects related to web development, artificial intelligence, cybersecurity, data science, software engineering, game development, or cryptography. By discovering your interests early on, you can set a clear career goal for the future.

‍

More importantly, programming is a valuable skill to have in any field you wish to work in. These days, it is used in healthcare, finance, engineering, business, scientific research, and even arts. If you simply want to step into the computer science industry, completing a programming course can open so many career opportunities in the field as well. You can become a software developer, data scientist, AI engineer, cybersecurity analyst, and many more. You can check out our detailed guide on how to learn programming over the summer.

‍

To help you find the right fit, here are 15 online programming courses for high school students worth exploring.

15 Online Programming Courses for High School Students

1. North Carolina School of Science and Mathematics Intro to Cryptography and Computer Programming

Location: Online
Cost: $695; financial aid plus early bird and siblings discounts are available
Dates: July 6–24
Application Deadline: Closes when all spots are filled
Eligibility: Rising 10th through 12th graders; open to international students

‍

In this online course, you spend the first two weeks attending the course asynchronously, with each student expected to dedicate about seven hours a week. The third week will be synchronous as you meet with other students and your instructor through scheduled video calls. 

‍

Over the three weeks, you will dive into cryptographic methods used to encipher and decipher secret messages. The course will particularly focus on teaching you to use programming to automate the whole process. As a result, you will become familiar with some important programming topics like variables, functions, conditional logic, looping, and more. You will learn some important concepts you need to code in Python.

‍

Why it stands out: The program will expose you to the various encryption schemes out there, thus enabling you to use techniques to read coded messages without having to decode them. 

2. Immerse Education’s Coding Summer School

Location: Fully remote
Cost/Stipend: Varies by program type
Acceptance rate/cohort size: Selective; 1:1 learning
Dates: Flexible; multiple cohorts in a year.
Application Deadline: Rolling admissions; multiple dates throughout the year
Eligibility: Students aged 13-18 (accredited options require age 14+); open to international students

‍

The Online Research Programme allows you to explore coding through an independent, university-style research project guided by a personal tutor from Oxford, Cambridge, or an Ivy League university. On the coding and computer science pathways, you’ll investigate areas such as programming languages, algorithms, data structures, software development, or applied computing, developing analytical and problem-solving skills used in real technical fields. You may also choose to explore encryption and cybersecurity topics, examining how cryptographic techniques protect digital information and how security principles are applied in modern systems.

‍

Delivered through one-to-one or small-group tutoring, the programme mirrors undergraduate research and is available across more than 20 subjects. Depending on the pathway, you can earn recognised college or UCAS credits. By the end, you’ll complete a full academic research paper, receive detailed written feedback, and have the opportunity to publish your work or present it at the Immerse Online Symposium. For related options, you can also consider the computer science summer school.

‍

Why it stands out: You’ll get access to 1:1 Oxbridge- or Ivy-style research supervision culminating in a publishable academic paper. 

3. Harvard University CS50’s Introduction to Computer Science

Location: Online
Cost: Free to audit and $219 to earn a verified certificate
Dates: Self-paced and rolling continuously
Application Deadline: Open enrolment with no deadlines
Eligibility: Anyone globally, regardless of age or prior experience

‍

This is an introductory-level course put together by Harvard for students who want to form a strong understanding of computer science and programming. With each student expected to spend 10-20 hours per week on the course material, you will touch on topics such as abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. 

‍

You will gain exposure to programming languages like C, Python, SQL, JavaScript, CSS, and HTML. The course will also teach you to solve programming problems. Upon completing the course, you will be assigned nine problems, and those who perform well and submit their final assignment can earn a certificate. 

‍

Why it stands out: By the end of the program, you become familiar with sharing the results of your programming work with others. 

4. Stanford Pre-Collegiate Summer Institutes: Introduction to C++

Location: Online
Cost: $3,200 + application fee of $65; financial aid is available
Dates: June 15–26 (Session One) and July 6–17 (Session Two)
Application Deadline: March 13th
Eligibility: Rising 9th through 12th graders who will be more than 13 years old and less than 19 during the duration of the program and have completed an Algebra course; open to international students

‍

In this Stanford pre-collegiate course, you would spend your time learning some of the important concepts that enhance your knowledge in C++ programming. These include basic syntax, data types, expressions, control statements, functions, arrays, searching and sorting algorithms, recursion, file I/O, abstract data types, and more. You will also learn how the compiler and the hardware interact with each other. 

‍

Over the course of the program, you will tackle programming challenges that teach you to solve problems using algorithms. Classes will meet for two hours per day, following which there will be one hour of office hours for you to clarify all your doubts.

‍

Why it stands out: The syllabus is designed to ensure that the course is suitable for students who have never learned programming before so that they can become more prepared to study computer science in the future.

5. Stanford Pre-Collegiate Summer Institutes: Introduction to Java Programming

A student attending an online class using their laptop

Location: Online
Cost: $3,200 + application fee of $65; financial aid is available
Dates: June 15–26 (Session One)
Application Deadline: March 13th
Eligibility: Rising 9th through 12th graders who will be more than 13 years old and less than 19 during the duration of the program and have completed an Algebra course; open to international students

‍

This programming course is offered as part of Stanford’s Pre-Collegiate Summer Institutes. In it, you will learn about some of the important object-oriented programming concepts in Java. The syllabus will particularly cover basic syntax, data types, expressions, control statements, classes, methods, arrays, searching and sorting algorithms, recursion, file I/O, abstract data types, and more. It will also dive into graphical user interfaces.

‍

In addition to teaching you Java programming, the course gives you daily practice by making you complete problem sets. These problems will typically draw inspiration from real-world situations. The course is suitable if you have zero coding experience and are simply looking to explore your curiosity in computer science.

‍

Why it stands out: The live class has a small cohort to allow students to easily interact with instructors and receive proper attention.

Career Insights
Law
Participants will study global politics, diplomacy, and international affairs.
15-18
Sydney
2 weeks
Career Insights
Medicine
Participants will explore the realm of medical science and anatomy, acquiring valuable and practical insights into the intricacies of healthcare.
15-18
Cambridge
2 weeks

6. Northeastern University Pre-CollEDGE Online Programs: Introduction to Engineering with Coding

Location: Online
Cost: $495; need-based financial aid is available
Dates: 4 weeks to complete; Course materials will be available online June 1st – August 1st
Application Deadline: June 15th
Eligibility: 9th to 11th graders; open to international students

‍

In Northeastern University’s Introduction to Engineering with Coding, you learn beginner-level Python, software development, and data visualization. You cover basic data types and data structures, how software is created and improved, and how to organize and clean data to identify patterns and trends and present them through charts and graphs. 

‍

You work through readings and videos, take quizzes, and complete practice programming activities to create simple programs. You also learn how coding and software-development processes can help you build apps or programs that solve everyday problems. Because the course is self-paced and requires no previous coding experience, you can develop practical programming and data skills while working toward a Northeastern digital badge.

‍

Why it stands out: You can start without any coding background and learn Python alongside software development and data visualization in a flexible, self-paced course rather than focusing only on programming syntax.

7. MITx: Introduction to Computer Science and Programming In  Python

Location: Online
Cost: Free to audit. The current official MIT Learn course record lists the Certificate Track at US$149
Dates: Self-paced
Application Deadline: Open all year round
Eligibility: All high school students; open to international students

‍

Offered by the Massachusetts Institute of Technology, this course delves into how professionals in the computer science field use a programming language like Python to solve analytical problems. For this, you will be watching lectures and completing lecture exercises and problem sets using Python 3.5. As a result, you will become familiar with computational thinking and with writing code that addresses specific problems. 

‍

You will also learn testing and debugging, data structures, simple algorithms, and more through this course. Note that this is the first part of a two-part course series. Following this course, you can also enroll in the Introduction to Computational Thinking and Data Science course if you are interested. 

‍

Why it stands out: The syllabus covers a wide range of topics, giving you the chance to explore many of them and decide which one you would like to study in depth later. 

8. University of London / Goldsmiths, University of London – Introduction to Computer Programming

Location: Online

Cost: Generally at $49–$79 per month; financial aid is available

Dates: Ongoing; self-paced with flexible scheduling; approximately 2 weeks at 10 hours/week

Application Deadline: Ongoing; no fixed application deadline

Eligibility: Age 13+ under Coursera platform rules, subject to local consent requirements; no prior programming experience required; open to international students

‍

In this course, you learn the foundations of coding through JavaScript and the p5.js library. You begin by setting up a development environment, editing and running programs, and drawing with shapes and 2D coordinates. You then create graphical sketches, use RGB colour and drawing functions, and debug syntax errors through the console. 

‍

You also work with variables, operators, objects, mouse and keyboard events, and mathematical functions to build interactive programs. You apply these skills through coding exercises, a drawing app, debugging challenges, and the custom Sleuth programming puzzles. The course develops practical programming, debugging, interactive design, and code organization skills through hands-on work.

‍

Why it stands out: It teaches introductory JavaScript through visual, interactive projects using p5.js and purpose-built Sleuth programming puzzles.

9. Rice University – An Introduction to Interactive Programming in Python (Part 1)

Location: Online

Cost: Generally at $49–$79 per month; financial aid is available

Dates: Self-paced; start anytime; approximately 19 hours to complete

Application Deadline: Open enrollment; no fixed application deadline

Eligibility: Ages 13+ and old enough to consent to data processing under applicable local law; no prior computing experience required; open to international students

‍

In this course, you learn Python fundamentals by building interactive applications in a browser-based programming environment. You work with variables, expressions, functions, conditionals, local and global variables, lists, and event-driven programming. You use CodeSkulptor and SimpleGUI to respond to buttons, keyboard input, timers, and graphical canvas events. 

‍

You build projects including Rock-Paper-Scissors-Lizard-Spock, Guess the Number, and a digital stopwatch while practicing program logic, debugging, graphics, and motion. The course culminates in programming your own version of the classic arcade game Pong. You also reinforce your coding through quizzes, practice exercises, and peer-reviewed mini-projects.

‍

Why it stands out: It teaches Python through progressively more complex interactive programs and games, culminating in a playable version of Pong.

10. University of Michigan Joy of Coding: Intro to Coding & Computational Thinking

Location: Online
Cost: $149 + tax; need-based financial aid is available
Dates: 6 weeks to complete; Course materials will be available online June 17th – August 28th
Application Deadline: May 31st (Priority Deadline)
Eligibility: High school students who are at least 13 years old and have completed an Algebra course; comfortable with variables, functions, basic manipulation of functions/variables, and function notation; open to international students

‍

The University of Michigan’s engineering faculty offers a couple of online courses that allow high school students to get an outlook on the college syllabus. Among them, Intro to Coding & Computational Thinking is one of the best options for anyone interested in programming. It is a beginner-friendly course that dives into the fundamentals of programming and computational problem-solving. 

You will learn to break problems into logical steps, design algorithms, and write Python code consisting of variables, functions, conditionals, and loops. In the process, you become familiar with the thought process involved in writing code.

‍

Why it stands out: You will form an in-depth understanding of how such code plays a significant role in the apps and tools that people use every day.

11. UCLA Extension: Fundamentals of Software Development and Programming

Location: Online
Cost: $1,100; financial aid, scholarships, and discounts are available
Dates: Typically available in Fall, Winter, Spring, and Summer for 11 weeks
Application Deadline: Varies by cohort
Eligibility: High school students who demonstrate special academic competence and receive prior instructor approval; parent/legal guardian must complete the Waiver for Enrollment for Minors and submit it to the appropriate academic program department before enrollment; open to international students

‍

This is an introductory-level course that can be quite suitable for students who wish to pursue a career in computer programming or software development. In it, you will explore coding concepts across various programming languages, including Python, Visual C#, Java, Go, and shell scripting. You will simultaneously form an understanding of programming components like variables and expressions, looping, selection, functions and parameter passing, file processing, fundamentals of object-oriented development, and data types such as lists and sets. 

‍

Classes are structured to allow you to learn through video lectures and readings and then practice what you learned through live coding in a lab class session. You will have instructors to help and review your work during these sessions. 

‍

Why it stands out: By the end of the program, you will have completed six applications, each more advanced than the last, to add to your portfolio. 

Join the Immerse Education 2027 
Essay Competition

Follow the instructions to write and submit your best essay for a chance to be awarded a 100% scholarship.

12. NYU GSTEM Data Science Course

Location: Online
Cost: $2,500 + application fee of $50; application fee waiver and financial aid are available
Dates: February 3rd – May 5th
Application Deadline: December 14th
Eligibility: 11th and 12th graders; have taken or are taking Precalculus (or equivalent) and AP Computer Science Principles or another introductory computing course; not open to international students

‍

With a syllabus that is put together and taught by NYU professors, this course allows you to learn data science. Over the 12 weeks, you will learn to gather, process, analyze, and visualize data. You will also explore how to use Python and Jupyter notebooks to turn your collected data into visual data. The entire course uses Python, so it is essential that you have basic programming knowledge, including variables, booleans, loops, conditionals, and iteration. 

‍

The course will also give you training in building, testing, and validating mathematical models with data. You will learn how you can make predictions using mathematical models. You will be able to earn an official NYU academic transcript upon completing the course.

‍

Why it stands out: This course can be particularly valuable if you plan to pursue a career in STEM, as data science plays an important role, especially in research. 

13. Duke University Programming Foundations with JavaScript, HTML and CSS

Location: Online via Coursera
Cost: Generally at $49–$79 per month; financial aid is available
Dates: Self-paced, rolling-enrollment online course
Application Deadline: Open all year round
Eligibility: All high school students; open to international students

‍

In this particular course, you will learn and build a web page using HTML and CSS. You will also learn some of the fundamentals of programming with JavaScript. Meanwhile, you will gain hands-on practice in creating algorithms, using image-processing libraries, and employing programming techniques to solve problems. 

‍

The course will then teach you to create interactive webpages that encourage user interactions, such as clicking on buttons, using everything you have learned in HTML, CSS, and JavaScript in this course. You will also work on a mini project where you use your newly acquired knowledge to create a website that lets users upload and filter images. 

‍

Why it stands out: This course is the first part of the five-course series titled Java Programming and Software Engineering Fundamentals Specialization, so you have the option to explore the subject further after completing it.

14. Code Yourself! An Introduction to Programming

Location: Online via Coursera
Cost: Generally at $49–$79 per month; financial aid is available
Dates: Self-paced, rolling-enrollment online course
Application Deadline: Open all year round
Eligibility: All high school students; open to international students

‍

Offered by The University of Edinburgh in collaboration with Universidad ORT Uruguay, this course is created for those curious about coding but who have never tried it before. For this reason, this course will teach you Scratch, which is a beginner-friendly visual programming language that can be easy to learn. 

‍

More precisely, you will gain hands-on practice in creating a program with Scratch while becoming skilled at adding visual and sound effects and reusing your code. Another engaging element of the course is an exercise where you pick an old game and make changes to it to form a new version of it. As you immerse yourself in the course, you will gain a better understanding of some of the basic principles in computing. 

‍

Why it stands out: The course will teach you to think like a software engineer and even introduce you to the methods they use to test and record their programs. 

15. Princeton University Computer Science: Programming with a Purpose

Location: Online via Coursera
Cost: None
Dates: Self-paced, rolling-enrollment online course
Application Deadline: Open all year round
Eligibility: All high school students; open to international students

‍

This Princeton University course starts by introducing you to basic programming concepts, such as variables, conditionals, loops, arrays, and I/O. The course then moves to functions, familiarising you with recursion, modular programming, and code reuse. You will later gain an introductory-level exposure to object-oriented programming. You will primarily be using JavaScript throughout this course. 

‍

The course consists of 10 modules, and each module has a mix of video lectures, assignments, and readings. Moreover, this course covers the first half of the Computer Science: An Interdisciplinary Approach textbook; you can enroll in the Computer Science: Algorithms, Theory, and Machines course if you wish to dive into the second half of the book as well. 

‍

Why it stands out: Through your participation in the program, you also acquire the basic skills needed to perform computational problem-solving.

Frequently asked questions: Online Programming Courses for High School Students

What classes should you take in high school to be a computer programmer?

Focus on math courses like algebra and precalculus, since many programming courses require them as prerequisites, alongside any computer science electives your school offers. If your school offers AP Computer Science Principles or AP Computer Science A, both build a strong foundation before you move to more advanced work. Outside your regular schedule, an online programming course lets you practice on real projects, from building websites to writing algorithms in Python or Java. Combining classroom math with coding practice gives you the clearest path toward eventually studying computer science at university.

How do you learn coding as a high school student?

Start with a structured, beginner-friendly course rather than scattered tutorials, since a set curriculum walks you through fundamentals like variables, loops, and functions in order. Many programs use Python or JavaScript as a starting language because their syntax is easier to read than languages like C++. From there, you build small projects, debug your own code, and gradually take on more complex assignments. Choosing a course with instructor feedback or a live component, rather than a purely self-paced video series, helps you catch mistakes early and actually retain what you learn.

What is the best online course to learn programming?

The best option depends on your budget, prior experience, and how much structure you want. Free choices like Harvard's CS50 suit self-motivated students comfortable with a self-paced format, while paid intensives from Stanford or Northeastern add live instruction and a firmer schedule. If you want closer mentorship, Immerse Education's Online Research Programme pairs you with a tutor from Oxford, Cambridge, or an Ivy League university and is open to students aged 13 to 18. Matching the course format to how you learn best matters more than picking whichever program is most well known.

Which computer course is best for a 14 year old?

At 14, look for courses that explicitly accept younger high schoolers rather than ones aimed at college students, since eligibility requirements vary widely by provider. Several programs on this list, including Goldsmiths' introduction to programming and Rice University's interactive Python course, accept students aged 13 and up through Coursera. Beginner-friendly options that use visual or highly guided environments, rather than open-ended assignments, tend to suit a 14 year old better than advanced university-level courses. Checking each program's stated age range before applying saves you from wasting time on a course you are not yet eligible for.

Do online programming courses look good on college applications?

Yes, admissions officers generally view a completed online programming course as evidence of initiative beyond your required school curriculum. A course that ends in a certificate, a graded project, or a published piece of work carries more weight than one you simply audited without finishing. Courses that involve a real deliverable, such as a working app, a research paper, or a portfolio project, give you something concrete to reference in essays and interviews. Choosing a course based on genuine interest, rather than picking the most prestigious name, still tends to produce the strongest application material.

What programming language should a high schooler learn first?

Python is the most common starting language because its syntax reads closely to plain English, which makes core concepts like loops and functions easier to grasp. Several courses on this list, including MITx's introductory course and the University of Michigan's Joy of Coding, use Python for exactly this reason. JavaScript is a reasonable alternative if you are more interested in building websites or interactive visuals right away. Once you are comfortable with one language's logic, picking up a second one, such as Java or C++, becomes noticeably faster.

Turning a coding course into university readiness

Every course on this list gives you a practical way to test your interest in computer science before committing to it as a university major.

‍

Exploring online programming courses for high school students now means you arrive at university applications with real projects and demonstrated initiative already in hand.

‍

Admissions officers notice the difference between a student who mentions coding casually and one who can point to a finished, working project.

‍

Explore more ways to strengthen your college applications through our University Preparation resources before you decide on your next programming course.

Unlock Inspiring Opportunities with the Immerse Education Newsletter

Join our newsletter to stay ahead with exclusive updates, exciting programme highlights, and expert insights from the world of immersive education.

Learn how Immerse can transform your life

An in-depth overview of our university and career preparation programmes

Get a glimpse into the life of an Immerse participant

Find the right programme for you with sample timetables, location showcases, and more

Learn how Immerse can transform your life