⛰️ Luna's Math Quest

Multiplication Mountain

Long multiplication and long division, plus multi-step puzzles.

4activities in this world Kindergarten – Grade 5ages 5–11
✖️

Multiply ×1 Digit

board long-mulbands 0–1concept multiply
How this station is declared (YAML)
id: mm-mul1
title: Multiply ×1 Digit
icon: ✖️
board: long-mul
bands:
  - 0
  - 1
lesson: long-multiply
concept: multiply

Lesson: Multiply ×1 Digit — 4 steps

1

Set it up

Introduce the idea. Luna opens with the column visual — vertical column arithmetic (add/sub/mul). The author sets each beat's state to walk a worked example column by column, across 1 narrated beat, so the concept is seen before it is ever practised.

What Luna says

  • To multiply a big number, we go column by column. Let's do twenty-three times four.

In the open config

id: setup
label: Set it up
beats:
  - say: llm-1
    caption: To multiply a big number, we go column by column. Let's do twenty-three times four.
    view:
      kind: column
      key: m1
      op: ×
      result: ""
      carry: {}
      active: null
      top: 23
      bottom: 4

Preview

Set it up step of Multiply ×1 Digit (column view)
2

Ones

Worked example. Luna walks one case step by step with the column view — vertical column arithmetic (add/sub/mul). The author sets each beat's state to walk a worked example column by column, turning the idea into a procedure a child can repeat.

What Luna says

  • Start with the ones: four times three is twelve. Write the two, carry the one.

In the open config

id: ones
label: Ones
beats:
  - say: llm-2
    caption: "Start with the ones: four times three is twelve. Write the two, carry the one."
    view:
      kind: column
      key: m1
      op: ×
      result: "2"
      carry:
        "1": "1"
      active: 0
      top: 23
      bottom: 4

Preview

Ones step of Multiply ×1 Digit (column view)
3

Tens

Worked example. Luna walks one case step by step with the column view — vertical column arithmetic (add/sub/mul). The author sets each beat's state to walk a worked example column by column, turning the idea into a procedure a child can repeat.

What Luna says

  • Now the tens: four times two is eight, plus the carried one makes nine.
  • Twenty-three times four is ninety-two!

In the open config

id: tens
label: Tens
beats:
  - say: llm-3
    caption: "Now the tens: four times two is eight, plus the carried one makes nine."
    view:
      kind: column
      key: m1
      op: ×
      result: "92"
      carry:
        "1": "1"
      active: 1
      top: 23
      bottom: 4
  - say: llm-4
    caption: Twenty-three times four is ninety-two!
    view:
      kind: column
      key: m1
      op: ×
      result: "92"
      carry:
        "1": "1"
      active: null
      top: 23
      bottom: 4

Preview

▶ animated
4

Your turn

Your turn. The lesson hands off to the practice board: the child now answers, applying what the column visual — vertical column arithmetic (add/sub/mul). The author sets each beat's state to walk a worked example column by column just showed.

What Luna says

  • Always multiply the ones first, then the tens, carrying when you go over nine. You try!

In the open config

id: go
label: Your turn
beats:
  - say: llm-5
    caption: Always multiply the ones first, then the tens, carrying when you go over nine. You try!
    view:
      kind: column
      key: m1
      op: ×
      result: "92"
      carry:
        "1": "1"
      active: null
      top: 23
      bottom: 4

Preview

Your turn step of Multiply ×1 Digit (column view)
🧮

Multiply ×2 Digits

board long-mulbands 2concept multiply
How this station is declared (YAML)
id: mm-mul2
title: Multiply ×2 Digits
icon: 🧮
board: long-mul
bands:
  - 2
  - 2
lesson: long-multiply2
concept: multiply

Lesson: Multiply ×2 Digits — 4 steps

1

Split it

Introduce the idea. Luna opens with the big visual — a single big numeral or label, for emphasis / answer-reveal beats, across 1 narrated beat, so the concept is seen before it is ever practised.

What Luna says

  • For two big numbers, we split the job in two. Let's do twenty-three times fourteen.

In the open config

id: split
label: Split it
beats:
  - say: llm2-1
    caption: For two big numbers, we split the job in two. Let's do twenty-three times fourteen.
    view:
      kind: big
      key: s
      text: 23 × 14
      color: "#a78bfa"

Preview

Split it step of Multiply ×2 Digits (big view)
2

× 4

Worked example. Luna walks one case step by step with the big view — a single big numeral or label, for emphasis / answer-reveal beats, turning the idea into a procedure a child can repeat.

What Luna says

  • Fourteen is ten and four. First multiply by the four: twenty-three times four is ninety-two.

In the open config

