Skip to cohort evidence

Teacher dashboard

Cohort evidence, not completion counts.

See where a learner's original answer survived a novel context—and where it did not. Use those transfer signals to decide what deserves reteaching.

Active learners8

in this seeded cohort

Transfer-verified mastery66%

79 verified concept records

Original-pass / transfer-fail18

signals across 10 concepts

Reteach first

Original-pass / transfer-fail signals

These learners passed the familiar original but did not yet solve a distinct, test-verified instance. This is evidence of a fragile mental model—not a final grade.

  1. 4
    range() boundaries

    4 learners: Avery Chen, Camila Rodriguez, Elena Martin, Gabriel Owens

    Original passed · transfer failed
  2. 3
    Float precision

    3 learners: Avery Chen, Elena Martin, Hana Sato

    Original passed · transfer failed
  3. 3
    Mutable defaults

    3 learners: Benjamin Kim, Farah Ali, Gabriel Owens

    Original passed · transfer failed
  4. 2
    sort() vs sorted()

    2 learners: Benjamin Kim, Hana Sato

    Original passed · transfer failed
  5. 1
    except order

    1 learner: Farah Ali

    Original passed · transfer failed

Individual evidence

Learners across the curriculum

Open a learner record to inspect all 15 concept states and the original-to-transfer trail.

Scroll horizontally to view all evidence columns.

