United States · Grades 3 to 12 · Four contests a season

ACSL competition preparation

The American Computer Science League runs four computer science contests across the school year, with an invitational Finals in May. Unlike most coding contests, half of each ACSL test is pencil-and-paper computer science: number bases, Boolean algebra, graphs, recursion traced by hand. This guide is built from the league’s own 2026-27 pages and gives the divisions, the contest windows, the topics in each contest, how HackerRank scores the programming problem, a practice set we wrote ourselves with answers, and a 13-week plan.

Live teaching since 2020 · 10,000+ students · computer science taught by hand and by code

In short

ACSL, the American Computer Science League, is a team contest for K-12 students run in four online contests each season. Every contest has a short answer test on computer science topics, and the Junior, Intermediate and Senior divisions add a programming problem in Python, C++ or Java solved within 72 hours. For 2026-27, Contest #1 opens October 19, 2026, team registration closes December 31, 2026, and the Finals are on May 29, 2027. Modern Age Coders teaches this live online for US students, in a batch or one to one, and the first class is free.

Prepare with a teacher

Three courses that match the ACSL syllabus

ACSL rewards students who can reason about code without running it, then write a clean function under a time limit. These courses build both halves.

The league

What the American Computer Science League is

A long-running league organised through schools and clubs, scored by team and by individual.

ACSL at a glance, from the official home page and Advisor Guide (read 17 October 2026)
PointWhat ACSL publishes
Who runs contests forK-12 schools, organizations and local groups
HistoryThe 2026-27 season is its "49th year of continuous operation"
Reach last season"over 7,000 students from 21 countries on 6 continents" in the regular season
ContestsFour per season, then an online invitational Finals
ProgrammingUpper divisions solve a problem "using Python, C++ or Java"
Who registersAn advisor: "any teacher, parent or other adult with CS experience"
SummerA separate Summer Programming Challenge

Why families choose it

ACSL tests computer science, not only coding speed. A student who has never written a line of Java can still score on number systems and Boolean algebra, which makes it a gentle first contest for a curious middle schooler.

Advisors pick when to run each contest within a long window, so a school can fit it around exams and holidays instead of a single national test day.

How it differs from USACO

USACO is individual and almost entirely programming. ACSL is team based, half theory, and spread over four contests with short tests.

A student can do both in one year: ACSL builds the theory and hand tracing, and that discipline helps in any contest that uses hidden test data.

Source: acsl.org and its Advisor Guide, read 17 October 2026. The league sets its own rules and fees; Modern Age Coders is independent of ACSL and teaches the skills only.

Five divisions

Which ACSL division fits your student

Topics are similar across divisions; detail and difficulty rise with each one. Schools may enter more than one division.

ACSL divisions and test formats, from the official Divisions page
DivisionWho it suits (our summary of the ACSL page)Each contest
SeniorExperienced high school coders; ACSL singles out students in AP Computer ScienceSix short answers in 30 minutes, then one programming task with a 72-hour window
IntermediateHigh school beginners in programming, plus strong younger studentsThe Senior format with gentler problems
JuniorMiddle and junior high students who are learning to code; capped at grade 9The same two parts, on Junior topics
ClassroomAny grade; a natural fit for AP CS Principles and theory-heavy classesTen short answers in 50 minutes, nothing to program
ElementaryGrades 3 to 6Six non-programming questions in 30 minutes, one topic per contest

Picking between Junior and Intermediate

The Divisions page is firm that "No student beyond grade 9 may compete in the Junior Division." A 9th grader new to programming can choose Junior; a confident 8th grader who already writes Python functions may get more from Intermediate.

The short problems in Intermediate and Senior share the same topics, so a student who moves up a division next year is not starting over.

Teams, rosters and scores

A team counts either its top 5 scores or its top 3 in each contest. A 5-score team has up to 10 students on its roster, a 3-score team up to 6, and a school may register several teams in one division.

A student belongs to one team only, and after Contest #1 cannot switch. Plan rosters before October so nobody is stuck in the wrong division.

The calendar

ACSL 2026-27 contest windows and Finals date

Each contest is open on HackerRank for weeks, and the advisor chooses when students sit it. These are the 2026-27 windows as published.

ACSL 2026-27 schedule, from the official Schedule and Registration pages (read 17 October 2026)
2026-27 seasonWindow on HackerRank (closing at 11:59 p.m. Eastern)
Contest #1From October 19, 2026 until Sunday, January 10, 2027
Contest #2From January 4, 2027 until Sunday, February 28, 2027
Contest #3From February 1, 2027 until Sunday, April 11, 2027
Contest #4From March 1, 2027 until Sunday, May 23, 2027
Registering teamsDeadline December 31, 2026
Finals invitationsEmailed between May 1 and May 28, 2027
Invitational FinalsOnline on Saturday, May 29, 2027, Memorial Day weekend

