Competitions · Computer science · ACSL
ACSL, the American Computer Science League.
Bit-string flicking, LISP, finite state automata, assembly language - a computer science syllabus rather than a programming contest. Four rounds a year, from grade 3 upward, and the questions are set in Chinese and English.
At a glance
What the league is, and who backs it.
ACSL began in 1978 as the Rhode Island Computer Science League, became the New England Computer Science League, and took its present name as entrants arrived from further afield. ASDAN China has hosted the China region since 2018; in 2019-20 students from 322 international and key schools took part.
- Since
- 1978
- Recognition
- Certified and recommended by the National Association of Secondary School Principals and the Computer Science Teachers Association
- Supported by
- Google, Adobe, No Starch Press, O’Reilly Media, Pearson, Pragmatic Bookshelf and Wolfram
- Scale
- More than 500 teams a year, from the United States, Canada, Europe, Africa and Asia
- Who can enter
- Students in grades 3 to 12
- Language of the questions
- Chinese and English
- Programming language
- Any language the student is comfortable with
- Format
- Individual or team. A team needs at least two members
- Where
- Online, at designated schools across the country. Students bring their own computer
- Network
- No WiFi or other network connection is permitted during the contest
- Season
- Four rounds - the first in December, then February, March and April - followed by an All-Star final in August
- Advancement
- The top 65% of teams and individuals in round one continue into rounds two to four
What makes it different
It examines computer science, not just programming.
Almost every other contest in this group asks you to solve a problem by writing code. ACSL spends half of each round asking what you understand about how computers work.
A written paper on theory
Thirty minutes, five questions, on topics like number systems, Boolean algebra, graph theory, regular expressions and assembly language. No computer required.
Then a programming challenge
A two-hour session with a single programming problem worth five marks. One problem, two hours - the emphasis is on getting it right rather than on volume.
Worked alone, even in a team
Team members must complete the programming problem independently without discussion, and each member submits their own answer.
Which suits a different student
A student who finds USACO’s speed and volume punishing may do considerably better here, where breadth of understanding carries as much weight as implementation.
The syllabus
Four rounds, and the topics are published in advance.
This is the most useful thing ACSL publishes: you know before the season starts what each round will ask about. Intermediate and Senior share topics, with Senior set harder.
| Round | Elementary | Junior | Intermediate and Senior |
|---|---|---|---|
| One | Computer number systems | Computer number systems, recursive functions, What Does This Program Do? - branching | Computer number systems, recursive functions, What Does This Program Do? |
| Two | Prefix, infix and postfix notation | Prefix, infix and postfix notation, bit-string flicking, What Does This Program Do? - looping | Prefix, infix and postfix notation, bit-string flicking, LISP |
| Three | Boolean algebra | Boolean algebra, data structures, What Does This Program Do? - arrays | Boolean algebra, data structures, finite state automata and regular expressions |
| Four | Graph theory | Graph theory, digital electronics, What Does This Program Do? - strings | Graph theory, digital electronics, assembly language |
Nothing here is guesswork. A student knows in December that round four will ask about graph theory and digital electronics, which makes a season-long study plan genuinely possible.
The four divisions
Choose by ability, within limits.
ACSL lets a strong younger student enter above their year but never below it, which is the right way round.
Senior, Intermediate, Junior
Senior suits experienced high-school programmers, especially those taking AP Computer Science - though the organisers advise against registering for Senior in a first ACSL season. Intermediate suits high-school students with some experience or older middle-schoolers. Junior is for middle-school students with none.
Elementary, grades 3 to 6
Non-programming questions only, testing the four written categories. Five questions in thirty minutes, individual scores only - no team of three required.
Upward is allowed
A strong primary student may enter Junior, Intermediate or Senior; a strong middle-schooler may enter Senior. Ability decides, not year group.
Downward is not
High-school students may not enter Elementary or Junior, middle-schoolers may not enter Elementary, and no student in grade 9 or above may enter Junior.
Scoring and awards
Individual and team scores, calculated differently.
Because every team member works alone, the team score is an average rather than a joint effort - which changes how a team should be built.
Individual score
The written paper plus the programming problem. Elementary students have a written score only.
Team score
The team’s average written mark plus its average programming mark. One weak member pulls the whole average down, so a small strong team beats a large uneven one.
Individual awards
Excellence for full marks across rounds two to four; High Score for the top 20% on individual points across those rounds; Individual Merit for the top 55%. Awarded separately in each division.
Team awards
Gold for the top 10% of teams, Silver the top 25%, Bronze the top 35%, and a Regional Merit award for the top 20% of teams in each region outside the national awards.
Preparation
How Hanlin prepares students for ACSL.
A published topic list and a four-round season make this the most schedulable computing contest here.
Teaching to the round
Round one is number systems and recursion; round four is graph theory and assembly. Preparation follows the published sequence rather than a general programming syllabus.
Covering the theory school does not
Bit-string flicking, LISP, finite state automata and digital electronics sit outside AP Computer Science and IB. They are the areas where a well-prepared student gains most.
Two separate kinds of practice
Five theory questions in thirty minutes needs speed; one programming problem in two hours needs care. Practising them together misjudges both.
And building the team deliberately
Team scores are averages, so a team of two strong programmers outscores a team of five uneven ones. That is worth deciding before registration rather than after.
Why Hanlin
Preparation for ACSL at Hanlin is taught by full-time subject tutors, on a course tier chosen by placement paper rather than by year group.
Programme formats
Five ways this is taught.
Group size is the whole difference between these. It decides how much of the tutor's attention a student gets and how far the course can bend to them, so it is worth choosing rather than accepting.
| Format | Group size | What it suits |
|---|---|---|
| One-to-one | One student | Content, pace and emphasis set by what this student actually needs rather than by a syllabus. The only format that can be rebuilt mid-course. |
| Small group | Three to eight | Opens at three. Frequent discussion, and the tutor can slow down or move on according to what the group has absorbed. Most students chasing a higher award are taught in this one. |
| Class | Eight to twelve | Taught by the subject lead or a medal coach. Less back-and-forth, so it suits a student who will say when something is unclear. |
| Large class | Ten to twenty | For students in the middle of the placement range, and a way to try a competition before committing. Students often move to a small group or to one-to-one afterwards. |
| Past-paper class | No cap | Past papers worked through in sequence in the weeks before the sitting. Free to students already enrolled. |
Course length for ACSL is set after a placement paper. The gap between where a student is and what the paper asks for is what the course has to close, and that gap is not the same for two students in the same year group.
How it runs
Six steps, four people on your side.
The same process for every student, so that nothing depends on one tutor remembering to do it.
Step 1Pre-course assessment
A placement paper before anything is booked, so the course tier is chosen on evidence rather than on a year group.
Step 2Tutor matching
A subject tutor is matched to the result, and their full background is provided before you agree to it.
Step 3Plan and group
A study group opens with four people on one student: the tutor, a planner, a supervisor and an academic manager.
Step 4Scheduled teaching
The teaching office sets the timetable around the competition date and school term, and teaching begins.
Step 5After-class reports
What was covered, and how the student handled it, reported after every lesson.
Step 6Homework follow-up
The teaching assistant and the form teacher both check that homework is done, which is where most preparation quietly fails.
Free resource pack
Past papers and preparation pack
The same material our own ACSL students work from. Scan the code, say what you need, and an advisor sends it.

