in this seeded cohort
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.
79 verified concept records
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.
- 4range() boundariesOriginal passed · transfer failed
4 learners: Avery Chen, Camila Rodriguez, Elena Martin, Gabriel Owens
- 3Float precisionOriginal passed · transfer failed
3 learners: Avery Chen, Elena Martin, Hana Sato
- 3Mutable defaultsOriginal passed · transfer failed
3 learners: Benjamin Kim, Farah Ali, Gabriel Owens
- 2sort() vs sorted()Original passed · transfer failed
2 learners: Benjamin Kim, Hana Sato
- 1except orderOriginal passed · transfer failed
1 learner: Farah Ali
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.
| Learner | Mastery | Original → transfer evidence | Portable proof |
|---|---|---|---|
Avery ChenEvening Python · Week 4 View curriculum evidencerange() 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 evidencerange() 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 evidencerange() 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 evidencerange() 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 signal | Open proof record |
Elena MartinEvening Python · Week 4 View curriculum evidencerange() 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 evidencerange() 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 evidencerange() 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 evidencerange() 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- 1Treats 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- 1Expects 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 signalsNo recurring misconception signal in this seeded cohort.
Iterator exhaustion
3 signals- 1Assumes 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- 1Uses 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- 1Assumes 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- 1Uses [] 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- 1Expects 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- 1Expects 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 signalsNo recurring misconception signal in this seeded cohort.
Late-bound closures
2 signals- 1Assumes 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- 1Uses 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 signalsNo recurring misconception signal in this seeded cohort.
Float precision
3 signals- 1Compares 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- 1Places 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.