Learning packs

Free / Grades 4-6, with reading support

Paper Program Studio

Can your instructions make a drawing that someone else can reproduce without guessing?

6 flexible sessions / about 225 minutes including practice / computing, math, reading and art

Suggested rhythm: two sessions a week for three weeks. Week 1: plan and trace. Week 2: choose and repeat. Week 3: test, revise and demonstrate. Pause or spread sessions out as needed; there is no deadline on this page.

Reading, watching and paper activities are free. Parents and instructors can save a collection; scheduling it for a student requires Plus or Lifetime. No upload is required.

Open project notebook

Before you begin

Add small whole numbers, compare at least with greater than, and follow written steps in order. The first lesson reviews the basics before variables, choices and loops. An adult can read aloud or record an explanation.

Paper, not executable code. All instructions use our defined teaching notation, not a real programming language. Do not paste them into a terminal, download software or change a device. Use invented labels, not passwords, account details or personal information. A drawing tool, pointing or dictation is enough.

Materials

Choose the support that fits

What good evidence looks like

These are discussion criteria, not a new automatic score. Existing lesson and worksheet records keep their own subjects. Checking off a planned task does not demonstrate mastery or add a second grade.

Session 1 / about 35 minutes

Plan a badge printer

Goal: Describe a drawing precisely enough that another person need not invent missing steps.

Preparation / about 5 minutes of adult support: Have journal 1 and a draft sheet ready. Keep that draft for later sessions. A partner is optional: the learner can trace their own instructions slowly.

Our pretend printer follows only the stated drawing instructions. A useful instruction names the shape, count and position. For example, "draw two dots beside each other below the square" is clearer than "make it look nice." Plan the drawing before tracing it. A different drawing is evidence to inspect, not a reason to blame the person following the program.

Worked teaching example showing how a drawing grows as its instructions run in order.
Teaching example, separate from the journal investigation.

Ask which detail a reader would have to guess. Try the instruction literally, then add the missing count or position. There may be more than one correct sequence.

  1. Programming basics: one step at a time / about 5 minutes
  2. Programming Basics: Read a Tiny Program / about 8 minutes
  3. Draft the badge instructions / about 22 minutes

Fun fact: Computer science can be explored with paper instructions and a person following them; a powered computer is not required for every activity. Source

S3U / Paper Program Studio / Journal 1 of 6

A drawing without mind reading

Target for this first draft: one square above a left-to-right row of four separate dots, with one line below the row. Write your instructions on the draft sheet. Follow them without filling in an unstated step.

Session 1 evidence
PartWhat must be specified?
HeaderOne square above the dots
Dot rowFour separate dots, left to right
FooterOne line below the dots
Your traced badge; use labels if drawing is difficult.

Which instruction needed more detail? Record its old and improved wording.

Point to a matching detail in your drawing above. Which words specify it?

Session 2 / about 35 minutes

Trace a changing number

Goal: Separate a variable update from displaying its current value.

Preparation / about 5 minutes of adult support: Have journal 2 and the first draft. Use a small value table; do not rely on remembering all the updates in your head.

A variable is a name for a value. In our notation SET dots TO dots + 2 reads the old number, adds two, then replaces it. If dots was 2, it becomes 4. SHOW dots displays 4 but leaves the value unchanged. An assignment is not an equation claiming the old and new numbers are equal. Later our printer will receive a number instead of always drawing four dots.

Worked variable trace distinguishing a stored value update from a displayed output.
Teaching example, separate from the journal investigation.

Ask whether SET dots TO 2 and SET dots TO dots + 2 do the same thing. Trace both from an initial value of 3, on separate runs.

  1. Programming basics: follow a changing value / about 5 minutes
  2. Programming Basics: Track a Variable / about 10 minutes
  3. Trace the badge count / about 20 minutes

Fun fact: A displayed number and a stored value are different things. In Python, assignment names a value; a later assignment can replace that binding. Source

S3U / Paper Program Studio / Journal 2 of 6

What is stored? What was shown?

Start a fresh run with nothing stored. SET creates or replaces the named value; SHOW displays it without changing it. For a row with no display, write "none" in the last column.

Session 2 evidence
Instructiondots after itDisplayed on this step
SET dots TO 1
SET dots TO dots + 2
SHOW dots
SET dots TO 2

What was displayed, and what is stored at the end? Why can those answers differ?

How would accepting an input number make your first badge program more flexible?

Session 3 / about 35 minutes

Choose one header

Goal: Use an inclusive boundary to select exactly one branch.

Preparation / about 5 minutes of adult support: Have journal 3 and the draft sheet. Read "at least 2" together before using the comparison. Keep the old fixed-square version.

The new badge rule accepts an input n that is a whole number from 0 through 4. IF n is at least 2, draw a square header; ELSE draw a circle header. END IF closes this choice. Exactly one branch runs. For n = 3 the header is a square. For n = 0 it is a circle. The condition changes the header, not the value of n.

Worked IF and ELSE example with separate true and false paths; only one path is followed.
Teaching example, separate from the journal investigation.

Ask what happens at exactly 2, then at 1. What would change if the condition said greater than 2? Explain the boundary before drawing.

  1. Programming basics: choose a branch / about 5 minutes
  2. Programming Basics: Choose One Branch / about 10 minutes
  3. Test both badge headers / about 20 minutes

Fun fact: A choice can contain instructions that a particular run never uses. That is why one test input may not exercise both branches. Source

S3U / Paper Program Studio / Journal 3 of 6

Both sides and the boundary

Use IF n is at least 2: square; ELSE: circle. Start each run afresh. The accepted inputs are whole numbers 0 through 4; do not silently convert text or other numbers.

Session 3 evidence
Input nAt least 2?Header
0
1
2
4

Why does exactly 2 take that branch? Which input would expose a mistaken greater-than-only comparison?

Add this choice to a new version of your instructions. Which old step does it replace?

Session 4 / about 40 minutes

Repeat dots, not everything

Goal: Combine a choice and a bounded loop while keeping the footer outside the repeated body.

Preparation / about 5 minutes of adult support: Use journal 4 and a revised-program sheet. Keep the first draft. No live coding tool or download is needed.

After the header choice, REPEAT n TIMES runs the enclosed dot instruction. Each pass places one separate dot at the next place in the row, left to right. END REPEAT closes the body. DRAW one line below the row comes afterward. With n = 3 there are three dots but only one footer line. With zero repeats, no dots are drawn; the header and footer still happen.

Worked loop drawing repeated dots with one separate line after the loop.
Teaching example, separate from the journal investigation.

Ask which instructions run once and which repeat. Read END IF and END REPEAT aloud to make both boundaries clear.

  1. Programming basics: repeat and debug / about 5 minutes
  2. Programming Basics: Repeat a Group of Steps / about 10 minutes
  3. Combine the badge program / about 25 minutes

Fun fact: Zero repetitions can leave the loop body unused while later instructions still run. Python also permits iteration over an empty range. Source

S3U / Paper Program Studio / Journal 4 of 6

One body, several runs

Use your header choice from session 3. Repeat only DRAW one next dot, n times. After END REPEAT, draw one line below the row. For zero, leave an empty dot row between the header and line. Predict the counts before tracing.

Session 4 evidence
Input nHeaderDots / footer lines
0
1
2
4

Mark the loop body in your revised program. Which drawing instructions remain outside it?

Explain why an input of zero does not produce a completely blank page.

Session 5 / about 40 minutes

Find a mistake that one test misses

Goal: Compare expected and actual results, make a specific repair and test again.

Preparation / about 8 minutes of adult support: Set out both draft versions and journal 5. A connected adult may read the instructions literally; a private self-trace is equally usable.

A test starts with an expected result from the badge rule, not from the possibly mistaken code. Here is a broken version: after the correct header choice, repeat BOTH "draw next dot" and "draw a line below" n times. At n = 1, the counts happen to look right. At n = 2, two footer lines appear instead of one. Move only the footer instruction after END REPEAT, then test the old and new cases again.

Worked debugging comparison showing an intended output, an actual result and a changed instruction.
Teaching example, separate from the journal investigation.

Ask for a precise comparison: "I expected one line but traced two" gives more useful feedback than "it is wrong." Record a question, not a judgment about the learner.

  1. Predict the broken program / about 12 minutes
  2. Trace, compare and ask / about 13 minutes
  3. Repair and retest the badge / about 15 minutes

Fun fact: A passing example is not proof that every input works. In this project, testing only 1 misses a footer that was accidentally placed inside the loop.

S3U / Paper Program Studio / Journal 5 of 6

A useful bug report

Broken version: correct header; REPEAT n TIMES {draw next dot; draw one footer line}; END REPEAT. Only the footer placement is wrong. Compare it with the target rule, then repair it.

Session 5 evidence
InputExpected linesBroken lines / repaired lines
0
1
2
4

Which test passed even before the repair? Why was that test insufficient?

Record the exact instruction you moved and the evidence that your repair worked.

Session 6 / about 40 minutes

Demonstrate, explain and revise

Goal: Present a reproducible program, its test evidence and a reasoned revision.

Preparation / about 10 minutes of adult support: Bring all six journal pages and both program sheets. Invite a connected adult if available, or rehearse privately and save a question for later. Nobody is monitoring live.

A convincing demonstration connects a rule, a prediction, a trace and the final drawing. Keep your first draft so you can explain what changed. A decorative border is welcome, but it must not hide the header, dot count or single footer. When you receive a question, point to a step or test case. It is fine to revise and rerun instead of pretending the first draft was perfect.

Worked example breaking a larger programming task into smaller named jobs.
Teaching example, separate from the journal investigation.

Ask the learner to explain the input 2 and the input 0 without giving away the result first. Then ask which change made their instructions more precise.

  1. Prepare the final badge program / about 15 minutes
  2. Demonstrate and explain the tests / about 15 minutes
  3. Reflect and choose a next change / about 10 minutes

Fun fact: The same finished picture can come from different instruction sequences. A drawing alone does not reveal every step that produced it.

S3U / Paper Program Studio / Journal 6 of 6

My program and its evidence

Use your own revised badge program. Keep the input, header, dot and footer rules from this project. Explain it privately or to a connected adult; no upload, public post or recording is required.

Session 6 evidence
EvidenceWhere can I point to it?
Accepted input and header choice
Loop body and single footer
Tests: 0, 1, 2 and 4
Old version and justified revision

A question I asked or received, the change I made, and the test I repeated:

What would I change next, and which result would I predict before trying it?

What changed in your explanation?

Show your evidence, explain one revision, and choose a question to investigate next. You can keep everything on paper.

Optional: record actual offline learning in Learning Records. Keep reported minutes separate from website time. For an assigned pack, use your existing daily tasks; this page does not award additional completion credit.

Sources