🏜️ Luna's Math Quest

Carry Canyon

Column addition and subtraction with carrying and borrowing, rounding, and first story problems.

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

Long Addition

board long-addbands 0–2concept addition
How this station is declared (YAML)
id: cc-add
title: Long Addition
icon: ➕
board: long-add
bands:
  - 0
  - 2
lesson: long-add
concept: addition

Lesson: Long Addition — 4 steps

1

Stack them

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

  • For bigger numbers, we stack them — ones under ones, tens under tens.

In the open config

id: lineup
label: Stack them
beats:
  - say: lla-1
    caption: For bigger numbers, we stack them — ones under ones, tens under tens.
    view:
      kind: column
      key: a1
      op: +
      result: ""
      carry: {}
      active: null
      top: 34
      bottom: 12

Preview

Stack them step of Long Addition (column view)
2

Add columns

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

  • Always start on the right, with the ones. Four plus two is six.
  • Then the tens. Three plus one is four.
  • Thirty-four plus twelve is forty-six!

In the open config

id: nocarry
label: Add columns
beats:
  - say: lla-2
    caption: Always start on the right, with the ones. Four plus two is six.
    view:
      kind: column
      key: a1
      op: +
      result: "6"
      carry: {}
      active: 0
      top: 34
      bottom: 12
  - say: lla-3
    caption: Then the tens. Three plus one is four.
    view:
      kind: column
      key: a1
      op: +
      result: "46"
      carry: {}
      active: 1
      top: 34
      bottom: 12
  - say: lla-4
    caption: Thirty-four plus twelve is forty-six!
    view:
      kind: column
      key: a1
      op: +
      result: "46"
      carry: {}
      active: null
      top: 34
      bottom: 12

Preview

▶ animated
3

Carrying

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, what if the ones add up to ten or more? Let's try twenty-seven plus forty-eight.
  • Seven plus eight is fifteen. Fifteen is too big for one box, so we write the five and carry the one ten up to the tens column.
  • Now the tens: the carried one, plus two, plus four, makes seven.
  • Twenty-seven plus forty-eight is seventy-five!

In the open config

id: carry
label: Carrying
beats:
  - say: lla-5
    caption: Now, what if the ones add up to ten or more? Let's try twenty-seven plus forty-eight.
    view:
      kind: column
      key: a2
      op: +
      result: ""
      carry: {}
      active: null
      top: 27
      bottom: 48
  - say: lla-6
    caption: Seven plus eight is fifteen. Fifteen is too big for one box, so we write the five and carry the one ten up to the tens column.
    view:
      kind: column
      key: a2
      op: +
      result: "5"
      carry:
        "1": "1"
      active: 0
      top: 27
      bottom: 48
  - say: lla-7
    caption: "Now the tens: the carried one, plus two, plus four, makes seven."
    view:
      kind: column
      key: a2
      op: +
      result: "75"
      carry:
        "1": "1"
      active: 1
      top: 27
      bottom: 48
  - say: lla-8
    caption: Twenty-seven plus forty-eight is seventy-five!
    view:
      kind: column
      key: a2
      op: +
      result: "75"
      carry:
        "1": "1"
      active: null
      top: 27
      bottom: 48

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

  • Line up the digits, add each column, and carry whenever you reach ten. You try!

In the open config

id: go
label: Your turn
beats:
  - say: lla-9
    caption: Line up the digits, add each column, and carry whenever you reach ten. You try!
    view:
      kind: column
      key: a2
      op: +
      result: "75"
      carry:
        "1": "1"
      active: null
      top: 27
      bottom: 48

Preview

Your turn step of Long Addition (column view)

Long Subtraction

board long-subbands 0–2concept subtraction
How this station is declared (YAML)
id: cc-sub
title: Long Subtraction
icon: ➖
board: long-sub
bands:
  - 0
  - 2
lesson: long-sub
concept: subtraction

Lesson: Long Subtraction — 4 steps

1

Stack them

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

  • We stack subtraction the same way — ones under ones — and start on the right.

In the open config

id: lineup
label: Stack them
beats:
  - say: lls-1
    caption: We stack subtraction the same way — ones under ones — and start on the right.
    view:
      kind: column
      key: s1
      op: −
      result: ""
      carry: {}
      active: null
      top: 48
      bottom: 23

Preview

Stack them step of Long Subtraction (column view)
2

Subtract

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

  • Eight minus three is five.
  • Then the tens: four minus two is two.
  • Forty-eight minus twenty-three is twenty-five.

In the open config

id: noborrow
label: Subtract
beats:
  - say: lls-2
    caption: Eight minus three is five.
    view:
      kind: column
      key: s1
      op: −
      result: "5"
      carry: {}
      active: 0
      top: 48
      bottom: 23
  - say: lls-3
    caption: "Then the tens: four minus two is two."
    view:
      kind: column
      key: s1
      op: −
      result: "25"
      carry: {}
      active: 1
      top: 48
      bottom: 23
  - say: lls-4
    caption: Forty-eight minus twenty-three is twenty-five.
    view:
      kind: column
      key: s1
      op: −
      result: "25"
      carry: {}
      active: null
      top: 48
      bottom: 23

Preview

▶ animated
3

