Extra creditWeekly practice can add up to 5 points to your final grade.See the deal
An app created by Prof. Justin Lewis
Weekly Python practice for your class

Get good at Python, ten minutes at a time.

Reading slides doesn't teach you Python — writing code and answering questions does. Battle Tested turns that practice into short weekly sessions: quizzes on your phone, real code in your browser, and a team that gets stronger every time you show up.

Nothing to install — Python runs in your browser Quizzes fit your phone; coding wants your laptop Classmates only ever see your character name
The Battle Tested student app showing this week's recommended practice and team standing
180
real Python coding challenges — from your first print() to full programs
794
automated checks that run and grade your code right in the browser
5 pts
of extra credit on your final grade — 15 weekly chances to earn it

Real counts from this semester's course content. The app is new — built for this course, improving all semester.

The weekly loop

One simple rhythm, repeated each week.

A little practice most weeks beats a heroic all-nighter every time. Here's the whole game:

Step 01

Practice

Answer quiz questions matched to what your class is covering and clear real Python coding challenges. Whenever fits your week — a few questions between classes is enough to count.

Step 02

Level up

Every attempt earns XP for your character and strength for your team. Showing up consistently matters more than getting every answer right.

Step 03

Watch the battle

When the week closes, both teams' practice resolves into an animated battle replay — starring your own character — plus weekly titles like MVP and Most Improved.

Standings reset each week, so no one is ever permanently behind. Each week's close is on a set schedule, always shown in the app.

Ways to practice

Three ways in — all of them count.

Every mode feeds the same week. Pick what fits the moment — your team gets credit either way.

Quiz drills

Short multiple-choice sets matched to each week's material. Filter by level, retry what you missed, and knock out a handful between classes — they're built for your phone.

Code challenges

Real Python you write and run in the browser — nothing to install. Test cases grade your program instantly, and a hint ladder nudges you step by step before it ever shows a line of the answer.

Field repairs

A weekly debugging exercise: read realistic broken code, find the fault, fix it, and leave a field note. The week's sharpest note earns the Field Engineer title.


Why this works

Built around how you actually learn.

The game layer is thin on purpose. Underneath it are three of the most reliable findings in learning science.

Recalling beats rereading

Pulling an answer out of your own head strengthens memory far more than re-reading notes ever will. Every quiz question and coding challenge here is retrieval practice in disguise.

Weekly beats cramming

Practice spread across the semester sticks; cramming evaporates. That's why each week counts on its own — weekly extra credit only counts XP earned that week, and a weekly XP cap makes steady practice the strategy that wins.

Showing up counts

Scoring weighs participation over perfection, roughly 60/40. Wrong answers still move you forward, and correcting a question you missed earns a bonus. One catch: answers that come too fast earn nothing — if you can honestly answer that fast, move up a level.

The game

Your practice powers a team.

The first few weeks are the Proving Grounds — a solo warm-up while everyone finds their footing. Then the class splits into two balanced teams and the weekly battles begin. Every legitimate attempt strengthens your side, and the replay is the payoff — watchable on your phone, with your own character on the field.

Azure Blade crest
Azure Blade

Built on precision and recovery. Turns missed questions into next week's edge.

Gilded Watch crest
Gilded Watch

Rewards steady, broad effort. The team that shows up together, week after week.

Your character

Levels up as your XP grows, all semester. Pick any name — classmates never see your real one.

Battle points

Your contribution to your team's strength this week. They reset when the battle resolves.

The replay

Watch the week's battle unfold, then read the plain-language recap of why it went that way.

Balanced teams

Teams are split automatically — no sorting by skill — and standings reset so no one is permanently ahead.

Extra credit

Five free points are five free points.

Practicing is what actually teaches you Python — so this semester, steady practice earns extra credit on your final grade. Here's the deal:

One requirement a week

Your instructor posts each week's requirement as a Canvas assignment. It changes week to week — one week a certain amount of XP, another week trying a specific feature.

How you practice is your call

Most weeks won't tell you exactly what to do. Quizzes or coding, beginner or advanced, new material or review — you're the best judge of what you need to work on, and deciding is part of the learning.

A third of a point per week

Complete the week's requirement and it goes straight onto your final course grade. Fifteen weekly chances — 5 points total. Near a grade cutoff, that's easily the difference between two letter grades.

Weekly means weekly

Each requirement must be completed during its week — no late credit, no makeups, no cramming ten weeks at the end. Steady practice is the whole point: it's what actually teaches you Python.

The weekly Canvas assignment is always the authoritative source for each week's requirement and deadline.

Questions

Straight answers.

Does this affect my grade?
It's extra credit only — there's no penalty for sitting out. Each week's requirement is posted as a Canvas assignment; completing it adds a third of a point to your final grade, up to 5 points across 15 weeks. Your course grades live in Canvas — this app is never the gradebook.
Can classmates see my scores?
No. Classmates only ever see character names — never real names — and your individual numbers are private by default. Pick a character name that isn't your real name and you're effectively anonymous to the class.
What if I miss a week?
That week's extra credit is gone — there are no makeups. But the app itself never punishes you: no streaks to lose, no guilt screens. Come back the next week and you're welcome like you never left.
Phone or laptop?
Quizzes are great on a phone — a spare ten minutes is enough. Coding challenges want a keyboard, so save those for a laptop; on a phone you'll get a read-only preview. Tip: open the site in your phone's browser and use Add to Home Screen to install it like a regular app.
Do I need to install anything?
No. Everything — including running real Python — happens in your browser.
Something's broken, or I have an idea
The app is new and evolving all semester, so you might hit rough edges. Tap your avatar (top right) → “Report a bug or idea” — it goes straight to the person who builds it.
Plan · Practice · Prevail

Your team is waiting.

Sign in with your school email, pick a character name, and start earning XP in the next ten minutes.