Play CodeRealm

Row

LIST / ARRAY

Loading audio…

Press play to listen along. The line being read lights up as you go.

Show full transcript

Loading transcript…

01 Opening
Row beat 1 of 5

Row is not an animal-tween. Row is not a faced figure. Row is a deliberately abstract concrete-object-figure — a long wooden rack of small labeled boxes in a single line, each box marked with a position number starting at 0. Inside each box sits one value. That is the whole figure.

This is essential. CodeRealm's cast is deliberately non-human and non-gendered — concrete objects, not animated people. The design refuses tech-genius-hagiography: the idea that coding is only for one "smart" kind of person. Programming primitives are operations, not personalities.

Row embodies the list (or array) primitive. Where Stash is one labeled box, Row is many boxes in a numbered order. You can reach into position 0, or 2, or 5, and grab exactly that value. You can add a new box to the end. You can walk down the whole row, box by box.

Reflection: have you ever felt the calm relief of having a messy pile finally sorted into a neat, findable order?

02 Row
Row beat 2 of 5

Row has no village-craft family origin — concrete objects don't have biographies. Loop, the mentor, introduces Row by demonstration, not story.

Loop sets Row on the workbench and fills it: box 0 gets "apple", box 1 gets "bread", box 2 gets "milk". "This is Row," Loop says. "A list. Stash held one value. Row holds many, in order, each with a position number."

Loop points to box 2. "Position numbers start at 0, so this third box is number 2. Reach in by its number, and you get exactly that value — milk. No searching the whole rack. Just ask for the position."

The kid watches Loop pull bread straight from box 1. No magic. Just a numbered rack and a position.

03 Row
Row beat 3 of 5

Loop demonstrates Row's moves with Bit, the little robot the learner programs.

"Bit needs a shopping list," Loop says. "So we give Bit a Row." Loop loads the list and shows the scaffolds, one at a time: - Reach by position: list[0] gets the first value (counting starts at 0). - Add to the end: a new box appears at the next number. - Change a box: swap what's inside without moving the box. - Length: count the boxes to know how many there are. - Walk the row: hand the boxes to a loop, one by one, in order.

"A list doesn't decide anything," Loop says. "It doesn't think. It just holds many values in order and lets you reach any of them by number. That's all a list is."

04 Row
Row beat 4 of 5

Loop hands Row to Trek, the loop, so the kid can watch a list and a loop work together — the heart of most real programs.

"Bit, walk the list," Loop says. Trek takes box 0, then 1, then 2, handing each value to Bit. Bit reads apple, then bread, then milk, checking each off. When the boxes run out, the walk ends on its own.

The kid programs Bit to add eggs to the end, then walk the whole list again. Bit reads all four, finishes the last one, and stops. Every item handled, in order, none missed.

Reflection: have you ever felt that satisfying feeling of working through a list until everything was done?

05 Closing
Row beat 5 of 5

Loop sets Row back on the workbench, its numbered boxes neat in a line.

"Here's the honest framing," Loop says. "Row is not a mind. It does not think or decide. It is a numbered rack of boxes — values lined up in order, each reachable by its position. Reach in by number, add to the end, or walk the whole row. That is all a list is."

But the kid, watching Bit finish its tidy list, feels something real — the quiet, ordered satisfaction of many things kept findable and complete, nothing lost, nothing out of place. There's a calm in good order, and the kid feels it.

"This is Row," Loop says on the object's behalf. "The list. Many values, in order, each reachable by its number. Reach in, add on, or walk it through. Honest framing."

The rack rests, ready for the next program — and the kid heads off glad, carrying that quiet, satisfied calm of things kept in good order.

Hear it as an audio drama

A short play starring Row, from CodeRealm. Different voices, same idea. Listen any time after you read.

Loading audio…

Read the drama script
  1. Narrator: From Spark and Anvil and CodeRealm — this is Row, in chapter 1 of the CodeRealm cast.
  2. Narrator: This drama uses an AI-generated voice. Voiced via Gemini 2.5.
  3. Narrator: On the workbench sits a long wooden rack of small labeled boxes in a single line, each box marked with a position number starting at zero. Inside each box, one value. This is Row — and Row is not a person. It's a numbered rack, an operation, not a personality.
  4. Loop: This is Row. An array. Stash held one value. Row holds many, in order, each reachable by its number.
  5. Narrator: Loop fills the rack — box zero gets apple, box one gets bread, box two gets milk. Then he points to box two.
  6. Loop: Here's the one thing that trips everyone at first. The numbering starts at zero. So the third box is index two. It looks off by one until you see why — the index is really how far from the start, and the first box is zero steps from the start.
  7. Narrator: Loop reaches in by index and pulls milk straight out of box two, then bread out of box one — no searching the whole rack.
  8. Loop: Name the position, get the value. Instantly. That's the power an array buys you: direct access by index.
  9. Narrator: Loop shows the moves with Bit, the little robot — reach by index, append to the end, update a box, ask the length, walk the whole row.
  10. Loop: An array doesn't decide anything. It doesn't think. It holds many values in order and lets you reach any of them by number. That is the entire job — and it's exactly enough.
  11. Narrator: Then Loop hands Row to Trek, the loop, so the kid can watch an array and a loop work together.
  12. Loop: Bit — walk the list.
  13. Narrator: Trek takes box zero, then one, then two, handing each value to Bit. Bit reads apple, then bread, then milk, checking each off. When the boxes run out, the walk ends on its own — because the loop runs for each index up to the length, and the length is exactly where it stops.
  14. Kid: I added eggs to the end, and Bit walked all four and finished the last one and stopped. Every item handled, in order, none missed, none read twice.
  15. Loop: Array plus loop. That pairing is most of the programs you'll ever write.
  16. Narrator: Loop set Row back on the bench, its numbered boxes neat in a line.
  17. Loop: Row is not a mind. It doesn't think or decide. It's a numbered rack of boxes — values in order, each reachable by its index from zero. Reach in, append, or walk it through. Honest framing, all the way down.
  18. Narrator: But the kid, watching Bit finish its tidy list, felt something real — the quiet, ordered satisfaction of many things kept findable and complete, nothing lost, nothing out of place. There's a calm in good structure, and the kid felt it, and headed off glad.
  19. Narrator: You've been listening to a Spark and Anvil chapter, written by the Spark and Anvil writing team for ages 9 to 14.
  20. Narrator: Apps stay free forever.
  21. Narrator: Curriculum aligned to Computer Science Teachers Association standards.
  22. Narrator: Released under Creative Commons BY-NC-SA 4.0 for educational reuse. Visit Spark and Anvil for the full transcript.

The CodeRealm ensemble

Row is one of the friends in CodeRealm. Each friend shows you one idea by how they act; meet them all and you have the whole subject.

Kids also liked