Borrowing

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

  • Sometimes the top digit is too small. Try fifty-two minus twenty-seven.
  • Two minus seven? We can't do that, so we borrow. We take one ten from the five, so it becomes four, and the two ones become twelve.
  • Now twelve minus seven is five.
  • And four minus two is two.

In the open config

id: borrow
label: Borrowing
beats:
  - say: lls-5
    caption: Sometimes the top digit is too small. Try fifty-two minus twenty-seven.
    view:
      kind: column
      key: s2
      op: −
      result: ""
      carry: {}
      active: null
      top: 52
      bottom: 27
  - say: lls-6
    caption: Two minus seven? We can't do that, so we borrow. We take one ten from the five, so it becomes four, and the two ones become twelve.
    view:
      kind: column
      key: s2
      op: −
      result: ""
      carry:
        "0": "12"
        "1": "4"
      active: 0
      top: 52
      bottom: 27
  - say: lls-7
    caption: Now twelve minus seven is five.
    view:
      kind: column
      key: s2
      op: −
      result: "5"
      carry:
        "0": "12"
        "1": "4"
      active: 0
      top: 52
      bottom: 27
  - say: lls-8
    caption: And four minus two is two.
    view:
      kind: column
      key: s2
      op: −
      result: "25"
      carry:
        "0": "12"
        "1": "4"
      active: 1
      top: 52
      bottom: 27

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

  • Fifty-two minus twenty-seven is twenty-five! Borrow whenever the top digit is too small. You try!

In the open config

id: go
label: Your turn
beats:
  - say: lls-9
    caption: Fifty-two minus twenty-seven is twenty-five! Borrow whenever the top digit is too small. You try!
    view:
      kind: column
      key: s2
      op: −
      result: "25"
      carry:
        "0": "12"
        "1": "4"
      active: null
      top: 52
      bottom: 27

Preview

Your turn step of Long Subtraction (column view)
🎯

Rounding

board roundingbands 0–2concept rounding
How this station is declared (YAML)
id: cc-round
title: Rounding
icon: 🎯
board: rounding
bands:
  - 0
  - 2
lesson: rounding
concept: rounding

Lesson: Rounding — 5 steps

1

Round numbers

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

  • A round number ends in zero — like ten, twenty, thirty. They are nice and tidy to work with.

In the open config

id: what
label: Round numbers
beats:
  - say: lrnd-1
    caption: A round number ends in zero — like ten, twenty, thirty. They are nice and tidy to work with.
    view:
      kind: big
      key: rn
      text: 10  20  30  40
      color: "#22d3ee"

Preview

Round numbers step of Rounding (big view)
2

Round up

Worked example. Luna walks one case step by step with the roundline view — a number line showing which nearby multiple a value rounds to, turning the idea into a procedure a child can repeat.

What Luna says

  • Rounding finds the nearest round number. Is forty-seven closer to forty, or to fifty?
  • Forty-seven is past the middle, so it rounds up to fifty.

In the open config

id: up
label: Round up
beats:
  - say: lrnd-2
    caption: Rounding finds the nearest round number. Is forty-seven closer to forty, or to fifty?
    view:
      kind: roundline
      key: r47
      v: 47
      unit: 10
  - say: lrnd-3
    caption: Forty-seven is past the middle, so it rounds up to fifty.
    view:
      kind: roundline
      key: r47
      v: 47
      unit: 10

Preview

Round up step of Rounding (roundline view)
3

Round down

Worked example. Luna walks one case step by step with the roundline view — a number line showing which nearby multiple a value rounds to, turning the idea into a procedure a child can repeat.

What Luna says

  • Now forty-three. It sits below the middle, so it rounds down to forty.

In the open config

id: down
label: Round down
beats:
  - say: lrnd-4
    caption: Now forty-three. It sits below the middle, so it rounds down to forty.
    view:
      kind: roundline
      key: r43
      v: 43
      unit: 10

Preview

Round down step of Rounding (roundline view)
4

Halfway

Worked example. Luna walks one case step by step with the roundline view — a number line showing which nearby multiple a value rounds to, turning the idea into a procedure a child can repeat.

What Luna says

  • And exactly halfway, like forty-five? The rule is: halfway always rounds up — to fifty.

In the open config

id: half
label: Halfway
beats:
  - say: lrnd-5
    caption: "And exactly halfway, like forty-five? The rule is: halfway always rounds up — to fifty."
    view:
      kind: roundline
      key: r45
      v: 45
      unit: 10

Preview

Halfway step of Rounding (roundline view)
5

Your turn

Your turn. The lesson hands off to the practice board: the child now answers, applying what the roundline visual — a number line showing which nearby multiple a value rounds to just showed.

What Luna says

  • Look at the ones digit: five or more rounds up, less than five rounds down. You try!

In the open config

id: go
label: Your turn
beats:
  - say: lrnd-6
    caption: "Look at the ones digit: five or more rounds up, less than five rounds down. You try!"
    view:
      kind: roundline
      key: r47b
      v: 47
      unit: 10

Preview

Your turn step of Rounding (roundline view)
📖

Story Problems

board word-1stepbands 0–2concept word-problems
How this station is declared (YAML)
id: cc-words
title: Story Problems
icon: 📖
board: word-1step
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 Story Problems (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 Story Problems (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 Story Problems (story view)