Seeded cohort mastery and original-to-transfer evidence for each learner.
LearnerMasteryOriginal → transfer evidencePortable proof
Avery ChenEvening Python · Week 4
View curriculum evidence
range() boundariesOriginal passed · transfer failedOriginal: passed · Transfer: failed
String immutabilityTransfer verifiedOriginal: passed · Transfer: passed
Empty collection truthinessTransfer verifiedOriginal: passed · Transfer: passed
Iterator exhaustionTransfer verifiedOriginal: passed · Transfer: passed
List aliasingTransfer verifiedOriginal: passed · Transfer: passed
Mutable defaultsTransfer verifiedOriginal: passed · Transfer: passed
Dictionary fallbacksTransfer verifiedOriginal: passed · Transfer: passed
Nested copiesTransfer verifiedOriginal: passed · Transfer: passed
sort() vs sorted()Transfer verifiedOriginal: passed · Transfer: passed
ScopeTransfer verifiedOriginal: passed · Transfer: passed
Late-bound closuresTransfer verifiedOriginal: passed · Transfer: passed
DivisionTransfer verifiedOriginal: passed · Transfer: passed
is vs ==Transfer verifiedOriginal: passed · Transfer: passed
Float precisionOriginal passed · transfer failedOriginal: passed · Transfer: failed
except orderTransfer verifiedOriginal: passed · Transfer: passed
13 / 15transfer verified
2 transfer signalsrange() boundaries, Float precision
Open proof record
Benjamin KimEvening Python · Week 4
View curriculum evidence
range() boundariesTransfer verifiedOriginal: passed · Transfer: passed
String immutabilityTransfer verifiedOriginal: passed · Transfer: passed
Empty collection truthinessTransfer verifiedOriginal: passed · Transfer: passed
Iterator exhaustionTransfer verifiedOriginal: passed · Transfer: passed
List aliasingOriginal passed · transfer failedOriginal: passed · Transfer: failed
Mutable defaultsOriginal passed · transfer failedOriginal: passed · Transfer: failed
Dictionary fallbacksOriginal failedOriginal: failed · Transfer: not attempted
Nested copiesOriginal failedOriginal: failed · Transfer: not attempted
sort() vs sorted()Original passed · transfer failedOriginal: passed · Transfer: failed
ScopeTransfer verifiedOriginal: passed · Transfer: passed
Late-bound closuresTransfer verifiedOriginal: passed · Transfer: passed
DivisionTransfer verifiedOriginal: passed · Transfer: passed
is vs ==Transfer verifiedOriginal: passed · Transfer: passed
Float precisionOriginal passed · transfer pendingOriginal: passed · Transfer: not attempted
except orderTransfer verifiedOriginal: passed · Transfer: passed
9 / 15transfer verified
3 transfer signalsList aliasing, Mutable defaults, sort() vs sorted()
Open proof record
Camila RodriguezEvening Python · Week 4
View curriculum evidence
range() boundariesOriginal passed · transfer failedOriginal: passed · Transfer: failed
String immutabilityTransfer verifiedOriginal: passed · Transfer: passed
Empty collection truthinessTransfer verifiedOriginal: passed · Transfer: passed
Iterator exhaustionOriginal passed · transfer failedOriginal: passed · Transfer: failed
List aliasingTransfer verifiedOriginal: passed · Transfer: passed
Mutable defaultsTransfer verifiedOriginal: passed · Transfer: passed
Dictionary fallbacksOriginal failedOriginal: failed · Transfer: not attempted
Nested copiesOriginal failedOriginal: failed · Transfer: not attempted
sort() vs sorted()Original passed · transfer pendingOriginal: passed · Transfer: not attempted
ScopeTransfer verifiedOriginal: passed · Transfer: passed
Late-bound closuresOriginal passed · transfer failedOriginal: passed · Transfer: failed
DivisionTransfer verifiedOriginal: passed · Transfer: passed
is vs ==Transfer verifiedOriginal: passed · Transfer: passed
Float precisionOriginal passed · transfer pendingOriginal: passed · Transfer: not attempted
except orderTransfer verifiedOriginal: passed · Transfer: passed
8 / 15transfer verified
3 transfer signalsrange() boundaries, Iterator exhaustion, Late-bound closures
Open proof record
Dev PatelEvening Python · Week 4
View curriculum evidence
range() boundariesTransfer verifiedOriginal: passed · Transfer: passed
String immutabilityTransfer verifiedOriginal: passed · Transfer: passed
Empty collection truthinessTransfer verifiedOriginal: passed · Transfer: passed
Iterator exhaustionTransfer verifiedOriginal: passed · Transfer: passed
List aliasingTransfer verifiedOriginal: passed · Transfer: passed
Mutable defaultsTransfer verifiedOriginal: passed · Transfer: passed
Dictionary fallbacksTransfer verifiedOriginal: passed · Transfer: passed
Nested copiesTransfer verifiedOriginal: passed · Transfer: passed
sort() vs sorted()Transfer verifiedOriginal: passed · Transfer: passed
ScopeTransfer verifiedOriginal: passed · Transfer: passed
Late-bound closuresTransfer verifiedOriginal: passed · Transfer: passed
DivisionTransfer verifiedOriginal: passed · Transfer: passed
is vs ==Transfer verifiedOriginal: passed · Transfer: passed
Float precisionTransfer verifiedOriginal: passed · Transfer: passed
except orderTransfer verifiedOriginal: passed · Transfer: passed
15 / 15transfer verified
No original-pass / transfer-fail signalOpen proof record
Elena MartinEvening Python · Week 4
View curriculum evidence
range() boundariesOriginal passed · transfer failedOriginal: passed · Transfer: failed
String immutabilityTransfer verifiedOriginal: passed · Transfer: passed
Empty collection truthinessTransfer verifiedOriginal: passed · Transfer: passed
Iterator exhaustionOriginal failedOriginal: failed · Transfer: not attempted
List aliasingTransfer verifiedOriginal: passed · Transfer: passed
Mutable defaultsTransfer verifiedOriginal: passed · Transfer: passed
Dictionary fallbacksTransfer verifiedOriginal: passed · Transfer: passed
Nested copiesOriginal failedOriginal: failed · Transfer: not attempted
sort() vs sorted()Original failedOriginal: failed · Transfer: not attempted
ScopeTransfer verifiedOriginal: passed · Transfer: passed
Late-bound closuresOriginal passed · transfer pendingOriginal: passed · Transfer: not attempted
DivisionOriginal passed · transfer failedOriginal: passed · Transfer: failed
is vs ==Original passed · transfer pendingOriginal: passed · Transfer: not attempted
Float precisionOriginal passed · transfer failedOriginal: passed · Transfer: failed
except orderTransfer verifiedOriginal: passed · Transfer: passed
7 / 15transfer verified
3 transfer signalsrange() boundaries, Division, Float precision
Open proof record
Farah AliEvening Python · Week 4
View curriculum evidence
range() boundariesTransfer verifiedOriginal: passed · Transfer: passed
String immutabilityTransfer verifiedOriginal: passed · Transfer: passed
Empty collection truthinessTransfer verifiedOriginal: passed · Transfer: passed
Iterator exhaustionTransfer verifiedOriginal: passed · Transfer: passed
List aliasingTransfer verifiedOriginal: passed · Transfer: passed
Mutable defaultsOriginal passed · transfer failedOriginal: passed · Transfer: failed
Dictionary fallbacksTransfer verifiedOriginal: passed · Transfer: passed
Nested copiesOriginal passed · transfer failedOriginal: passed · Transfer: failed
sort() vs sorted()Transfer verifiedOriginal: passed · Transfer: passed
ScopeTransfer verifiedOriginal: passed · Transfer: passed
Late-bound closuresOriginal failedOriginal: failed · Transfer: not attempted
DivisionTransfer verifiedOriginal: passed · Transfer: passed
is vs ==Transfer verifiedOriginal: passed · Transfer: passed
Float precisionTransfer verifiedOriginal: passed · Transfer: passed
except orderOriginal passed · transfer failedOriginal: passed · Transfer: failed
11 / 15transfer verified
3 transfer signalsMutable defaults, Nested copies, except order
Open proof record
Gabriel OwensEvening Python · Week 4
View curriculum evidence
range() boundariesOriginal passed · transfer failedOriginal: passed · Transfer: failed
String immutabilityOriginal failedOriginal: failed · Transfer: not attempted
Empty collection truthinessTransfer verifiedOriginal: passed · Transfer: passed
Iterator exhaustionOriginal failedOriginal: failed · Transfer: not attempted
List aliasingOriginal failedOriginal: failed · Transfer: not attempted
Mutable defaultsOriginal passed · transfer failedOriginal: passed · Transfer: failed
Dictionary fallbacksOriginal failedOriginal: failed · Transfer: not attempted
Nested copiesOriginal passed · transfer pendingOriginal: passed · Transfer: not attempted
sort() vs sorted()Original passed · transfer pendingOriginal: passed · Transfer: not attempted
ScopeOriginal passed · transfer pendingOriginal: passed · Transfer: not attempted
Late-bound closuresOriginal passed · transfer pendingOriginal: passed · Transfer: not attempted
DivisionTransfer verifiedOriginal: passed · Transfer: passed
is vs ==Transfer verifiedOriginal: passed · Transfer: passed
Float precisionOriginal passed · transfer pendingOriginal: passed · Transfer: not attempted
except orderTransfer verifiedOriginal: passed · Transfer: passed
4 / 15transfer verified
2 transfer signalsrange() boundaries, Mutable defaults
Open proof record
Hana SatoEvening Python · Week 4
View curriculum evidence
range() boundariesTransfer verifiedOriginal: passed · Transfer: passed
String immutabilityTransfer verifiedOriginal: passed · Transfer: passed
Empty collection truthinessTransfer verifiedOriginal: passed · Transfer: passed
Iterator exhaustionTransfer verifiedOriginal: passed · Transfer: passed
List aliasingTransfer verifiedOriginal: passed · Transfer: passed
Mutable defaultsTransfer verifiedOriginal: passed · Transfer: passed
Dictionary fallbacksTransfer verifiedOriginal: passed · Transfer: passed
Nested copiesTransfer verifiedOriginal: passed · Transfer: passed
sort() vs sorted()Original passed · transfer failedOriginal: passed · Transfer: failed
ScopeTransfer verifiedOriginal: passed · Transfer: passed
Late-bound closuresTransfer verifiedOriginal: passed · Transfer: passed
DivisionTransfer verifiedOriginal: passed · Transfer: passed
is vs ==Transfer verifiedOriginal: passed · Transfer: passed
Float precisionOriginal passed · transfer failedOriginal: passed · Transfer: failed
except orderOriginal failedOriginal: failed · Transfer: not attempted
12 / 15transfer verified
2 transfer signalssort() vs sorted(), Float precision
Open proof record