Windows overlap on purpose

Contest #2 opens before Contest #1 closes, and the same is true down the list. That gives advisors room, but it also tempts teams to leave everything until the last weeks.

Our advice is to sit each contest early in its window, once the topics have been taught, and keep the spare weeks for anyone who was sick on the planned day.

Late starters

Because registration runs to December 31, 2026 and the Contest #1 window to January 10, 2027, a team that forms in December can still take all four contests this season.

The topics for each contest are published in advance, so a late team can study Contest #1 topics over the winter break and sit it in early January.

The syllabus

ACSL topics by contest

Each short answer test draws on three topics, two problems from each. The list below is the official one for the Intermediate and Senior divisions, with the Junior and Elementary differences.

ACSL short answer topics, from the official Study Materials page
ContestIntermediate and SeniorJunior differsElementary
1Computer Number Systems; Recursive Functions; What Does This Program Do?Program tracing focused on branchingElementary Computer Number Systems
2Prefix/Infix/Postfix Notation; Bit-String Flicking; LISPLooping replaces LISPElementary Prefix/Infix/Postfix
3Boolean Algebra; Data Structures; FSAs and Regular ExpressionsArrays replace FSAs and Regular ExpressionsElementary Boolean Algebra
4Graph Theory; Digital Electronics; Assembly LanguageStrings replace Assembly LanguageElementary Graph Theory

The topics that cost the most points

The topics school rarely covers, bit-string flicking, LISP and assembly language, are the ones a student is least likely to have met before. Each is learnable in a few lessons, but only with drill, because the notation is unfamiliar.

Recursive functions and What Does This Program Do? reward careful tracing on paper. Students who try to do them in their head under a 30-minute limit make small slips.

Where the official material lives

Each topic on the Study Materials page links to the ACSL Wiki with explanations, videos and sample problems, and there is a full sample contest from a past year for every division.

ACSL also sells downloadable collections of previous contests to advisors. Past papers are the strongest practice there is, because the style of question repeats.

Contest day

How the HackerRank tests are scored

Every contest is taken online through links HackerRank emails to each student. The Student Guide explains the details that change how you should work.

  1. The email arrives. The advisor sends the invitation; Junior, Intermediate and Senior students receive a second link for the programming part. Each link is personal and must not be shared.
  2. Sign the honesty declaration. HackerRank checks programs for plagiarism, and "Students found to be collaborating will score 0 points for that test."
  3. Short problems. All are multiple choice. The test submits itself when time runs out, and once submitted the student cannot see the answers again.
  4. The programming problem. Boilerplate already handles input and output. In ACSL’s words, "Your job will be to complete a function with specified parameters, and return a value in the correct format."
  5. Hidden tests. There are up to 12 test cases. The last 6 are hidden, and each hidden case passed is worth one point. The last run before time ends is the score.
  6. Results. Scores appear on the ACSL Leaderboard within 2 hours.

What hidden tests mean for practice

Passing the six visible cases proves very little. Hidden cases often probe edges: an empty string, a zero, the largest input allowed. We teach students to write three extra test inputs of their own before they press run.

The return format is checked exactly. A space too many or a missing leading zero fails a case that the logic got right.

Using the 72 hours well

Seventy-two hours is generous, and that is the trap: students start late and rush. A better rhythm is to read the problem on day one, write a solution on day two, and test edge cases on day three.

Try the HackerRank Sample Test before Contest #1 so the editor is familiar on the day that counts.

Practice set

Six ACSL-style practice problems (ours)

We wrote these to match the official topic list. They are not ACSL problems, and the answers below are our own working.

Original practice problems in the style of ACSL short answers, with answers (ours)
#TopicProblemAnswer
1Computer Number SystemsConvert 2A3 (base 16) to base 10, then to base 8.675; 1243 in base 8
2Prefix/Infix/PostfixEvaluate the postfix expression 6 2 3 + * 4 -26
3Prefix/Infix/PostfixEvaluate the prefix expression - * 6 + 2 3 426, the same expression as #2
4Recursive Functionsf(x) = f(x - 3) + 2 when x > 5, otherwise x * x. Find f(11).29, since f(11) = f(8) + 2 = f(5) + 4 = 25 + 4
5Bit-String FlickingFind 10110 AND 01100, then 10110 XOR 01100.00100; 11010
6Boolean AlgebraSimplify A·B + A·(NOT B).A, because B + NOT B is always 1
Python · check problem 1 by machinepython
# bases.py (ours): check a number-systems answer by machine
def to_base(n, base):
    digits = "0123456789ABCDEF"
    if n == 0:
        return "0"
    out = ""
    while n > 0:
        out = digits[n % base] + out
        n //= base
    return out