Tell an advisor which competition and year group, and the material comes back the same day. Free, and you do not have to enrol in anything. If we do not already hold what you need, we will go and find it.
- PDFPast papers, every year the organiser has released
- PDFWorked solutions, where the organiser publishes them
- PDFThe syllabus on one page - every topic, and how heavily it is examined
- PDFEntry checklist and the dates for the current cycle
Teaching team
Who would teach it.
Three of the twenty-two tutors on the published Hanlin roster - the ones whose subject this is.

Luo
Bachelor's and master's in computer science from the University of California and ten years in the United States. Works close to the hardware, and teaches for independent problem solving rather than pattern recall.

Tan
Master's in data science from the University of Sydney after a statistics degree at Simon Fraser University, graduating in the top 5% with repeated chancellor's honours; A-Levels at a Cambridge international school, and formerly a data analyst at Tencent. An AMC-accredited coach, a College Board-accredited AP teacher, and holder of a Math League excellent-teacher award.

He
A Cambridge master's after a computer science degree with a mathematics minor at the University of Nebraska-Lincoln, and a US high school GPA of 4.13. Six years overseas and teaches entirely in English, across AMC, Math League, AP Computer Science and AP Calculus.
Where it is taught
Hanlin learning centres.
Teaching runs from Hanlin's own centres in Shanghai, Shenzhen, Chengdu and Hangzhou, and online for students elsewhere.







