Coding activity
Version Control Story
Write a story and save copies as you go! Each time you add to the story, keep the old version too. If you make a mistake, you can go back to an earlier version!
Materials and setup
- paper
- colored pens
- folders
- sticky notes
How this changes by age
Pre-K (ages 3–4)
Write a story and save copies as you go! Each time you add to the story, keep the old version too. If you make a mistake, you can go back to an earlier version!
Steps
- Start a story on paper: draw a character and write one sentence (with help).
- Copy the page (parent helps). Write: 'Version 1' on the copy. Put it in a folder.
- Add to the story: draw another character, write another sentence. Copy again: 'Version 2.'
- Keep going for 3-4 versions. You now have a folder of saved versions!
- What if you liked version 2 better? Pull it out! You can always go back. 'That is called a backup!'
- Tell a grown-up one thing that surprised you.
Learning objectives
- Understand that saving copies lets you go back to an earlier version
- Practice creating sequential versions of a project
- Experience the safety of being able to undo a mistake by reverting
Kindergarten (ages 5–6)
Build a story with save points! Write a collaborative story where everyone adds a part. Keep track of who wrote what and when. If someone's addition does not work, revert to the previous save!
Steps
- Start a story. Writer 1 adds a paragraph. Copy the page and label it: 'V1 — by Writer 1 — date.'
- Writer 2 adds the next part. Copy and label: 'V2 — by Writer 2 — date.'
- Writer 3 adds a part that does not make sense (on purpose!). Copy and label V3.
- Discuss: 'V3 does not fit the story. Let us go back to V2 and try a different addition.' Make V4 from V2.
- Show the folder of versions: 'We can see the whole history of our story and who changed what!'
- Tell a grown-up one thing that surprised you.
Learning objectives
- Label versions with author and date information
- Practice reverting to an earlier version when a change does not work
- Track the history of changes made by different contributors
Early elementary (ages 6–8)
Learn version control by managing a collaborative project! Use branching (separate copies for experiments), merging (combining changes), and commit messages (explaining what changed). Your paper system works like Git!
Steps
- Start a group story (the 'main branch'). After 2 paragraphs, make 2 copies (branches): 'Adventure Branch' and 'Mystery Branch.'
- Each branch writer adds a different paragraph to their copy. Write a commit message: 'Added a dragon chase scene.'
- Compare branches: which addition is better? Vote as a group.
- Merge the winning branch: add its paragraph to the main story. Write: 'Merged Adventure Branch into Main.'
- Conflict! What if both branches changed the same sentence differently? Discuss and pick the best version.
- Review the log: list every version, branch, merge, and commit message. You now have a project history!
- In one sentence, tell a parent or sibling what surprised you today.
Learning objectives
- Create branches to experiment with different changes independently
- Write descriptive commit messages that explain what changed and why
- Resolve merge conflicts by comparing and choosing between competing changes
Upper elementary (ages 8–10)
Master version control concepts used by developers. Simulate a full Git workflow on paper: repositories, branches, commits, merges, pull requests, and conflict resolution. Collaborate on a project with multiple contributors.
Steps
- Set up a 'repository': a folder with numbered pages. Page 1 is the initial project. Write 'commit: Initial project — author — date' on a log sheet.
- Create a feature branch: copy the current project. Make changes on the branch. Log each change as a commit with a message.
- Another person creates a different branch from the same starting point. Both work independently.
- Merge both branches into main. If both changed the same section, resolve the conflict by discussing and choosing the best combination.
- Explore the full log: every commit, every branch, every merge. Discuss: 'Why is this important when lots of programmers work on the same codebase?'
- In one sentence, tell a parent or sibling what surprised you today.
Learning objectives
- Execute a complete version control workflow with branching, committing, and merging
- Conduct code reviews through pull requests with constructive feedback
- Understand why version control is essential for collaborative software development
Safety and evidence note
Read the full activity before beginning. An adult should supervise tools, heat, food, outdoor work, movement, and experiments as appropriate. Completion records that the activity was done; the child’s explanation, work sample, photo, or demonstration is stronger evidence of learning than a completion check alone.
Related coding activities
AI Explorers
Train a pretend 'robot brain'! Show it 5 cat pictures and 5 dog pictures, then test if it can guess a new one.
Algorithm Art
Follow step-by-step drawing instructions to create a picture. The instructions are your algorithm! Each step adds one shape or line.
API Restaurant
Play restaurant! The customer tells the waiter what they want, the waiter tells the kitchen, and the kitchen makes it. The waiter is the messenger — just like how computers talk to each other!
App Design Workshop
Design your dream app! Draw what you'd see on a phone screen. What would your app do? What buttons would it have?