id: byfour
label: × 4
beats:
  - say: llm2-2
    caption: "Fourteen is ten and four. First multiply by the four: twenty-three times four is ninety-two."
    view:
      kind: big
      key: p1
      text: 23 × 4 = 92
      color: "#22d3ee"

Preview

× 4 step of Multiply ×2 Digits (big view)
3

× 10

Worked example. Luna walks one case step by step with the big view — a single big numeral or label, for emphasis / answer-reveal beats, turning the idea into a procedure a child can repeat.

What Luna says

  • Then multiply by the ten: twenty-three times ten is two hundred thirty.

In the open config

id: byten
label: × 10
beats:
  - say: llm2-3
    caption: "Then multiply by the ten: twenty-three times ten is two hundred thirty."
    view:
      kind: big
      key: p2
      text: 23 × 10 = 230
      color: "#22d3ee"

Preview

× 10 step of Multiply ×2 Digits (big view)
4

Add parts

Worked example. Luna walks one case step by step with the column view — vertical column arithmetic (add/sub/mul). The author sets each beat's state to walk a worked example column by column, turning the idea into a procedure a child can repeat.

What Luna says

  • Last, add the two parts together: ninety-two plus two hundred thirty.
  • Twenty-three times fourteen is three hundred twenty-two! Split, multiply each part, then add. You try!

In the open config

id: add
label: Add parts
beats:
  - say: llm2-4
    caption: "Last, add the two parts together: ninety-two plus two hundred thirty."
    view:
      kind: column
      key: addp
      op: +
      top: 92
      bottom: 230
      result: ""
      active: null
  - say: llm2-5
    caption: Twenty-three times fourteen is three hundred twenty-two! Split, multiply each part, then add. You try!
    view:
      kind: column
      key: addp
      op: +
      top: 92
      bottom: 230
      result: "322"

Preview

▶ animated

Long Division

board long-divbands 0–2concept division
How this station is declared (YAML)
id: mm-div
title: Long Division
icon: ➗
board: long-div
bands:
  - 0
  - 2
lesson: long-division
concept: division

Lesson: Long Division — 7 steps

1

Set it up

Introduce the idea. Luna opens with the longdiv visual — a long-division bracket walked step by step (Divide–Multiply–Subtract–Bring down), across 1 narrated beat, so the concept is seen before it is ever practised.

What Luna says

  • Long division shares a big number step by step. Let's do eighty-four divided by four.

In the open config

id: setup
label: Set it up
beats:
  - say: lld-1
    caption: Long division shares a big number step by step. Let's do eighty-four divided by four.
    view:
      kind: longdiv
      key: d84
      step: 0
      divisor: "4"
      dividend: "84"
      quotient: "21"
      quoSteps:
        - 1
        - 5
      rows:
        - s: "-8"
          step: 2
          c: rose
        - s: "--"
          step: 3
          c: line
        - s: "04"
          step: 4
        - s: "-4"
          step: 6
          c: rose
        - s: "--"
          step: 7
          c: line
        - s: " 0"
          step: 8

Preview

▶ animated
2

Divide

Worked example. Luna walks one case step by step with the longdiv view — a long-division bracket walked step by step (Divide–Multiply–Subtract–Bring down), turning the idea into a procedure a child can repeat.

What Luna says

  • Divide: how many fours fit in eight? Two. We write the two up on top.

In the open config

id: d1
label: Divide
beats:
  - say: lld-2
    caption: "Divide: how many fours fit in eight? Two. We write the two up on top."
    view:
      kind: longdiv
      key: d84
      step: 1
      divisor: "4"
      dividend: "84"
      quotient: "21"
      quoSteps:
        - 1
        - 5
      rows:
        - s: "-8"
          step: 2
          c: rose
        - s: "--"
          step: 3
          c: line
        - s: "04"
          step: 4
        - s: "-4"
          step: 6
          c: rose
        - s: "--"
          step: 7
          c: line
        - s: " 0"
          step: 8

Preview

▶ animated
3

Multiply

Worked example. Luna walks one case step by step with the longdiv view — a long-division bracket walked step by step (Divide–Multiply–Subtract–Bring down), turning the idea into a procedure a child can repeat.

What Luna says

  • Multiply: two times four is eight, and we write it underneath.

In the open config

id: m1
label: Multiply
beats:
  - say: lld-3
    caption: "Multiply: two times four is eight, and we write it underneath."
    view:
      kind: longdiv
      key: d84
      step: 2
      divisor: "4"
      dividend: "84"
      quotient: "21"
      quoSteps:
        - 1
        - 5
      rows:
        - s: "-8"
          step: 2
          c: rose
        - s: "--"
          step: 3
          c: line
        - s: "04"
          step: 4
        - s: "-4"
          step: 6
          c: rose
        - s: "--"
          step: 7
          c: line
        - s: " 0"
          step: 8