Talk to an advisor
Everything Hanlin does for ACSL, in one conversation.
Entry, planning, coaching and the past papers. An advisor will tell you which of these a student actually needs, including when the answer is none of them.
Competition entry and planning
Which competitions suit this student, in what order, and by when - then we handle the registration, including the ones that can only be entered through a school or a centre.
Competition coaching
Taught by full-time subject tutors, on a course tier chosen by placement paper rather than by year group.
International curriculum tutoring
IB, AP, A-Level, IGCSE and the US high school curriculum, taught alongside school and timed around the exam calendar.
Competition past papers, free
A large library of past papers, mark schemes and syllabus breakdowns across every competition on this site. No charge and no enrolment.
Scan to add an advisor

Say which competition or course you are asking about. Replies in Chinese or English.
Or call +86 21 6352 6630FAQ
ACSL, briefly answered.
What students, teachers and families ask before entering.
Who can enter ACSL?
Students in grades 3 to 12, in four divisions - Elementary for grades 3 to 6, then Junior, Intermediate and Senior. A strong younger student may enter a higher division, but never a lower one.
What is the format?
For Junior, Intermediate and Senior: a 30-minute written paper of five questions worth one mark each, and a two-hour programming challenge with a single problem worth five marks. Elementary sits five written questions in 30 minutes and does no programming.
Do team members work together?
No. Every member completes the programming problem independently without discussion, and each submits their own answer. The team score is the average of the members’ written and programming marks.
What language do I program in?
Any language you are comfortable with. The questions are set in both Chinese and English.
Can I use the internet during the contest?
No. WiFi and other network connections are not permitted, and students bring their own computer.
What topics come up?
They are published in advance. Round one covers number systems and recursive functions; round two prefix, infix and postfix notation, bit-string flicking and LISP; round three Boolean algebra, data structures and finite state automata; round four graph theory, digital electronics and assembly language.
How does advancement work?
Round one is the preliminary. The top 65% of teams and individuals continue into rounds two to four, and the leading teams across the four-round points series go to the All-Star final.
What awards are there?
Individually: Excellence for full marks across rounds two to four, High Score for the top 20%, Individual Merit for the top 55%. For teams: Gold at the top 10%, Silver at 25%, Bronze at 35%, plus a Regional Merit award for the top 20% of teams in each region.
Should a first-time entrant register for Senior?
The organisers advise against it. Senior suits experienced programmers, especially AP Computer Science students, and they recommend not starting there in a first ACSL season.
How does it compare with USACO?
ACSL divides its marks between computer science theory and programming, while USACO is entirely algorithmic problem-solving under time pressure. A student strong on concepts but slower at implementation usually does better here.
Related
Other computing contests.
What students commonly enter alongside ACSL.
ACSL enquiries
You know in December what round four will ask.
ACSL publishes its topics for the whole season, which makes a real study plan possible rather than general practice. Tell us the student’s year group and what they already program in, and an advisor will pick the division and map the four rounds.