Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Year 5 lessons and practice

Interactive lesson pages plus a practice engine that tracks what's solid and what's shaky, for a Year 5 (Stage 3) student in NSW.

./serve.sh          # then open http://localhost:8000

Double-clicking index.html also works, but some browsers won't keep localStorage for file:// pages, so progress would reset each visit. The hub shows a warning when that's happening.

Layout

Path What it is
index.html Hub — daily mixed session, subject list, progress dashboard
assets/base.css The shared look. Pages set --accent per section
assets/progress.js Cross-subject mastery store: levels, spaced repetition
assets/practice.js Generator registry, hint ladder, session runner
assets/generators-*.js The questions, one file per subject
topics/<subject>/<topic>.html Lesson pages

How the coaching works

Every skill sits at a level from 1 to 4.

  • Three right in a row (first go, no hints) moves it up a level.
  • Two wrong in a row moves it back down.
  • Generators read the level and produce a harder or easier question.

A skill then rests before it's worth asking again — one day at level 1, up to eight days at level 4. Once the rest period is up it's due, and due skills get picked first for the next session. Skills she has never met jump the queue ahead of everything.

Only a first-go answer counts as right. Getting there after a hint still teaches her the method, but the skill comes back sooner — which is what you want.

Adding a topic

  1. Copy an existing page from topics/. Link assets/base.css, set the section palettes in a small inline <style>, and add the breadcrumb.

  2. Add generators to the matching assets/generators-<subject>.js. Each one needs an id, subject, topic, outcome, label and a make(level) returning:

    {
      stem:    "question text, HTML allowed",
      choices: ["4","6","8"],   // omit for a typed answer
      answer:  1,               // index for choices, or the value to type
      unit:    "cm",            // optional, shown next to a typed answer
      hints:   [nudge, method, worked],
      why:     "shown when she gets it right"
    }
  3. Add the page to the subject list in index.html.

Registering a generator is enough for it to appear in the daily session and on the progress dashboard — no other wiring.

Writing good hints

The three hints are a ladder, not three attempts at the same sentence:

  1. nudge — point at the idea, give nothing away
  2. method — name the steps, still with her numbers
  3. worked — do it with her, then the answer is revealed

Syllabus outcome codes

Every generator is tagged with a NSW outcome code, collected in an OUTCOMES map at the top of each generators file.

These codes are provisional and need one verification pass. Download Mathematics + Stage 3 and Science and Technology + Stage 3 from https://curriculum.nsw.edu.au/custom-view and correct the maps — each map is read by every generator in the file, so one edit fixes the questions and the dashboard together.

The science codes are the shakier of the two. NSW is mid-rollout: the Science and Technology K–6 (2024) syllabus is published but not mandatory until 2027, so a Year 5 class in 2026 may still be taught the older one. English and Mathematics K–10 (2022) are already in force.

Deliberate constraints

  • No build step and no dependencies. Plain ES5 in IIFEs with globals, not ES modules — file:// blocks module loading, and being able to double-click a page is worth more here than modern syntax.
  • No network calls. Everything runs offline once the fonts are cached.
  • prefers-reduced-motion is respected by every animation, including the particle simulation.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages