Last updated: October 2026. Written by Josh Hutcheson. See our review methodology.
High schoolers have better coding options than ever, and many of the best ones are free. They also have a lot of noise to wade through: old lists recommending dead courses, programs aimed at younger children, and paid courses that ask a 15-year-old to sign up as an adult. This guide sorts it out. We checked every class and program on this page on its live site on 17 October 2026, including each platform’s age rules, and we read what high schoolers and parents ask on Reddit before choosing.
Quick verdict
Most rigorous, and free: Harvard’s CS50x on edX. Best paid, self-paced: Angela Yu’s 100 Days of Code: Python on Udemy (a parent needs to set up the account). Best gentle start with a university certificate option: Python for Everybody from the University of Michigan. No setup at all: Codecademy in the browser. Free and built for schools: CMU CS Academy, Code.org and Khan Academy. Younger than about 13: start with our Scratch courses guide instead.
How I picked these classes
Before you commit $300+ to a bootcamp, read this.
I've reviewed ZTM, Codecademy Pro, Springboard, and a dozen others. Get my Tuesday picks — plus reader-only codes when they drop.
No spam. Unsubscribe anytime.
Three filters. Liveness and currency: we opened every course and program page on 17 October 2026 and confirmed it exists and is maintained; this page dropped seven stale picks in an earlier update. Evidence: every paid pick has at least a 4.6-star rating across thousands of reviews, or comes from a university. Fit for a 14-to-18-year-old: classes have to work around a school schedule, be open to teenagers under each platform’s rules, and not assume full-time study. When a pick demands real weekly commitment, as CS50x does, we say so.
We earn a commission if you enroll through some links. It never changes the order, and most of the free programs on this page pay us nothing.
The 5 best coding classes for high schoolers, compared
| Class | Platform | Cost | Age rule | Best for |
|---|---|---|---|---|
| CS50x (Harvard) | edX | Free; optional paid certificate | 13+ | Ambitious students who want the real thing |
| 100 Days of Code: Python | Udemy | One-time purchase | 18+ account holder (parent opens it) | Daily habit, project portfolio |
| Python for Everybody (U. Michigan) | Coursera, free at py4e.com | Free materials; subscription for certificate | 13+ on Coursera | Gentlest pace, university certificate |
| Codecademy | Codecademy | Free plan; paid tiers | Not directed at under-16s | Coding in the browser, zero setup |
| 100 Days of Code: Web Development | Udemy | One-time purchase | 18+ account holder (parent opens it) | Teens who want to build websites |
Age rules from each platform’s terms or privacy policy, read 17 October 2026. Ratings and enrollment figures below are from the same day.
1. CS50x: Introduction to Computer Science (Harvard, on edX): most rigorous, and free
CS50x is Harvard’s introductory computer science course, taught by David J. Malan, and the online version covers the same material: thinking algorithmically, data structures, security, software engineering and web development, using C, Python, SQL, JavaScript, HTML and CSS. It is self-paced, free to audit, and ends with a final project you design yourself. edX showed more than 7.1 million learners enrolled on 17 October 2026, with a current run open until 30 June 2027.
Why it leads: nothing else here carries the same weight or teaches as much. High schoolers who finish CS50x arrive at college ahead of the intro sequence and have a final project to talk about. A Reddit learner taking it put it simply: one of the best introductory computer science courses online, taught by one of the best professors.
The honest catch: edX estimates 12 weeks at 6 to 18 hours a week, and the early weeks in C are a steep wall for a true beginner. If you bounce off it, start with Python for Everybody and come back. edX requires users to be at least 13.
2. 100 Days of Code: The Complete Python Pro Bootcamp (Udemy): best paid pick
Angela Yu’s 100 Days of Code is the most popular beginner programming course on Udemy: 4.7 stars from 438,333 ratings and 1,892,106 students on 17 October 2026, with 52 hours of video last updated in September 2026. The format suits high schoolers: one self-contained project a day, sized to fit in an hour after homework. By day 100 you have built games, automation scripts, data visualizations and web apps, which is a ready-made portfolio.
The honest catches: Udemy’s terms require account holders to be 18 or older, so a parent or guardian has to open the account and manage the purchase. And Udemy certificates carry little weight with colleges; you are paying for the projects and the habit. Udemy listed it at $14.99 for new learners on the day we checked; never pay the list price.
Get 100 Days of Code on Udemy →
3. Python for Everybody (University of Michigan, on Coursera): best university credential
Dr. Charles Severance’s Python for Everybody is the gentlest serious start in programming: 4.8 stars from 280,782 reviews and more than 2 million learners on 17 October 2026. It assumes no background and moves deliberately, from variables and loops to data structures, then to working with web data and databases across five courses. Coursera estimates about two months at 10 hours a week.
Two ways to take it. The free route is py4e.com, where Severance publishes the lectures, book and autograded assignments for anyone. The certificate route is Coursera, where completing the specialization earns a certificate from the University of Michigan; that needs a paid subscription. Coursera requires users to be at least 13.
The honest catch: it is slower and less project-heavy than 100 Days of Code. If you already know what a loop is, skip the first course.
4. Codecademy: best zero-setup option
Codecademy has you writing real code in the browser within a minute of signing up, with no installs. On a school-issued Chromebook that can be the difference between starting and not starting. The free plan includes beginner courses in Python, JavaScript, HTML and CSS, and Java; paid plans add more projects, career paths and certificates of completion. Its Learn Java course alone showed more than 1.4 million learners on 17 October 2026.
The honest catches: the in-browser help has a ceiling, and after a few months you need to write code in a real editor. Codecademy’s privacy policy also says the service is not directed at children under 16, so younger teens should use it with a parent. See our Codecademy review for what the paid plans include.
5. 100 Days of Code: Web Development Bootcamp (Udemy): for teens who want to build websites
Same daily format, different track: Academind’s course, taught by Maximilian Schwarzmüller and Manuel Lorenz, takes you through HTML, CSS and JavaScript to full websites and web apps. It had 4.6 stars from 7,823 ratings and 47,935 students on 17 October 2026, with 79 hours of video updated in January 2026. If what pulls you toward code is making a site other people can visit, start here instead of with Python. As with any Udemy course, a parent needs to set up the account.
Get the Web Development Bootcamp →
5 free coding programs for high schoolers worth knowing
None of these pay us anything. They are here because they are good, and several were built for school-age students.
Khan Academy
Khan Academy is free and ad-free. Its computer programming course teaches JavaScript and web basics in eight units, and it has AP Computer Science Principles material for self-study. Students, teachers and families can all create free accounts.
CMU CS Academy
Carnegie Mellon’s CS Academy is a free, graphics-based Python curriculum used by more than 5,000 teachers and 500,000 students. CS1 is a 180-hour introduction for 8th and 9th graders and high schoolers, and its 15-111 course is an honors-level year that offers a college credit opportunity. It is built for classrooms, so the easiest way in is to ask a teacher to set up a class.
Code.org
Code.org publishes free high school curricula, including Computer Science Principles, a Java-based Computer Science A course for AP CSA, and a newer Artificial Intelligence Foundations course. Like CMU CS Academy, it is designed for teachers, so it is most useful if your school adopts it.
Girls Who Code Pathways
Pathways is Girls Who Code’s free, year-round virtual program for 9th to 12th grade girls and non-binary students, including rising 9th graders and graduating seniors. Students choose tracks in game design, data science, AI, cybersecurity or web development, complete projects at their own pace over six to seven weeks, and join a community with career panels and workshops. Applications are accepted from students around the world.
freeCodeCamp
freeCodeCamp offers thousands of hours of free curriculum with project-based certifications in web design, JavaScript, Python, databases and back-end development. It gives less hand-holding than Codecademy and is free forever, and its certifications require finished projects, which makes them useful portfolio material.
Also worth knowing: CodeHS is a platform many US high schools use for their computer science classes, so check with your school before paying for anything elsewhere.
Does coding help with college applications?
Yes, in three concrete ways that admissions readers can tell apart. First, coursework: AP Computer Science A or AP Computer Science Principles on a transcript is the strongest formal signal, and the classes above prepare you for both. Second, a portfolio: a GitHub profile with real projects, the kind 100 Days of Code or freeCodeCamp produce, is verifiable work. Third, recognized results: a completed CS50x final project, a University of Michigan certificate, or a result in a competition such as USACO or the Congressional App Challenge.
What does not help: a stack of certificates from courses you skimmed. One finished project you can explain in an interview is worth more than ten completion badges.
Which language should a high schooler learn first?
Python, for most students. It reads closest to English, runs everywhere, and is the language of three of the strongest options on this page. It also leads into data science and AI.
Choose Java if you are taking or planning to take AP Computer Science A, which uses a subset of Java. Choose JavaScript and web development if seeing results in a browser is what keeps you motivated; a website you can send to friends beats a terminal script for some learners, and motivation matters more than the perfect first language. Our guide to the best Java courses covers Java options in depth.
AP Computer Science A vs AP Computer Science Principles
| AP Computer Science A | AP Computer Science Principles | |
|---|---|---|
| Focus | Programming in Java: designing, writing, testing and documenting code | Broad introduction to computing and its impact |
| College equivalent | One-semester introductory computer science course (College Board) | Introductory computing course |
| Good free prep | Code.org CSA curriculum, Codecademy Learn Java, CS50x | Khan Academy, Code.org CSP, CMU CS Academy |
| Take it if | You are sure you like programming | You want to explore computing first |
The College Board lists the 2027 AP Computer Science A exam for 12 May 2027 and recommends English and algebra as preparation. If your school does not offer AP CS, ask whether you can self-study and sit the exam at a school that does.
Coding competitions for high school students
USACO. The USA Computing Olympiad runs online algorithm contests during the school year, with divisions from beginner to advanced, and invites top competitors to a training camp from which the US teams for international olympiads are chosen. It rewards the problem-solving skills in our data structures and algorithms guide.
Congressional App Challenge. The Congressional App Challenge asks students to build an app and submit it through their member of the US House of Representatives, and it is coordinated for the House by the Internet Education Foundation. Registration for the 2026 challenge was open when we checked in October 2026. It suits students who prefer building something over timed puzzles.
Local hackathons, science fairs and school clubs are the other common route, and they are where many students finish their first real project.
Coding games for high school students
Games are a good on-ramp if a course feels dry. CodeCombat teaches real, text-based Python and JavaScript through a game and can be played free. CMU CS Academy’s graphics-based exercises feel like making small games from the first lesson. And building a simple game is one of the best first projects: both 100 Days of Code courses include several. For students who already play Roblox or Minecraft, see our guides to Roblox coding courses and Minecraft coding courses.
Internships and summer programs
Paid coding internships for high schoolers exist but are rare and competitive, and some require applicants to be 18. More realistic options: free programs such as Girls Who Code Pathways; summer programs run by universities near you; building a website or app for a school club, a family business or a local nonprofit; and contributing small fixes to open-source projects on GitHub. Each of these gives you something concrete to show later, which is what an internship would give you anyway.
Live online classes for teens, such as those from Create & Learn or CodeWizardsHQ, are another paid option with a teacher and a schedule. We have not reviewed them, so compare their teacher qualifications, class sizes and refund terms before you pay.
Coding for middle schoolers vs high schoolers
The dividing line is roughly age 13. Younger students usually do better with block-based coding such as Scratch, where dragging blocks removes typing and syntax errors, plus game-based platforms. From about 13, and certainly by high school, most students are ready for text-based languages like Python and JavaScript, and they can use Coursera and edX, which require users to be 13. Our Scratch courses guide covers the younger end; this page is for the older end.
What a high schooler can realistically build in a year
With three to five hours a week, a motivated beginner can go from nothing to projects worth showing within a school year. Typical milestones: in the first two months, small command-line programs and games such as hangman or a quiz; by mid-year, a personal website, a simple data project that charts something you care about (sports stats, weather, game scores), or a script that automates a chore; by the end of the year, a small web app with a database or a CS50x final project. Each one teaches more than the course that introduced it, because you have to solve problems the course never showed you.
Do coding certificates count for high school students?
Not much on their own. A University of Michigan certificate from Python for Everybody, a verified CS50x certificate or freeCodeCamp project certifications are the ones with some substance, because they require finished work. A course completion badge from a general platform says little. AP exam scores and projects you can show carry far more weight with colleges and employers.
Can a high schooler learn to code with no experience?
Yes. Every class on this page assumes no background, and most students write a working program on the first day. What matters more than talent is consistency: a short session most days beats a long session once a week. When you get stuck, which everyone does, read the error message carefully, search it, and ask in the course forum or community before giving up.
A guide for parents
Accounts and age rules. Coursera and edX require users to be at least 13. Udemy requires account holders to be 18, so you open the account and buy the course. Codecademy says it is not directed at children under 16. School platforms such as CMU CS Academy, Code.org and Khan Academy are designed for students and teachers.
Cost. Your teenager can get very far for free with CS50x, py4e.com, Khan Academy and freeCodeCamp. Pay only once they have shown they will keep going: a single Udemy course is inexpensive on sale, while subscriptions and live classes add up.
What progress looks like. Not hours watched, but things built. Ask to see a working program every week or two, however small.
How to start this week: a simple four-week plan
| Week | Do this | Time |
|---|---|---|
| 1 | Pick Python. Do the first lessons of Python for Everybody at py4e.com or Codecademy | 3–4 hours |
| 2 | Finish the basics: variables, conditions, loops, functions. Write a number-guessing game | 3–5 hours |
| 3 | Start CS50x week 0 or 100 Days of Code days 1–7 | 4–6 hours |
| 4 | Build one small project of your own and put it on GitHub | 4–6 hours |
Reddit threads from teenagers who stuck with coding share the same advice: start now, build projects from start to finish, and keep your math up, because it trains the logical thinking programming needs.
FAQ: coding classes for high schoolers
What is the best coding class for high schoolers?
Harvard’s CS50x on edX is the best overall: it is Harvard’s real introductory computer science course, free to take, and more than 7.1 million learners had enrolled by October 2026. For a gentler, project-a-day format, Angela Yu’s 100 Days of Code: The Complete Python Pro Bootcamp on Udemy (4.7 stars from 438,333 ratings) is the best paid pick.
Can high school students learn to code for free?
Yes. CS50x on edX, Python for Everybody’s materials at py4e.com, Khan Academy, freeCodeCamp, CMU CS Academy, Code.org and Girls Who Code Pathways are all free. Many high schoolers never need to pay for anything.
What age do you have to be to use Udemy, Coursera or edX?
Coursera and edX require users to be at least 13. Udemy’s terms require account holders to be 18 or older, so a parent or guardian needs to open and manage the account for a teenager. Codecademy says its service is not directed at children under 16.
Should a high schooler learn Python or Java first?
Python for most students, because it is simpler and leads into data science and AI. Java is the better first choice if you are taking AP Computer Science A, which is taught in Java. The concepts transfer, so the second language comes much faster.
Does coding help with college applications?
It can. AP Computer Science on a transcript, a finished project you can show and explain, and results in competitions such as USACO or the Congressional App Challenge all add something real. A long list of course completion certificates adds very little.
How many hours a week should a high schooler spend learning to code?
Three to five focused hours a week is enough for steady progress with most self-paced courses. Harvard estimates 6 to 18 hours a week for CS50x, so treat it like an extra class during a lighter semester or the summer.
Are there coding competitions for high school students?
Yes. USACO, the USA Computing Olympiad, runs online contests during the school year and selects the US team for the International Olympiad in Informatics. The Congressional App Challenge invites students to build an app and submit it to their member of Congress; registration for the 2026 challenge was open in October 2026.
Can high school students get coding internships?
Paid internships for high schoolers are rare and competitive. More realistic routes are free programs such as Girls Who Code Pathways, summer programs at local universities, volunteering to build something for a school club or local nonprofit, and contributing to small open-source projects.
Related guides
Best Scratch courses for younger beginners (under about 13) · Coding for beginners · Best Udemy Python courses · Coursera vs Codecademy · Best computer science courses · Best coding bootcamps for after graduation.
Start with CS50x if you want the challenge, or Python for Everybody if you want a gentle start. Either way, start this week; the students who are good at coding by senior year are mostly the ones who started in ninth grade and kept going.
Related: once you have a first language, our guide to the best coding websites ranks 12 free and paid places to keep learning, including CS50 and freeCodeCamp.