Skip to content
AtomicReps
Atomic Education · for computer science departments

You see the code works.
You cannot see
who understood it.

After their coding agent finishes, the student answers a question about that code from memory. What they retrieve, they keep.

The student, the agent, the syllabus, the classroom, the tutor and the exam, joined through Atomic RepsThe studentThe agentThe syllabusThe classroomThe tutorThe examAtomic RepsThe question a person wrote, where the student already works

The student's terminal

the reminders list shows other users' reminders after the first request. fix

Read(app/reminders.py)

Read 61 lines

Grep(pattern: "reminders=", path: app)

2 matches

Update(app/reminders.py)

Updated 1 file, +3 -1

Done. add_reminder() no longer shares one default list between calls.

Atomic Reps · Python

Rep 01

Your fix changed the default to reminders=None. What did the old signature do the second time it was called without a list?

def add_reminder(text, reminders=[]):
    reminders.append(text)
    return reminders

From memory. Reply with a letter.

Your student's terminal, week six. Pick a letter.

01The gap

The lab is assisted.
The exam is not.

Students will ship with an agent. The department already knows it. What happens between the lab and the hall exam has been measured.

  • 17
    points lower on a comprehension test

    After the task, roughly 50 against 67, at the same speed. Fifty-two developers whose coding AI assisted, pre-registered trial.

  • 9 of 10
    struggling students finished anyway

    Reaching a working solution with AI and, in the authors' words, “an illusion of competence”. In the same lab's pre-AI study, 11 of 31 could not finish, and every one of them knew it.

  • 27 of 32
    Swedish institutions changed how they examine

    In 2025. The main response was more invigilated hall exams: the one unassisted signal a department has, and it arrives at the end of the term.

“GenAI is not cognitive offloading. It’s outsourcing.”
Mark Guzdial · Professor of Computer Science and Engineering, University of Michigan
02What the tutor sees

The class first.
A student one click down.

Which concepts the class missed this week, with the question beside each one, so the next lecture starts from what the class got wrong rather than what the slides assumed.

Programming 1 · Python · Autumn 2026
Example data

Week 6 · Functions and mutability

The concepts this class missed most, and the one page that answers them. 38 of 41 answered, 3 paused, no names on this screen.

Most missed this weekMissed
Default argument evaluated once, at def timeRep 06.2 · Level 2
19OF 38
Assignment aliases a list; slicing copies itRep 06.4 · Level 1
14OF 38
sort() returns None; sorted() returns a new listRep 06.1 · Level 1
11OF 38
is compares identity, == compares valueRep 06.3 · Level 2
9OF 38
A tuple is immutable; the list inside it is notRep 06.5 · Level 2
6OF 38

Ranked by how many of the 38 answers got it wrong.

The Tuesday sheet5 concepts · 1 page
01
Default argument evaluated once

What did reminders=[] do the second time the function ran?

A default is built once, when def runs, and it belongs to the function. Every later call without a list appends to that same one.

Source · Python docs · Default Argument Values
02
Assignment aliases, slicing copies

After b = a and b.append(4), what does a hold?

b = a binds a second name to the same list. a[:] builds a new one.

Source · Python docs · More on Lists
Also on the sheet
03sort() returns None; sorted() returns a new list
04is compares identity, == compares value
05A tuple is immutable; the list inside it is not

Each one prints with its reason and its source. Made for Programming 1, week 6.

Observed facts onlyClasses 3
The Tuesday sheet
The five concepts the class missed this week, each with its question, the reason and the primary document, on one page you open the next lecture with.
Read and skip next week's reps
Every rep for next week is fixed and readable now. Skip the ones you have not taught yet, and they are never served.
Syllabus import and coverage
Paste the course plan. Each week maps to its topics and shows how many reps stand behind them, and where a custom set would fill a gap.
Interview prompts
For any student, three human-written follow-up questions on the concepts they missed, for the lab or the office hour.
The lecture view
The most missed rep on the projector: the question, how the class split, then the reason. No names. Teach from what the class actually thought.
Observed facts only
Never an automated score, rank, risk flag or recommendation about a student. That sentence is written into Schedule A of the order form, and every student can read what their school sees about them.
03The questions

