Competitions · Computer science · UKCC
UKCC, the Coding Challenge.
Five levels across grades 1 to 12, and the line between them is exact: below grade 9 you drag blocks and need no programming at all; from grade 9 you write code. Formerly the Oxford University Computing Challenge.
At a glance
What the challenge is, and where it sits.
UKCC replaced the Oxford University Computing Challenge with an upgraded programme focused on computational thinking. It forms part of the UK Computational Thinking Challenges alongside the British Informatics Olympiad, an organisation devoted to advancing computational thinking and programming education in Britain.
- Formerly
- The Oxford University Computing Challenge (OUCC)
- Part of
- The UK Computational Thinking Challenges, with the British Informatics Olympiad
- Who can enter
- Students in grades 1 to 12, across five levels
- Programming needed
- None at levels A and B. Levels C, D and E require programming experience
- Format
- Online. Competitors need their own computer with a camera, and a mobile device
- When
- A Sunday in mid-May, with registration closing about two weeks earlier
- Gold
- The global top 10%
- Where it leads
- Strong performers may advance to the British Informatics Olympiad
The five levels
Age, language and what you actually do.
A student may enter a level above their year group but never one below it. That rule is worth reading before registering, because it cannot be undone.
| Level | Grades | Language of the paper | What the tasks are |
|---|---|---|---|
| A | 1 to 6 | Chinese and English | Block-based drag and drop. No programming experience required at all |
| B | 7 to 8 | Chinese and English | Block-based drag and drop. No programming experience required |
| C | 9 to 10 | English | Text-based. A programming language is required |
| D | 11 | English | Text-based. A programming language is required |
| E | 12 | English | Text-based. A programming language is required |
The break between B and C is the real decision. Below it, the challenge builds computational thinking without any code; above it, students write and debug real programs. A capable grade 8 student may enter level C, but a grade 9 student cannot drop back to B.
What it asks
Writing code by hand, not assembling it.
The organisers are specific that this tests genuine programming ability at the upper levels, which distinguishes it from the pure reasoning challenges.
Hand-written code at C, D and E
Competitors write code themselves - in Google Blockly, Python or another supported language - rather than selecting from options.
Designing algorithms for real problems
The tasks ask for an algorithm that solves a stated problem, which is a step beyond knowing the syntax.
And computational thinking underneath
At every level, the block-based and text-based tasks are both built to develop the same underlying thinking. The blocks are a different medium, not an easier subject.
Open worldwide
The challenge is open to secondary students internationally, and gold is drawn at the global top 10% rather than within a region.
Languages
What you may write in at levels C, D and E.
The supported list is short and specific, and one long-standing option has been withdrawn.
Python 3.10
The most common choice, and the one most students arrive with.
Java 11 and C#
Both supported, with C# on compiler version 4.6.2.0. Either is a reasonable choice for a student already working in them.
Visual Basic
Also supported, running under Mono. An unusual inclusion, and useful for students from schools that teach it.
Python 2 is no longer supported
Worth checking before the contest. A student who learned on Python 2 needs to confirm their code runs under 3.10.
Preparation
How Hanlin prepares students for UKCC.
The level structure means the first decision matters more than anything that follows it.
Placing the student correctly
A capable younger student may enter above their grade, and often should. But no student can enter below their grade, so a grade 9 student without programming experience faces level C with no fallback.
Building programming ahead of grade 9
For a student in grade 7 or 8, the year before level C is the time to learn a language. Arriving at grade 9 without one is the commonest problem here.
Practising algorithm design, not syntax
The tasks ask for a solution to a problem, not for a language exercise. Practice works from problems backward.
And confirming the language version
Python 2 is not supported and the supported versions are specific. That is worth checking well before the May sitting.
Why Hanlin
Preparation for UKCC 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 UKCC 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 UKCC 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 UKCC, 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
UKCC, briefly answered.
What students, teachers and families ask before entering.
Is this the Oxford University Computing Challenge?
It replaced it. UKCC is the upgraded programme, and it now sits alongside the British Informatics Olympiad within the UK Computational Thinking Challenges.
Who can enter?
Students in grades 1 to 12, across five levels. Levels A and B require no programming knowledge; levels C, D and E require programming experience.
Which level should I enter?
Level A for grades 1 to 6, B for 7 to 8, C for 9 to 10, D for grade 11 and E for grade 12. A student may enter a level above their grade but never one below it.
What language is the paper in?
Chinese and English at levels A and B; English at levels C, D and E.
What do the tasks look like?
At levels A and B they are block-based drag and drop, requiring no programming experience. At levels C, D and E they are text-based and require writing code by hand in a supported language.
Which programming languages are supported?
Python 3.10, Java 11, C# and Visual Basic. Python 2 is no longer supported.
What do I need to sit it?
It is online, so competitors need their own computer with a camera and a mobile device.
What awards are there?
Gold is drawn at the global top 10%, and strong performers may advance to the British Informatics Olympiad.
How does it compare with Bebras?
Both start from grade 1 and both build computational thinking. Bebras is multiple choice throughout and requires no programming at any level; UKCC requires students from grade 9 upward to write working code.
Related
Other computational thinking contests.
What students enter alongside UKCC.
UKCC enquiries
You can move up a level. You cannot move down.
A grade 9 student sits level C and writes real code, with no option to enter the block-based levels below. That makes the year before grade 9 the one that matters. Tell us the student’s year group and an advisor will place them and map the May entry.