Aggregate evidence

Ranked misconception analytics

Each concept is ranked by the recurring misconception signals observed in this seeded cohort.

range() boundaries

4 signals
  1. 1
    Treats range()'s stop as inclusive

    4 learners: Avery Chen, Camila Rodriguez, Elena Martin, Gabriel Owens

    Reteach: Contrast the last emitted value with the stop value using a one-item sequence.

String immutability

1 signals
  1. 1
    Expects a string operation to change the original value in place

    1 learner: Gabriel Owens

    Reteach: Ask learners to trace the old binding and the new returned string side by side.

Empty collection truthiness

0 signals

No recurring misconception signal in this seeded cohort.

Iterator exhaustion

3 signals
  1. 1
    Assumes an iterator restarts after it has been consumed

    3 learners: Camila Rodriguez, Elena Martin, Gabriel Owens

    Reteach: Have learners predict two consecutive passes over the same iterator.

List aliasing

2 signals
  1. 1
    Uses assignment where an independent list copy is needed

    2 learners: Benjamin Kim, Gabriel Owens

    Reteach: Trace two variable names before and after an append to test shared identity.

Mutable defaults

3 signals
  1. 1
    Assumes a mutable default list is recreated for every call

    3 learners: Benjamin Kim, Farah Ali, Gabriel Owens

    Reteach: Trace two function calls and identify where the list object is created.