People wrote every question. Weeks before your term starts.

Each one is fixed before it is served. A class of forty meets the same question the same way, and you can read the week's reps before your class does.

Not a chapter test.

The questions are about the code the student just shipped: the default argument they left mutable, the list they aliased, the exception they swallowed. A few seconds with their own work, each time.

No model in the loop.

Fixed rules choose each next question: the week's topics, the level band, nothing seen recently. No model writes a question, explains an answer or grades a student. What you read on the class screen is arithmetic over answers.

Your syllabus, your phrasing.

Questions written against your course plan, in your words, reviewed by people and folded into the corpus. One fee, one conversation. Write to us.

04The evidence

Asking is the oldest result in the field.

Being asked to recall beats reading it again, and the gap opens with time. Retrieval strengthens what is retrieved, which is why the questions are about the code the student just shipped.

Recalled one week later · equal time on task

Read once, then recalled it three times
61%
Read it four times
40%

Five minutes after studying, the rereaders were ahead. The gap opens with delay, which is the one that matters by the exam. Lab study, prose passages.

13
points higher on classroom exams

For the material that brief low-stakes questions had covered, 94% against 81%.

222
classroom studies

48,478 students, pooled effect g = 0.499, and five publication-bias checks left it near-clean.

“I’m all about adding friction to force reflection.”
Kristin Stephens-Martinez · Duke University, on generative AI in the CS classroom

Every number links to the page that grades it. The full reading is on the retrieval practice page and the cognitive debt page.

05The term

You set the week.
The product keeps to it.

Built to sit inside a department's year, its exam calendar and its procurement rules. Nothing is asked before it has been taught.

Before
Paste the syllabus
W01
The first rep, in the lab
W02
Control flow
W03
Functions
W04
Lists, dicts
W05
Files, errors
W06
The Tuesday sheet
W07
Classes
W08
AI-free week
W09
Testing
W10
Exam pause
W11
Revision: missed concepts back
W12
The hall exam

A twelve-week term as the console plans it. Example plan; the marked weeks are the product's.

Topic plan by week
What is asked follows your syllabus, week by week. By default, nothing is asked before it has been taught.
Exam pause
One switch, and the class goes quiet until the exam is over.
AI-free weeks
The week's topics served as unassisted recall on the web or in Slack, for the weeks the agent is off.
Revision before the exam
In the weeks before the hall exam, each student gets the concepts they missed back as unassisted recall, and a class revision page runs through the term's topics.
The student's own view
Every student can read what their school sees about them, and a log of every time a tutor looked.
06The price and the paperwork

The price and the paperwork

$49
per seat, per year

One class or one department, one year at a time, sized to stay under the direct-award limit. No auto-renew for public buyers.

Invoiced by Atomic Reps AB · SEK with 25 percent moms in Sweden · reverse charge for other EU institutions · price rises capped at 3 percent a year.

Peppol and purchase order
E-invoice through Peppol for Swedish public buyers, 30-day terms, no card and no subscription.
Under the direct-award limit
One class or one department, one year at a time, sized to stay under direktupphandlingsgränsen.
The compliance pack
A completed DPIA template, the DPA schedule, a per-student data dictionary and a FRIA draft, delivered before your dataskyddsombud asks for them.
Data stays in the EU
Hosted in EU West. No answer is used to train a model, sold or shared. The commitment is in the DPA, in the same words.
07Start with one class

One class. One term. Fixed price.

A paid pilot that converts to the annual agreement on a named date unless you cancel in writing. You have the class screen from the first rep.

Your students keep the agent. You get the week the class actually had.

or write to hello@atomicreps.com

Invoiced by Atomic Reps AB, 30-day terms. Seats counted on a census date two weeks after the class starts. No auto-renew for public buyers. Price rises capped at 3 percent a year.

AtomicReps

The next lecture starts from what the class actually thought.

Your students keep the agent. You get the week the class actually had, and a pilot that converts to the annual agreement on a named date unless you cancel in writing.

One class, one term, fixed price.