value = int("2A3", 16)      # hexadecimal to decimal
print(value)                # 675
print(to_base(value, 8))    # 1243
print(to_base(value, 2))    # 1010100011

The habit we teach: solve by hand first, then let a short program confirm it. Python’s int() reads a string in any base from 2 to 36; to_base() goes the other way by repeated division.

Python · check problems 2 and 3 with a stackpython
# postfix.py (ours): evaluate postfix with a stack
def eval_postfix(expr):
    stack = []
    for token in expr.split():
        if token in ("+", "-", "*", "/"):
            right = stack.pop()
            left = stack.pop()
            if token == "+":
                stack.append(left + right)
            elif token == "-":
                stack.append(left - right)
            elif token == "*":
                stack.append(left * right)
            else:
                stack.append(left / right)
        else:
            stack.append(int(token))
    return stack.pop()

print(eval_postfix("6 2 3 + * 4 -"))   # 26

Postfix evaluation is a stack: push numbers, and on each operator pop two, apply it, push the result. The order of the two pops matters, since 30 - 4 and 4 - 30 differ. Writing this once also prepares students for the Data Structures topic in Contest #3.

Why both by hand and by machine? In the contest there is no time to write a program for a short answer question, and in the programming problem there is no partial credit for a correct idea with a wrong return format. Students need the speed of the first and the precision of the second.

Thirteen weeks

A 13-week plan for the first two ACSL contests

Our plan for a student starting in mid October 2026 who wants to sit Contest #1 in December and Contest #2 in February. It assumes one live class and about two hours of practice a week.

Thirteen weeks to Contests #1 and #2, 2026-27 season (ours)
WeeksFocusFinished when
1 to 2Computer Number SystemsAny base 2, 8, 10 or 16 converted by hand in under two minutes
3 to 4Recursive FunctionsA recursion traced to its base case on paper, every call written down
5 to 6What Does This Program Do?Short programs traced line by line with a variables table
7Programming practiceOne past programming problem solved with three edge cases of our own
8Sit Contest #1Taken early in December 2026, well before the January 10 close
9 to 10Prefix/Infix/PostfixConversions both ways and stack evaluation by hand
11Bit-String FlickingShifts, circulates and AND, OR, XOR on strings
12LISP (or Looping for Junior)Nested list functions evaluated from the inside out
13Sit Contest #2Taken in February 2027, ahead of the February 28 close

Elementary, grades 3 to 6

One topic per contest, so two weeks per topic is plenty. Short daily drills beat long weekend sessions at this age.

Junior and Classroom

Tracing programs by hand is the core skill. Classroom students skip programming and spend that time on past short problems.

Intermediate and Senior

Split time evenly between theory and programming, and treat every programming practice as a hidden-test exercise.

The Finals

The ACSL Finals on May 29, 2027

High scorers from the regular season are invited to an online Finals. Its rules are stricter than the season’s.

ACSL Finals 2027, from the official Finals page
PointRule
InvitationScores of at least 28 points (Junior, Intermediate, Senior), 24 (Classroom) or 14 (Elementary)
Programming testTwo problems, 20 points in total, a 3-hour limit from the moment the student starts
Short problemsOne hour; "Each test will have 20 questions." from every topic of the year
Secure ModeFull screen, tab-switch alerts, no copy and paste, single monitor, webcam image checks
Awards"There are no team awards." Prizes go by individual score
TimingUpper divisions start with a livestream at 10 a.m. EDT (7 a.m. on the West Coast); Elementary and Classroom at 2 p.m. EDT

The Finals page also says plainly that the event tests a student’s own coding skills, not whether they can get an answer from AI, friends, parents or the internet. We agree, and our lessons work the same way: the teacher explains, the student solves. A per-student registration fee applies to the Finals and is paid through the invitation email.

Readiness

From first contest to Finals invitation

Four stages we see in ACSL students, whatever their division.

Stages of ACSL readiness (ours)
StageThe student can
1. StarterAnswer number system questions with time to spare
2. TracerTrace recursion and short programs on paper without slips
3. CoderPass visible and their own edge-case tests in the programming problem
4. FinalistCover every topic of the year in timed conditions

For parents

An advisor must register the team, and ACSL allows that to be a parent with computer science experience, so homeschool groups can take part.

Steady practice across the season matters more than a burst in May, because Finals invitations are based on scores from the regular season.

For students

Keep a notebook of every mistake by topic. The pattern shows you which two topics to drill next.

Always write down the answer format before you code. Hidden tests check it exactly.

The catalogue

Nine courses for ACSL students, grade 3 to grade 12

Taught live online by a regular teacher, grouped by the ACSL divisions they suit best.

I

Elementary and Classroom

Theory first
II

Junior

Middle school
III

Intermediate and Senior

High school

Lesson times

Classes around the ACSL season

Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.

Weekdays

An evening class after school, Eastern to Pacific.