Dictionary fallbacks

3 signals
  1. 1
    Uses [] when a dictionary key may be absent

    3 learners: Benjamin Kim, Camila Rodriguez, Gabriel Owens

    Reteach: Compare a missing-key lookup with a deliberate fallback value.

Nested copies

4 signals
  1. 1
    Expects a shallow copy to duplicate nested values

    4 learners: Benjamin Kim, Camila Rodriguez, Elena Martin, Farah Ali

    Reteach: Change one nested item after copying and observe which structure moves with it.

sort() vs sorted()

3 signals
  1. 1
    Expects list.sort() to return a sorted list

    3 learners: Benjamin Kim, Elena Martin, Hana Sato

    Reteach: Separate the question of what mutates from the question of what is returned.

Scope

0 signals

No recurring misconception signal in this seeded cohort.

Late-bound closures

2 signals
  1. 1
    Assumes loop closures freeze each iteration's value automatically

    2 learners: Camila Rodriguez, Farah Ali

    Reteach: Delay each callback, then compare its observed loop value at call time.

Division

1 signals
  1. 1
    Uses floor division when a fractional result is required

    1 learner: Elena Martin

    Reteach: Ask which operator preserves the remainder in an even-sharing story.

is vs ==

0 signals

No recurring misconception signal in this seeded cohort.

Float precision

3 signals
  1. 1
    Compares decimal floating-point results for exact equality

    3 learners: Avery Chen, Elena Martin, Hana Sato

    Reteach: Inspect a tiny representation difference, then discuss a tolerance-based comparison.

except order

2 signals
  1. 1
    Places a broad except before a specific exception

    2 learners: Farah Ali, Hana Sato

    Reteach: Read exception handlers from top to bottom and identify which one captures first.