Preview

▶ animated
4

Subtract & bring

Worked example. Luna walks one case step by step with the longdiv view — a long-division bracket walked step by step (Divide–Multiply–Subtract–Bring down), turning the idea into a procedure a child can repeat.

What Luna says

  • Subtract: eight minus eight is zero. Then bring down the next digit, the four.

In the open config

id: s1
label: Subtract & bring
beats:
  - say: lld-4
    caption: "Subtract: eight minus eight is zero. Then bring down the next digit, the four."
    view:
      kind: longdiv
      key: d84
      step: 4
      divisor: "4"
      dividend: "84"
      quotient: "21"
      quoSteps:
        - 1
        - 5
      rows:
        - s: "-8"
          step: 2
          c: rose
        - s: "--"
          step: 3
          c: line
        - s: "04"
          step: 4
        - s: "-4"
          step: 6
          c: rose
        - s: "--"
          step: 7
          c: line
        - s: " 0"
          step: 8

Preview

▶ animated
5

Divide again

Worked example. Luna walks one case step by step with the longdiv view — a long-division bracket walked step by step (Divide–Multiply–Subtract–Bring down), turning the idea into a procedure a child can repeat.

What Luna says

  • Divide again: how many fours fit in four? One. Write it on top.

In the open config

id: d2
label: Divide again
beats:
  - say: lld-5
    caption: "Divide again: how many fours fit in four? One. Write it on top."
    view:
      kind: longdiv
      key: d84
      step: 5
      divisor: "4"
      dividend: "84"
      quotient: "21"
      quoSteps:
        - 1
        - 5
      rows:
        - s: "-8"
          step: 2
          c: rose
        - s: "--"
          step: 3
          c: line
        - s: "04"
          step: 4
        - s: "-4"
          step: 6
          c: rose
        - s: "--"
          step: 7
          c: line
        - s: " 0"
          step: 8

Preview

▶ animated
6

Finish

Worked example. Luna walks one case step by step with the longdiv view — a long-division bracket walked step by step (Divide–Multiply–Subtract–Bring down), turning the idea into a procedure a child can repeat.

What Luna says

  • Multiply one by four, subtract, and nothing is left. Eighty-four divided by four is twenty-one!

In the open config

id: finish
label: Finish
beats:
  - say: lld-6
    caption: Multiply one by four, subtract, and nothing is left. Eighty-four divided by four is twenty-one!
    view:
      kind: longdiv
      key: d84
      step: 8
      divisor: "4"
      dividend: "84"
      quotient: "21"
      quoSteps:
        - 1
        - 5
      rows:
        - s: "-8"
          step: 2
          c: rose
        - s: "--"
          step: 3
          c: line
        - s: "04"
          step: 4
        - s: "-4"
          step: 6
          c: rose
        - s: "--"
          step: 7
          c: line
        - s: " 0"
          step: 8

Preview

▶ animated
7

Your turn

Your turn. The lesson hands off to the practice board: the child now answers, applying what the longdiv visual — a long-division bracket walked step by step (Divide–Multiply–Subtract–Bring down) just showed.

What Luna says

  • Just repeat the steps: Divide, Multiply, Subtract, Bring down. You try!

In the open config

id: go
label: Your turn
beats:
  - say: lld-7
    caption: "Just repeat the steps: Divide, Multiply, Subtract, Bring down. You try!"
    view:
      kind: longdiv
      key: d84
      step: 8
      divisor: "4"
      dividend: "84"
      quotient: "21"
      quoSteps:
        - 1
        - 5
      rows:
        - s: "-8"
          step: 2
          c: rose
        - s: "--"
          step: 3
          c: line
        - s: "04"
          step: 4
        - s: "-4"
          step: 6
          c: rose
        - s: "--"
          step: 7
          c: line
        - s: " 0"
          step: 8

Preview

▶ animated
🧩

Multi-Step Puzzles

board word-2stepbands 0–2concept word-problems
How this station is declared (YAML)
id: mm-multi
title: Multi-Step Puzzles
icon: 🧩
board: word-2step
bands:
  - 0
  - 2
lesson: word-problems
concept: word-problems

Lesson: Story Problems — 5 steps

1

Read it

Introduce the idea. Luna opens with the story visual — a word problem read aloud; words reveal as Luna reads, with numbers and action words colour-coded, across 3 narrated beats, so the concept is seen before it is ever practised.

What Luna says

  • Story problems hide math inside words. Maya has three apples.
  • She gets five more.
  • How many apples does she have now?

In the open config

