SOC / PG / 01
Python for teens
Tools, data and logic.
Open the syllabusUnited States · Grades 6 to 12 · The 2027 Science Olympiad season
Students who search for Science Olympiad coding help usually have Robot Tour in mind, but that event is not on the 2027 list. Code still matters this season, in quieter places: the microcontroller inside an Electric Vehicle, the practice programs a Codebusters student writes to drill ciphers, and the data work in several study events. This guide reads the official 2027 event table, event pages and policies, then teaches one piece of math-and-code that serves a Codebusters team directly: breaking an affine cipher.
Live teaching since 2020 · 10,000+ students · devices built by the team, never by us
In short
Science Olympiad is a US team science competition with 23 events in each division, Division B for grades 6 to 9 and C for grades 9 to 12. On the 2027 list there is no Robot Tour, but Electric Vehicle often runs on a microcontroller, and Codebusters rewards cipher skills students can drill in code. Modern Age Coders teaches that Python and math live online, in a batch or 1-on-1.
Learn with a teacher
Python first, then the math that ciphers and devices rely on.

SOC / 01
Loops, strings, functions and data: enough to build your own practice tools.
Open the syllabus →
SOC / 02
Modular arithmetic, functions and graphs, written as programs.
Open the syllabus →
SOC / 03
The language family behind Arduino-style microcontroller code.
Open the syllabus →The 2027 events
No 2027 event is a pure programming event, and Robot Tour and Detector Building do not appear in either division’s 2027 table. Code helps most in Electric Vehicle, where many teams use a microcontroller, and as a practice tool for Codebusters; several other events lean on computing in smaller ways.
| Event | Division | What the event is | Where code helps (ours) |
|---|---|---|---|
| Electric Vehicle | C | A vehicle powered only by electricity travels in a set time, pushes a bottle past a line and reverses to stop near a target | The controller that times the run and stops the motor; the 2027 kit guidance names Arduino, ESP32, micro:bit and VEX controllers |
| Codebusters | B and C | Teams cryptanalyze and decode encrypted messages using historical and modern ciphers | Writing programs at home to generate and check practice ciphers |
| Engineering CAD | C | Teams read engineering drawings and CAD parts in Onshape, then build an assembly | Computer modeling rather than code; precise, rule-based thinking transfers |
| Remote Sensing | C | Imagery, data and computational process skills on climate topics | Data handling and quick calculations in practice |
| Experimental Design | B and C | Design, run and report an experiment on site | Analysing practice data sets in Python at home |
| Scrambler, Mission Possible | B; C | Pre-built devices: a Division B vehicle, and a Division C Rube Goldberg-like device | Read the event rules for which electronics, if any, are allowed |
Science Olympiad rotates events from year to year, so a guide written for an earlier season can point a student at an event that no longer exists. Always start from the current event table on soinc.org.
For 2027 the coding-heavy choice in Division C is Electric Vehicle. In Division B, the closest fit for a young programmer is Codebusters, where the practice, not the event, involves code.
Science Olympiad describes its tournaments as academic track meets with 23 team events in each division. Division B is middle school and Division C is high school, and only 15 students per team compete at a tournament.
The 2027 National Tournament, the 43rd, is set for The Ohio State University on May 14 to 15, 2027, for 120 teams, according to Science Olympiad’s national tournament page.
Sources: 2027 Event Table, C event descriptions, About Science Olympiad and the 2027 National Tournament page, read 31 October 2026. Science Olympiad is a trademark of Science Olympiad, Inc. We are not connected with Science Olympiad.
Electric Vehicle
Not necessarily, but many vehicles use one. Science Olympiad’s 2027 kit modification guidance treats the microcontroller as a part a team can swap, naming boards such as Arduino, ESP32, micro:bit and VEX, so a team that builds around one needs someone who can program it.
| Point | What the guidance says |
|---|---|
| When it applies | A team that builds its vehicle from a kit must make two functional modifications from the list |
| Controller swap | Replacing the primary electronic controller or microprocessor with a different type counts as one modification |
| Valid examples | Arduino to ESP32, VEX to Arduino, micro:bit to ESP32-S3 |
| Not valid | Changing only the model or version, such as Arduino UNO R3 to UNO R4, or ESP32 to ESP32-S3 |
| Other options | Motor type, drive method, wheel diameter, axle spacing, track width, mass and alignment method |
The event description asks for a run in a set time that pushes a bottle past a line and then reverses to stop near a target. In code that becomes a sequence: drive a measured distance, reverse a measured distance, and stop, with timing tuned to the target time.
Switching controller types is a programming job in itself. Moving from a micro:bit to an ESP32 can mean moving from blocks or MicroPython to Arduino-style C++, which is why we teach both families of language.
A vehicle that stops 4 cm short every time is easy to fix; one that stops anywhere within 20 cm is not. We teach students to log each test run, distance, time and stop error, and to compute the average and spread before changing anything.
That habit is ordinary data analysis in Python, and it makes the team’s own device better without anyone outside the team touching it.
Source: Electric Vehicle C event page and its 2027 Kit Modification Guidance PDF, read 31 October 2026. Full rules are in the official 2027 rules, free on the 2027 Rules page.
Codebusters
Yes, as a way to practice, not at the event. Science Olympiad’s policies bar calculator apps on laptops, phones and tablets unless an event allows them, so plan on solving by hand unless the 2027 rules say otherwise. At home, a student who writes a cipher program understands the cipher far better than one who only solves printed puzzles.
| Cipher | Type, as the overview labels it | What writing it in code teaches |
|---|---|---|
| Caesar | Monoalphabetic | Shifting letters with arithmetic mod 26 |
| AtBash | Monoalphabetic | A mirror mapping; encoding twice gives the original text back |
| Aristocrat and Patristocrat | Monoalphabetic | Letter frequency counts and pattern search |
| Affine | Monoalphabetic math | Multiplying mod 26 and undoing it with an inverse |
| Hill 2x2 and 3x3 | Polyalphabetic | Matrices mod 26 |
| Vigenère and Porta | Polyalphabetic | A repeating key and why key length matters |
The overview gives a breakdown by division and tournament type, but it is dated 2025, and the cipher summary linked from the event page is also 2025’s. The 2027 rules decide which ciphers appear, so a student should check those before choosing what to drill.
The overview also notes that RSA is no longer used in Codebusters, a sign that the list does change.
A student who writes a small encrypt function can make unlimited practice puzzles for a teammate, with answers known. Writing the decrypt function forces them to understand the cipher’s math exactly.
Speed still has to be built by hand. We pair every coding exercise with timed pencil practice, because pencil is what the tournament allows.
Sources: the Codebusters event page and its Codebusters Overview PDF, and Science Olympiad’s policies and ethics rules, read 31 October 2026.
Cipher lesson
An affine cipher turns each letter number x into (a times x plus b) mod 26, as Science Olympiad’s Codebusters Overview describes. If you know two plaintext letters and the letters they became, you can solve for a and b, then decrypt with the inverse of a.
# Our practice tool for affine ciphers: encrypt, decrypt and crack from a crib.
# For practice at home only: tournament rules bar calculator apps on laptops and phones.
from math import gcd
ABC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
def encrypt(text, a, b):
return "".join(ABC[(a * ABC.index(c) + b) % 26] if c in ABC else c for c in text)
def inverse(a):
# the number that undoes multiplying by a, working mod 26
return next(x for x in range(26) if a * x % 26 == 1)
def decrypt(text, a, b):
ai = inverse(a)
return "".join(ABC[ai * (ABC.index(c) - b) % 26] if c in ABC else c for c in text)
def keys_from_crib(p1, c1, p2, c2):
"""Every legal key that sends plain letter p1 to c1 and p2 to c2."""
found = []
for a in range(26):
if gcd(a, 26) != 1:
continue # no inverse, so not a legal key
b = (ABC.index(c1) - a * ABC.index(p1)) % 26
if (a * ABC.index(p2) + b) % 26 == ABC.index(c2):
found.append((a, b))
return found
secret = encrypt("MEET AT THE LAB", 5, 8)
print(secret) # QCCZ IZ ZRC LIN
print(keys_from_crib("M", "Q", "E", "C")) # [(5, 8)]
print(decrypt(secret, 5, 8)) # MEET AT THE LABOur own program, plain Python with no libraries beyond math. It is for practice at home: at a tournament, expect to work by hand.
Step 4 found two candidates because 8, the gap between M and E, shares a factor with 26. The program skips every a that shares a factor with 26, which is why it prints only one key.
Only 12 values of a have an inverse mod 26: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 and 25. With 26 choices of b, there are 312 legal keys, few enough for a computer to try every one.
The Codebusters Overview notes two special cases worth checking in code: with a = 1 the affine cipher becomes a Caesar shift, and with a = 25 and b = 25 it produces AtBash.
Run both through the program and compare the results with hand-made Caesar and AtBash tables. Seeing three ciphers fall out of one formula is the moment the math clicks.
Device rules
The students on the team. Science Olympiad’s ethics rules say pre-built devices presented for judging must be constructed, impounded and operated by one or more of the 15 current team members unless the event rules say otherwise, and the parents’ pledge promises support for students’ independence in design and production.
A tutor, parent or older sibling may not build, wire or program the team’s Electric Vehicle. If the code on the controller was written by someone else, the device was not produced independently.
During an event, participants also may not receive any external assistance, and electronic devices that can communicate are barred unless the event allows them.
We teach the programming and math skills on our own examples: a practice motor sketch on our own board, ciphers we invent, data sets we make up. The student then builds and codes the team’s device on their own.
We never see or edit a team’s competition code, and we do not reproduce the official rules manual. Students read the free 2027 rules themselves.
| Document | Where it is | Note |
|---|---|---|
| 2027 rules, Division B and C | The 2027 Rules page | Free PDFs by email from Tuesday, September 8, 2026 |
| Event table | Events, 2027 Event Table | The full list of 2027 events by division |
| Rules clarifications and corrections | Events, Rules Corrections | Official changes during the season |
| Policies and ethics | The ethics rules page | Device, assistance and electronics policies |
| Event resources | Each event’s own page | Such as the Electric Vehicle kit guidance |
Practice set
Five original problems, written by us. Each uses our own messages and keys, never a past Science Olympiad test, and each answer shows the working.
After a student can do these in code, we time the same tasks on paper. The code removes doubt about the method; the pencil builds the speed the event needs.
Many students find inverses mod 26 slow at first. Making a small table of all 12 once, by program, and then learning it by heart is a fair shortcut: the table is the student’s own work.
Middle schoolers can start with Caesar and AtBash, which need only addition and a mirrored alphabet. Affine comes once multiplication mod 26 feels natural.
Our middle school math competitions guide covers other contests where the same number sense pays off.
Readiness
A Science Olympiad student does not need to be a programmer to start. These are the steps we see as coding becomes useful to their events.
| Step | What the student can do |
|---|---|
| 1. Scripts | Writes short Python programs with loops, strings and functions |
| 2. Tools | Builds a practice tool, such as a cipher generator or a run-log calculator |
| 3. Hardware | Reads and writes microcontroller code that controls a motor by time or distance |
| 4. Analysis | Uses averages and spread from test data to decide what to change |
Ask your child which events they have this year and whether any device uses a controller. That answer decides whether their coding time should go into Python practice tools or microcontroller code.
The parents’ pledge asks families to support students’ independence in designing and producing devices. Encouragement and practice at home fit that; building the device does not.
Write the decrypt function before memorising any shortcut. Once you can program a cipher, you can always rebuild its rules from scratch.
Keep a run log for any device: date, change made, three measurements. A change without measurements is a guess.
The catalogue
Live lessons over video with a steady teacher, either in a class or one to one.
SOC / PG / 01
Tools, data and logic.
Open the syllabusSOC / PG / 02
Typed, structured code.
Open the syllabusSOC / PG / 03
For microcontroller work.
Open the syllabusSOC / MD / 01
Mod arithmetic in code.
Open the syllabusSOC / MD / 02
Models from real data.
Open the syllabusSOC / MD / 03
For grade 6 starters.
Open the syllabusSOC / YG / 01
A gentle first text language.
Open the syllabusSOC / YG / 02
Blocks for micro:bit-style boards.
Open the syllabusSOC / YG / 03
Logic with fast feedback.
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.
Weekdays
After school, on a night with no team practice.
Weekends
A morning slot between invitationals.
1-on-1
Built around one student’s events.
Invented ciphers, our own boards and data.
Understanding first, then speed by hand.
Students read the official 2027 rules.
Logs and averages before changes.
Live online in your time zone.
Fifteen to twenty per batch, or one student.
Student work
Games, apps and AI projects built by our learners. Browse more in the student labs.

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
Team registration, kits and tournament entries are paid to Science Olympiad, your state organization or suppliers; our fee is only for coding and math lessons. We bill monthly, so a student can study through invitational season and pause after their last tournament.
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
Parents’ Google reviews, copied as written.
★★★★★
"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 Science Olympiad families
No. Robot Tour does not appear in the 2027 Division B or Division C event tables on soinc.org, and neither does Detector Building. Always check the current event table, because events rotate between seasons.
No 2027 event is purely about programming. Electric Vehicle in Division C often uses a microcontroller such as an Arduino or ESP32, and Codebusters in both divisions rewards cipher skills that students can practice by writing code.
Not usually. Science Olympiad's policies bar calculator applications on laptops, phones and tablets unless an event's rules or supervisor allow them, so plan on solving Codebusters by hand unless the 2027 event rules say otherwise. Coding is a way to practice at home.
A cipher that turns each letter number x into (a times x plus b) mod 26. Science Olympiad's Codebusters Overview notes that a = 1 gives a Caesar cipher and a = 25 with b = 25 gives AtBash. Decrypting needs the inverse of a mod 26.
The 2027 kit modification guidance treats the controller as a part teams may swap, naming Arduino, ESP32, micro:bit and VEX boards. Check the official 2027 Electric Vehicle rules for exactly what is required and allowed.
No. Science Olympiad's ethics rules say pre-built devices must be constructed, impounded and operated by one or more of the 15 current team members unless an event's rules say otherwise. We teach skills on our own examples only.
Science Olympiad's 2027 rules page lists Division B for grades 6 to 9 and Division C for grades 9 to 12. Its about page describes Division B as middle school and Division C as high school, with 23 events in each.
On the 2027 Rules page at soinc.org, where free PDF copies have been available by email since Tuesday, September 8, 2026. Rules clarifications and corrections are posted on the same site during the season.
Science Olympiad says the 43rd National Tournament takes place at The Ohio State University in Columbus, Ohio, on May 14 to 15, 2027, for 120 teams.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.
No. Modern Age Coders is an independent coding school with no connection to Science Olympiad, Inc. or any state Science Olympiad organization.
Elsewhere on this site
Contests, research and coding next steps.
For students who want a research project, not a tournament.
Contests built entirely around programming.
Division B age options beyond Science Olympiad.
Number sense that helps with ciphers.
Dates for this school year in one place.
For students whose robots compete elsewhere.
Part of the guide: US math and coding competitions guide
More guides: US state math tests by state · US gifted and selective school tests · US math placement and college readiness tests · Homeschool and school math curricula guide
Start here
Tell us your child’s grade, their division and their events this season. The teacher sets a short Python or math task linked to those events and suggests where to begin.
To see our approach, read how we teach, or look through the course list.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Teachers are based in India and teach live on video at US after-school and weekend times. Families often message us on WhatsApp for the quickest reply.
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