Weekends

Timed practice papers on Saturday or Sunday.

1-on-1

Drill the exact topics a student keeps missing.

Topic drills

Each ACSL topic, until it is quick.

Hand tracing

Variables tables, on paper.

Hidden tests

Edge cases before every run.

Past papers

Timed, then reviewed line by line.

Three languages

Python, Java or C++.

Batch or solo

Fifteen to twenty, or one to one.

Student work

What our students have built

Contest skills grow into real projects. A few are below, and the student labs page has the rest.

NutriLife AI nutrition coach project screenshot

AI and ML

NutriLife

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

by Bhavya · Open it

Misti AI chatbot for maths and coding screenshot

AI and ML

Misti

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

by Harshit · Open it

GuardianX AI internet safety assistant screenshot

AI and ML

GuardianX

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

by Vivaan · Open it

SkyCast weather forecast application screenshot

Web app

SkyCast

A weather forecasting site with live conditions for any location.

by Krish

Fees

Fees

ACSL sets its own fees: the advisor pays per team, and Finals invitees pay a per-student fee through the invitation email. Our classes are separate and billed month by month in US dollars, so a student can study through the season and pause in summer.

Free first class

USD 0

no card required

  • A free first lesson
  • A quick topic check
  • No card details
Book it

Group batch

USD 100

a month, billed in US dollars

  • Fifteen to twenty learners
  • The same teacher all season
  • A batch time you choose
  • Paid monthly
Start here

One to one

USD 150

a month, billed in US dollars

  • A teacher for one
  • Your weakest topics first
  • Paced to the windows
Enquire

What families say

Rated 4.9 across 547 Google reviews

Google reviews from parents, quoted exactly.

★★★★★

"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 families

ACSL: common questions

What is ACSL?

The American Computer Science League organises computer science and programming contests for K-12 schools, organizations and local groups. The 2026-27 season is its 49th year of continuous operation.

When is ACSL Contest #1 in 2026-27?

Its window runs from October 19, 2026 to 11:59 p.m. Eastern on Sunday, January 10, 2027, and the advisor picks the day students take it.

Which division should my child enter?

Elementary is for grades 3 to 6, Junior for middle school students up to grade 9, Intermediate for high schoolers newer to programming, Senior for experienced programmers, and Classroom for any grade without much programming.

What programming languages can be used?

The official home page says the upper divisions solve a problem using Python, C++ or Java.

Can a student enter ACSL without a school team?

Students compete on teams registered by an adult advisor, and the Advisor Guide allows a parent with computer science experience to take that role, so a club or homeschool group can form a team.

What is the registration deadline?

The Registration page gives December 31, 2026 as the deadline for registering teams for the 2026-27 season.

How is the programming problem scored?

There are up to 12 test cases and the last 6 are hidden. Each hidden case passed is worth one point, and the last run before time ends is the score.

How do students qualify for the ACSL Finals?

Invitations are based on regular-season scores: at least 28 points in the Junior, Intermediate and Senior divisions, 24 in Classroom or 14 in Elementary. The 2027 Finals are online on Saturday, May 29, 2027.

Can students use AI or get help during a contest?

No. Students must work independently, collaboration scores 0 for that test, and the Finals run in a secure mode with full-screen and webcam checks.

When are your ACSL classes?

Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.

How does Modern Age Coders prepare students?

A regular teacher works through the official topics in contest order, drills hand tracing, practises programming problems against hidden-style tests and reviews timed past papers. We never help during a live contest.

Elsewhere on this site

Related pages

More for US students who enjoy contests and computer science.

USACO coaching

The individual programming olympiad.

AP Computer Science A

Java, the Senior division favourite.

AP CS Principles

A good match for Classroom division.

CS extracurriculars

Where ACSL fits among other options.

Hackathons for high schoolers

Team building against the clock.

Coding classes in the USA

Every page we have for US families.

picoCTF for beginners

picoCTF, now CyLab Security Academy, for US beginners aged 13 and up.

CyberPatriot preparation

CyberPatriot 19 (2026-27) explained from the official pages, with a practice plan.

Technovation Girls guide

Technovation Girls and the 2026-27 Technovation Challenge, from the official pages.

Start here

Book a free first lesson

Tell us the division and the next contest window. The teacher starts with a short topic check so the plan begins where your student actually is.

Want to see how lessons run first? Read how we teach, or open the course list for full syllabuses.

WhatsApp us · +91 91233 66161 · connect@modernagecoders.com

Lessons are live by video from our teachers in India, timed for US evenings and weekends. Message us on WhatsApp for the fastest answer.

A free lesson, with no card required.

Want a class sooner? Book a priority demo

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

Keep exploring Modern Age Coders

Related courses and guides

Learn more

Free resources

From the blog

Start here

Free classPriority demoCall us