HS / LNG / 01
Java for teens
The AP CSA language, from zero.
Open the syllabusUnited States · Grades 9 to 12 · Ages 14 to 18
At Modern Age Coders, high school students in grades 9 to 12, ages 14 to 18, learn to code live online in a batch or one to one: Python, Java, web and AI, plus preparation for AP Computer Science Principles and AP Computer Science A. Many US high schools still offer no computer science at all, which is where outside classes fill the gap.
Live teaching since 2020 · 10,000+ students · Python and Java taught from scratch
In short
Code.org (2025) reports that 60% of US high schools offered computer science in 2024 to 2025, and 6.1% of high school students were enrolled in it. A strong high school path is a first language such as Python, then AP Computer Science Principles or AP Computer Science A (Java), then a specialism such as AI, web or competitive programming. Modern Age Coders teaches this live online for US students, in a batch or one to one, and the first class is free.
Start here
Live, with a regular teacher, and built for students who may have no computer science class at school.

HS / 01
For 13 to 18 year olds. A strong first language in ninth grade.
Open the syllabus →
HS / 02
Beginner friendly. The Create task and the exam.
Open the syllabus →
HS / 03
From Java basics to the four free-response questions.
Open the syllabus →The national picture
Whether a student can take computer science at all still depends on which high school they attend. The figures below are national values from the Code.org State of AI + CS Education data, quoted as published.
| School year | High schools offering CS |
|---|---|
| 2018 to 2019 | 45% (data from 39 states only) |
| 2019 to 2020 | 47% |
| 2020 to 2021 | 51% |
| 2021 to 2022 | 53% |
| 2022 to 2023 | 57.7% |
| 2023 to 2024 | 60% |
| 2024 to 2025 | 60% |
| Measure | Published figure | Note from the data |
|---|---|---|
| High schools offering CS | 14,805 of 24,405, or 60% | Combined years; includes Bureau of Indian Education schools |
| High school students enrolled in CS | 871,490 of 14,364,449, or 6.1% | Student total taken from the NCES Digest, Table 203.04, Fall 2022 |
| Share of students in CS, by year | 5.1% (2020 to 2021), 6.2%, 6.4%, 6.4%, 6.1% (2024 to 2025) | National participation row |
Access grew quickly from 45% to 60% and then held at 60% for two years. Put the other way round, about two in five US high schools in the data did not offer a computer science course, which is our reading of the published 60%.
Participation is the starker figure. Even where courses exist, only about six in every hundred high school students were enrolled in computer science in a given year.
Check your school’s course catalogue for AP Computer Science Principles, AP Computer Science A or an introductory programming class. If none is offered, or the class clashes with something else, an outside course can cover the same ground.
Rules differ by state, and our state pages explain them only where we have read the state’s own sources, such as North Carolina’s graduation requirement.
Suggested citation: Code.org (2025). 2025 State of AI + CS Education. We quote national values from its published data and do not republish the dataset. For the school definition, NCES describes a secondary or high school as "A school that offers more of grades 9 through 12 than grades 5 through 8 and no kindergarten through grade 4." We are not connected with Code.org (CodeAI) or NCES.
Advanced Placement
The two AP computer science courses are the most recognisable high school options in the US. College Board describes both as introductory college-level courses, but they test quite different things.
| Point | AP Computer Science Principles | AP Computer Science A |
|---|---|---|
| College Board description | "an introductory college-level computing course" covering the breadth of computer science | "an introductory college-level computer science course" focused on writing and testing code |
| Programming | The Create task: students develop "a computer program of their choice" | Java throughout |
| Course structure | Five big ideas, with Algorithms and Programming weighted 30% to 35% of the multiple choice | Four units, with Data Collections weighted 30% to 40% of the multiple choice |
| Section I | 70 multiple-choice questions, 120 minutes, 70% of the score | 42 questions, 1 hour 30 minutes, 55% of the exam score |
| Section II | Create performance task and written response, 30% of the score; 9 hours of in-class time for the task | 4 free-response questions, 1 hour 30 minutes, 45% of the exam score |
| 2027 deadlines | Create task submitted as final by Friday, April 30, 2027, 11:59 PM ET; end-of-course exam Friday, May 14, 2027 (Session 1) | Exam Wednesday, May 12, 2027 (Session 2) |
| Format | End-of-course exam fully digital in the Bluebook app | "This is a fully digital exam." taken in Bluebook |
For a student with little coding behind them, AP CSP is the gentler start: it is broad, the Create task lets them build a program of their own choice, and much of the multiple choice is about data, the internet and the impact of computing.
AP CSA is narrower and deeper. Every free-response question asks students to write Java, including one on ArrayList data and one on a 2D array, so it rewards a year of steady programming practice. Our longer comparison is in AP CSP vs AP CSA.
College Board says the 2027 AP Exams run over two weeks in May, May 3 to 7 and May 10 to 14. AP CSP has two pieces with two dates: the Create task deadline at the end of April and the exam in the second week of May.
Credit and placement for AP scores are set by each college, not by College Board or by us. Students can look up a college’s policy with College Board’s AP Credit Policy Search.
Sources: AP Central pages for the AP CSP exam, the AP CSA exam, both course pages and the 2027 exam dates, read 17 October 2026. AP is a trademark of College Board, which is not connected with this page. More detail on our AP CSA classes and AP CSP coaching pages.
By the end of grade 12
The K-12 Computer Science Framework sets its last endpoint at grade 12. Its programming statements describe a student who makes engineering decisions, not one who simply gets code to run.
| Strand | Grade 12 wording | What it means in class |
|---|---|---|
| Algorithms | "People evaluate and select algorithms based on performance, reusability, and ease of implementation." | Comparing a linear search with a binary search on the same data |
| Control | "Programmers consider tradeoffs related to implementation, readability, and program performance when selecting and combining control structures." | Choosing a for loop or a while loop, and saying why |
| Modularity | "Complex programs are designed as systems of interacting modules" | Classes in Java, modules in Python |
| Program development | "Systematic analysis is critical for identifying the effects of lingering bugs." | Tracing a loop by hand, as in the Java example below |
| Networks | "Each device is assigned an address that uniquely identifies it on the network." | AP CSP Big Idea 4: Computer Systems and Networks |
The framework’s own FAQ says AP Computer Science Principles "influenced the development of the" framework, and many of its writers worked on AP CSP. That is why the grade 12 statements and the AP CSP big ideas read so similarly.
AP CSA goes further on the programming side, especially classes and data collections, which map onto the modularity statement.
None of the grade 12 statements is about a particular language. They are about judgement: which algorithm, which structure, which trade-off. A student who can explain those choices out loud has understood far more than one who memorised syntax.
This is the standard we hold our high school students to: every program comes with a sentence on why it is written the way it is.
The framework’s grade-band page and FAQ, both read on 17 October 2026, are the sources here; we reproduce only brief passages, as the Creative Commons licence permits.
A bug worth knowing
Every year, high school Java students meet the same bug. It is short enough to show in full, and understanding it is a real step towards the "systematic analysis" the framework asks for. This is our teaching example, not an exam question.
import java.util.ArrayList;
public class RemoveShort {
// Bug: removing while counting up skips the next word
static void removeShortBuggy(ArrayList<String> words) {
for (int i = 0; i < words.size(); i++) {
if (words.get(i).length() < 4) {
words.remove(i);
}
}
}
// Fix: count down, so no word gets skipped
static void removeShort(ArrayList<String> words) {
for (int i = words.size() - 1; i >= 0; i--) {
if (words.get(i).length() < 4) {
words.remove(i);
}
}
}
public static void main(String[] args) {
String[] start = {"ant", "bee", "tiger", "cat", "zebra"};
ArrayList<String> a = new ArrayList<String>();
ArrayList<String> b = new ArrayList<String>();
for (String w : start) {
a.add(w);
b.add(w);
}
removeShortBuggy(a);
removeShort(b);
System.out.println(a); // [bee, tiger, zebra]
System.out.println(b); // [tiger, zebra]
}
}Ours. We compiled and ran it with Java 22 before printing it; the comments show the real output. The buggy version keeps "bee" because removing "ant" shifts "bee" into position 0 just after position 0 was checked.
| i | List before the check | Word checked | Action |
|---|---|---|---|
| 0 | [ant, bee, tiger, cat, zebra] | ant | Removed, so bee moves to index 0 |
| 1 | [bee, tiger, cat, zebra] | tiger | Kept; bee was never checked |
| 2 | [bee, tiger, cat, zebra] | cat | Removed, so zebra moves to index 2 |
| 3 | [bee, tiger, zebra] | none | Loop ends, since 3 is not less than size 3 |
Counting down means every removal shifts only words to the right of i, and those have already been checked. Nothing slips past.
Another fix is to decrease i by one after each removal. Both work; students should be able to explain why, which is exactly the trade-off thinking in the grade 12 control statement.
We ask students to predict the output before running anything, then trace it in a table like the one above. The habit of tracing by hand is what lets a student debug code they cannot run, for example on paper.
We teach concepts like this so students can solve their own assignments. We do not write graded schoolwork for anyone.
Grade 9 to grade 12
A plan we suggest to families, adjusted for what the school offers. It assumes a student starting from little or no coding in ninth grade.
| Grade | Main focus | Alongside it |
|---|---|---|
| 9th grade | Python fundamentals: variables, loops, functions, lists, small projects | Typing fluency, reading error messages |
| 10th grade | AP Computer Science Principles, or a deeper Python year | A first project for a real user; a first contest or hackathon |
| 11th grade | AP Computer Science A in Java | Data structures, tracing, writing classes |
| 12th grade | A specialism: AI and machine learning, web development, or competitive programming | A portfolio piece with a clear write-up |
Take the school course and use outside classes for practice and projects. The extra hours matter most in AP CSA, where fluent Java writing decides the free-response section.
If AP CSP and AP CSA are both on offer, many students take CSP first. Strong programmers sometimes go straight to CSA.
Students can study for either AP exam outside school; ask your school counselor early about how exam registration works there, because schools handle it differently.
A self-built portfolio also carries weight on its own: an app, a data project or a contest record shows what a student can do, whatever their school offered.
For ideas beyond class, see hackathons for high school students, AI projects for high school students, our Congressional App Challenge guide and USACO preparation.
Showing your work
Whatever a student plans after high school, a small, honest record of real projects is useful. This is the checklist we give eleventh and twelfth graders; it asks for evidence of thinking, not polish.
| Item | What it shows | How to present it |
|---|---|---|
| One finished project people used | You can build for someone else | A short write-up: who it was for, what they asked, what you changed after testing |
| One project you found hard | You can push through problems | The bug that took longest and how you found it |
| Code you can explain line by line | The work is yours | Be ready to walk through any function on request |
| A record of versions | You work like a developer | A Git history with clear commit messages |
| Any contest or challenge entry | You can work to a deadline | What you entered and what you learned, whatever the result |
| A note on AI use | You use tools honestly | Which parts used AI help and how you checked them |
Anyone reading a teenager’s project now knows that AI can produce code. What it cannot produce is the student’s own account of why a design was chosen and what went wrong on the way.
That is why the checklist keeps returning to explanation. A modest project explained well says more than an impressive one the student cannot discuss.
A portfolio is a record, not a ticket. We make no claims about admissions, scholarships or jobs; those decisions belong to the people who make them.
What we can say is that building and explaining real projects is the most direct way we know to become a better programmer, and that is the part a student controls.
What schools teach
Where a high school does teach computer science, its teacher may well use one of Code.org’s free courses; the organisation’s site is branded CodeAI these days. Knowing which one helps us start a new student in the right place.
| Pathway | Grades listed | What the catalogue says |
|---|---|---|
| Computer Science Principles | 9 to 12 | A free year-long course; programming in App Lab |
| AP Computer Science A | 9 to 12 | Java, taught in Java Lab, with labs such as a data lab |
| AI Foundations | 9 to 12 | 6 units, from how AI works to building web apps; one unit teaches Python |
Code.org has no link with us. Sources: the Code.org curriculum catalogue, CS Principles and CS A.
From beginner to builder
Most students who join us in ninth or tenth grade are at stage 1 or 2.
| Stage | How it shows |
|---|---|
| 1. Syntax learner | Writes short programs, needs help reading errors |
| 2. Problem solver | Breaks a task into functions, traces loops by hand, fixes own bugs |
| 3. Designer | Writes classes, chooses data structures, explains trade-offs |
| 4. Specialist | Builds a substantial project in AI, web or algorithms, documents it |
The move from stage 2 to stage 3 usually happens during AP CSA or an equivalent year of Java.
Ask your teenager to explain one design decision in their latest project. Their answer tells you which stage they are at.
Trace before you run. Predicting output is the fastest way to find where your mental model is wrong.
Finish small projects. A finished small app beats an abandoned big one in any portfolio.
The catalogue
All live online with a regular teacher, in a batch or one to one.
HS / LNG / 01
The AP CSA language, from zero.
Open the syllabusHS / LNG / 02
Speed, memory and contest code.
Open the syllabusHS / LNG / 03
Front end, back end, deployed.
Open the syllabusHS / AI / 01
Python to real models.
Open the syllabusHS / AI / 02
Ages 14 to 18, basic Python first.
Open the syllabusHS / AI / 03
How real teams share code.
Open the syllabusHS / CMP / 01
Contest-level problem solving.
Open the syllabusHS / CMP / 02
Ages 13 to 17. Ship with a team.
Open the syllabusHS / CMP / 03
Defensive and ethical.
Open the syllabusHow lessons run
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.
Weekday evenings
Batches after school and practice, across US time zones.
Weekends
Morning sessions that leave the afternoon free.
1-on-1
Extra sessions before an AP deadline.
Someone who knows your code from last week.
Teaching that follows the 2027 exam format.
Feedback on reasoning, not just results.
Portfolio work you can show anyone.
We never do graded schoolwork for students.
A class of fifteen to twenty, or a teacher just for you.
Student work
Real work by high school-age learners. Browse more on the student labs page.

AI and ML
An AI nutrition coach that reads what you eat and works you toward a target.

AI and ML
A chatbot that answers mathematics and programming questions, built and deployed by a student.

AI and ML
An assistant that helps a young person recognise unsafe situations online.

Web app
A weather forecasting site with live conditions for any location.
Fees
Monthly fees in US dollars, with no contract for the school year. Students preparing for May can add one-to-one sessions in spring, and anyone can stop at the end of a month.
Free first class
USD 0
no card required
Group batch
USD 100
a month, billed in US dollars
One to one
USD 150
a month, billed in US dollars
What families say
Word for word from Google reviews by parents and students.
★★★★★
"The one step solution for my son. Modern Age Coders make learning coding so simple that kids love it. The teachers explain complex concepts clearly with practical exercises and interactive content."
Ria Mukherjee
Parent
★★★★★
"Modern Age Coders has been a game-changer for me. I struggled to grasp IT concepts and coding before joining, but their classes transformed everything. I can now confidently write complex programs with ease."
Samriddha Mondal
Student
★★★★★
"One of the most wonderful education centres out there. Education is not limited to school syllabus but focuses on skill development."
Vansh Agarwal
Student
★★★★★
"My child Dhairya is really enjoying the Modern Age Coders classes. This is his first online class and he eagerly looks forward to it. I can already see his improvement, and the teachers are very cooperative."
Sonam Oswal
Parent of Dhairya
★★★★★
"Modern Age Coders have wonderful teachers who teach in a clear, easy and practical way. The teacher boosts students' confidence and inspires them to learn without hesitation."
Sonu Goyal
Parent
★★★★★
"I highly recommend this computer coding class! The teachers are incredibly knowledgeable and passionate about coding."
Ritu Kedia
Parent
Questions from students and parents
Code.org (2025), in its State of AI + CS Education data, reports 60% of US high schools offering computer science in 2024 to 2025, up from 45% in 2018 to 2019, when data came from 39 states.
The same Code.org data reports 871,490 of 14,364,449 high school students enrolled in computer science, or 6.1%, in its most recent national figures.
Most beginners take AP Computer Science Principles first because it is broader and the Create task lets them build a program of their own choice. Students who already program confidently often go straight to AP Computer Science A, which is all Java.
College Board lists the AP CSA exam on Wednesday, May 12, 2027 and the AP CSP end-of-course exam on Friday, May 14, 2027. The AP CSP Create task must be submitted as final by April 30, 2027, 11:59 PM ET.
Java. All four free-response questions ask students to write Java code, including methods, a class, ArrayList data and a 2D array.
Students can learn the same material outside school, including AP preparation. Ask your school counselor how AP exam registration works at your school, since schools handle it differently.
Usually Python: it reads almost like English and gets students building real projects within weeks. Students heading for AP Computer Science A then add Java, usually in tenth or eleventh grade.
We teach the concepts so students can solve their own assignments. We never write graded schoolwork or answer keys for anyone.
Weekdays or weekends, flexible. Choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.
First lesson free, then a fee each month. The fees section shows the figure in US dollars.
Elsewhere on this site
More for US high school students.
The index of our US guides.
Java and the free-response section.
The Create task and the exam.
Clubs, contests and summer work.
The tenth grade year.
A lesson, start to finish.
Coding milestones by age, with a checklist for 8 to 10 year olds.
AI literacy for K-5: what it means, what standards expect, and two activities.
C++ for kids: an honest age guide, three real programs and the USACO path.
Start here
Tell us the grade, what the school offers, and whether an AP exam is coming. The first lesson includes a quick level check, so the plan starts from where you actually are.
If you want detail first, read how we teach or open any course syllabus.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Lessons are live on video with teachers based in India, so students anywhere in the US take part in the same way. WhatsApp is the quickest route to an answer.
A priority demo is a full class of about 45 to 60 minutes. After the class the mentor sends a written skill report and a personal learning roadmap on WhatsApp. If you enrol, the demo fee is adjusted against your first month's fee. Share your demo Order ID with us on WhatsApp and we take it off.
Book a priority demo