JunoJR Learning
Skip to learning content
← Tennis Data Lab: Practice Companion
Mission 1 of 6Public first mission

Turn a practice story into data

Design a small journal that records a goal, an observation, and a reflection for an imaginary player.

Architect skill: Choose a data model that answers a useful question.

The full mission is planned for 75 minutes. Split it into short activities and take breaks. Laptop or desktop with a modern browser for editing. Phones can read the guide and observe or try the preview. Start with fictional data.

Your place, at your pace

Stop after any activity. Ticks are your own notes, not an assessment. Remembering your place is optional and does not sync to another device.

Checklist changes stay in this page unless you choose to remember them.

Jump to the coding workspace ↓

A small activity is enough

Turn an imaginary practice story into records without ranking a real player.

Parent prep · before you start
  • Keep the two standard fictional cards beside the computer.
  • Run the starter without assuming rate calculation or persistence exists yet.

Activity 1 of 3 · 5 minutes

Sort the fields

Child · driver & designer
Separate goal, counts and reflection.
Parent · thinking partner
Read each field and ask whether it is text or a number.
  1. Write goal/reflection as text and attempts/hits as counts.
  2. Name a fictional player, Comet, without real contact or location details.
  3. State one answerable question, such as total attempts.
Look for this: A field sketch distinguishes observation from interpretation.

Walk through an example

Predict before revealing the result, then try the change in the real workspace. This explanation does not run or test your code.

Before

records is [] and summarize initially reports only data.length.

One change

Enter fictional card A with hits 4/attempts 10 and B with hits 18/attempts 20.

Demo prompt 1 of 2

A record's meaning

Fields answer different questions.

Try in the workspace: Show goal, 4/10 counts and reflection separately.

Check what actually happened

Run each check yourself. Mark it only after comparing the actual output with the expectation; a tick does not automatically test your code.

Signs to discuss together

  • Both cards and context appear.
  • The child names a question the data does not answer.

Stuck? Make the problem smaller

Read the output together. Undo your last small change and run again. Export a copy before resetting files. If this device cannot run the project, read the full reference below and use the parent guide to prepare another computer.

No record is added.

Fill the required goal and numeric fields; inspect the browser’s form message.

The fictional records disappear after reload.

This is expected before lesson 5. Keep the paper cards so you can re-enter them.

Explain together

  • What does a count tell you and what does a reflection add?
  • Which extra field might make future comparisons fairer?

Before you pause: A two-record journal, a field/type sketch, and answerable versus unanswered questions. Export workspace files for a portable backup and remember this activity or write its name on paper.

Build, run, observe

Full lesson reference ↓

Use Run in the workspace after one small edit. Browser output is evidence of this browser run; native devices and physical robots need separate checks.

Tennis Practice Companion workspace

Opening the original starter…

Full authored lesson · setup, code, checks & extensions

The complete original lesson is preserved here. Its downloaded-project instructions describe the local development path; the browser introduction above needs no installation. Longer and native/hardware tasks may need the adult-prepared tools listed in the course overview.

By the end, you can…

  • Separate goals, measured counts, and reflections.
  • Create two fictional records through a form.
  • Explain what a record does not tell you.

Keep your starter project and builder notebook open. Make one change at a time and save a working copy before trying the next idea.

1. Meet the fictional player

Player Comet practices aiming at a paper target on an imaginary court. A target reached is one countable result; it does not summarize a whole player.

  1. Write one goal and one observation in separate columns.
  2. Decide which fields are numbers and which are text: goal, attempts, hits, reflection.

2. Run the journal

Open a saved starter copy. Its form creates records in temporary browser memory. No database or player account is involved.

  1. Add record A: 10 attempts, 4 hits, goal “Aim toward center,” reflection “Try another fictional set.”
  2. Add record B: 20 attempts, 18 hits, goal “Repeat center target,” reflection “The second fictional drill used a closer target.”

Fictional practice cards · json

[{"goal":"Aim toward center","attempts":10,"hits":4,"reflection":"Try another fictional set."},{"goal":"Repeat center target","attempts":20,"hits":18,"reflection":"The second fictional drill used a closer target."}]

3. Ask a better question

Comparing two drills requires context. A closer target can change results; the counts alone do not prove improvement.

  1. Find both records on screen and explain each field to a partner.
  2. Write one answerable question, such as total attempts, and one unanswered question, such as whether a real player improved.

Ask your AI coach

Use the JR Playground if configured, or ask an adult to operate their approved coding assistant. These prompts also work as questions for a human partner.

Using these two fictional practice cards, separate observations from interpretations. Give one question the counts answer and one they do not. Do not infer a real player’s ability or prescribe training.

Before accepting its answer

  • Point to a field supporting every observation.
  • Reject “the player improved” because the drill conditions differ and data are fictional.

Prove it works

  1. Test 1: Enter both provided practice cards.

    Expected: Two records show 4/10 and 18/20 with their reflections.

  2. Test 2: Read the summary.

    Expected: It says 2 fictional practice records; a rate has not been implemented yet.

  3. Test 3: Reload before storage is implemented.

    Expected: Records reset, confirming temporary memory rather than a hidden database.

If you get stuck

No record is added.

Fill the required goal and numeric fields; inspect the browser’s form message.

The fictional records disappear after reload.

This is expected before lesson 5. Keep the paper cards so you can re-enter them.

Choose your challenge

Build together · guided
Adult helps type; learner classifies Goal, Count, and Reflection cards.
Take the controls · independent
Learner enters records and explains why context matters.
Go deeper · architecture challenge
Propose a drill-condition field and an explicit comparison rule before writing code.

Save your evidence

A two-record journal, a field/type sketch, and answerable versus unanswered questions.

Reflect: Which single extra field would help make future comparisons fairer?

Try this with your camp team

Use paper targets and invented number cards to act out data collection without ranking real participants.

After the public first mission, a parent or guardian uses the existing access flow to open later authored missions. Your workspace remains available.