id: readA
label: Read it
beats:
  - say: lwp-1
    caption: Story problems hide math inside words. Maya has three apples.
    view:
      kind: story
      key: wA
      words:
        - t: Maya
        - t: has
        - t: "3"
          kind: num
        - t: apples.
        - t: She
        - t: gets
        - t: "5"
          kind: num
        - t: more.
          kind: add
        - t: How
        - t: many
        - t: now?
      revealed: 4
  - say: lwp-2
    caption: She gets five more.
    view:
      kind: story
      key: wA
      words:
        - t: Maya
        - t: has
        - t: "3"
          kind: num
        - t: apples.
        - t: She
        - t: gets
        - t: "5"
          kind: num
        - t: more.
          kind: add
        - t: How
        - t: many
        - t: now?
      revealed: 8
  - say: lwp-3
    caption: How many apples does she have now?
    view:
      kind: story
      key: wA
      words:
        - t: Maya
        - t: has
        - t: "3"
          kind: num
        - t: apples.
        - t: She
        - t: gets
        - t: "5"
          kind: num
        - t: more.
          kind: add
        - t: How
        - t: many
        - t: now?
      revealed: 11

Preview

▶ animated
2

Find the math

Worked example. Luna walks one case step by step with the big view — a single big numeral or label, for emphasis / answer-reveal beats, turning the idea into a procedure a child can repeat.

What Luna says

  • The word 'more' tells us to add. So we add three and five.
  • Three plus five is eight apples!

In the open config

id: solveA
label: Find the math
beats:
  - say: lwp-4
    caption: The word 'more' tells us to add. So we add three and five.
    view:
      kind: big
      key: eqA
      text: 3 + 5 = 8
      color: "#4ade80"
  - say: lwp-5
    caption: Three plus five is eight apples!
    view:
      kind: big
      key: eqA
      text: 3 + 5 = 8
      color: "#4ade80"

Preview

Find the math step of Multi-Step Puzzles (big view)
3

Another

Worked example. Luna walks one case step by step with the story view — a word problem read aloud; words reveal as Luna reads, with numbers and action words colour-coded, turning the idea into a procedure a child can repeat.

What Luna says

  • Here is a different one. Sam had eight stickers.
  • He gave away three.
  • How many stickers are left?

In the open config

id: readB
label: Another
beats:
  - say: lwp-6
    caption: Here is a different one. Sam had eight stickers.
    view:
      kind: story
      key: wB
      words:
        - t: Sam
        - t: had
        - t: "8"
          kind: num
        - t: stickers.
        - t: He
        - t: gave
          kind: sub
        - t: away
          kind: sub
        - t: "3."
          kind: num
        - t: How
        - t: many
        - t: left?
          kind: sub
      revealed: 4
  - say: lwp-7
    caption: He gave away three.
    view:
      kind: story
      key: wB
      words:
        - t: Sam
        - t: had
        - t: "8"
          kind: num
        - t: stickers.
        - t: He
        - t: gave
          kind: sub
        - t: away
          kind: sub
        - t: "3."
          kind: num
        - t: How
        - t: many
        - t: left?
          kind: sub
      revealed: 8
  - say: lwp-8
    caption: How many stickers are left?
    view:
      kind: story
      key: wB
      words:
        - t: Sam
        - t: had
        - t: "8"
          kind: num
        - t: stickers.
        - t: He
        - t: gave
          kind: sub
        - t: away
          kind: sub
        - t: "3."
          kind: num
        - t: How
        - t: many
        - t: left?
          kind: sub
      revealed: 11

Preview

▶ animated
4

Subtract

Worked example. Luna walks one case step by step with the big view — a single big numeral or label, for emphasis / answer-reveal beats, turning the idea into a procedure a child can repeat.

What Luna says

  • 'Gave away' and 'left' tell us to subtract. Eight minus three is five.

In the open config

id: solveB
label: Subtract
beats:
  - say: lwp-9
    caption: "'Gave away' and 'left' tell us to subtract. Eight minus three is five."
    view:
      kind: big
      key: eqB
      text: 8 − 3 = 5
      color: "#fb923c"

Preview

Subtract step of Multi-Step Puzzles (big view)
5

Your turn

Your turn. The lesson hands off to the practice board: the child now answers, applying what the story visual — a word problem read aloud; words reveal as Luna reads, with numbers and action words colour-coded just showed.

What Luna says

  • Read slowly, find the numbers, and look for the action word. You try!

In the open config

id: go
label: Your turn
beats:
  - say: lwp-10
    caption: Read slowly, find the numbers, and look for the action word. You try!
    view:
      kind: story
      key: wB
      words:
        - t: Sam
        - t: had
        - t: "8"
          kind: num
        - t: stickers.
        - t: He
        - t: gave
          kind: sub
        - t: away
          kind: sub
        - t: "3."
          kind: num
        - t: How
        - t: many
        - t: left?
          kind: sub
      revealed: 11

Preview

Your turn step of Multi-Step Puzzles (story view)