Your first line: practice
Main concept: printing, output, strings
3 minutes estimated · Runs here
Requires the earlier idea: Your first line
Level: apply a familiar concept to a changed requirement.
Try a short review, repair one mistake, or choose a topic. Time estimates help you choose; they are not timers.
Complete a concept to receive a personal review recommendation. You can browse topics and their prerequisites now.
Sign in to use your saved progress for personal review. These activities remain available to browse.
53 available activities. Check the earlier idea before choosing an unfamiliar topic.
Main concept: printing, output, strings
3 minutes estimated · Runs here
Requires the earlier idea: Your first line
Level: apply a familiar concept to a changed requirement.
Main concept: strings, printing
3 minutes estimated · Runs here
Requires the earlier idea: Make it your message
Level: apply a familiar concept to a changed requirement.
Main concept: execution-order, printing
3 minutes estimated · Runs here
Requires the earlier idea: Two lines of output
Level: apply a familiar concept to a changed requirement.
Main concept: debugging
3 minutes estimated · Runs here
Requires the earlier idea: Close the message
Level: apply a familiar concept to a changed requirement.
Main concept: numbers, printing
3 minutes estimated · Runs here
Requires the earlier idea: Print a number
Level: apply a familiar concept to a changed requirement.
Main concept: strings, numbers
3 minutes estimated · Runs here
Requires the earlier idea: Digits can be text
Level: apply a familiar concept to a changed requirement.
Main concept: addition, numbers
3 minutes estimated · Runs here
Requires the earlier idea: Let code do the addition
Level: apply a familiar concept to a changed requirement.
Main concept: addition
5 minutes estimated · Runs here
Requires the earlier idea: Calculate a score total
Level: apply a familiar concept to a changed requirement.
Main concept: execution-order
3 minutes estimated · Runs here
Requires the earlier idea: Put the announcement in order
Level: apply a familiar concept to a changed requirement.
Main concept: printing, execution-order, addition
5 minutes estimated · Runs here
Requires the earlier idea: Announce the next round
Level: apply a familiar concept to a changed requirement.
Main concept: local-variables, variable-reading, assignment
3 minutes estimated · Runs here
Requires the earlier idea: Keep track of a value
Level: apply a familiar concept to a changed requirement.
Main concept: local-variables, variable-reading
3 minutes estimated · Runs here
Requires the earlier idea: Change the starting value
Level: apply a familiar concept to a changed requirement.
Main concept: variable-reading, strings
3 minutes estimated · Runs here
Requires the earlier idea: A name versus its value
Level: apply a familiar concept to a changed requirement.
Main concept: assignment, state-updates
3 minutes estimated · Runs here
Requires the earlier idea: See a stored value change
Level: apply a familiar concept to a changed requirement.
Main concept: assignment, state-updates
3 minutes estimated · Runs here
Requires the earlier idea: Change a stored value
Level: apply a familiar concept to a changed requirement.
Main concept: execution-order, state-updates
3 minutes estimated · Runs here
Requires the earlier idea: Show before and after
Level: apply a familiar concept to a changed requirement.
Main concept: variable-reading, debugging
3 minutes estimated · Runs here
Requires the earlier idea: Repair one clear mistake
Level: apply a familiar concept to a changed requirement.
Main concept: local-variables, state-updates, execution-order
5 minutes estimated · Runs here
Requires the earlier idea: Build a small score update
Level: apply a familiar concept to a changed requirement.
Main concept: booleans
4 minutes estimated · Runs here
Requires the earlier idea: Yes or no values
Level: apply a familiar concept to a changed requirement.
Main concept: comparison, boundaries
8 minutes estimated · Runs here
Requires the earlier idea: Compare a number with a boundary
Level: apply a familiar concept to a changed requirement.
Main concept: if-else
4 minutes estimated · Runs here
Requires the earlier idea: Choose between two messages
Level: apply a familiar concept to a changed requirement.
Main concept: if-elseif-else
9 minutes estimated · Runs here
Requires the earlier idea: Choose the right entry message
Level: apply a familiar concept to a changed requirement.
Main concept: functions
4 minutes estimated · Runs here
Requires the earlier idea: Run the same instructions again
Level: apply a familiar concept to a changed requirement.
Main concept: return-values
4 minutes estimated · Runs here
Requires the earlier idea: Give a value back to a caller
Level: apply a familiar concept to a changed requirement.
Main concept: parameters
3 minutes estimated · Runs here
Requires the earlier idea: Give a function one input
Level: apply a familiar concept to a changed requirement.
Main concept: functions, parameters
9 minutes estimated · Runs here
Requires the earlier idea: Calculate rewards from inputs
Level: apply a familiar concept to a changed requirement.
Main concept: return-values, early-return
9 minutes estimated · Runs here
Requires the earlier idea: Return a usable price
Level: apply a familiar concept to a changed requirement.
Main concept: or
3 minutes estimated · Runs here
Requires the earlier idea: Allow either condition
Level: apply a familiar concept to a changed requirement.
Main concept: and
3 minutes estimated · Runs here
Requires the earlier idea: Require both conditions
Level: apply a familiar concept to a changed requirement.
Main concept: not
3 minutes estimated · Runs here
Requires the earlier idea: Reverse a yes or no value
Level: apply a familiar concept to a changed requirement.
Main concept: or, and, not, boundaries
11 minutes estimated · Runs here
Requires the earlier idea: Open the supply gate
Level: apply a familiar concept to a changed requirement.
Main concept: truthiness, nil, defaults
9 minutes estimated · Runs here
Requires the earlier idea: Keep deliberate false settings
Level: apply a familiar concept to a changed requirement.
Main concept: composition, reuse
10 minutes estimated · Runs here
Requires the earlier idea: Reuse one price rule
Level: apply a familiar concept to a changed requirement.
Main concept: numbers, strings, concatenation
7 minutes estimated · Runs here
Requires the earlier idea: Join a value into a label
Level: apply a familiar concept to a changed requirement.
Main concept: tables, arrays, indexing
3 minutes estimated · Runs here
Requires the earlier idea: Keep several values together
Level: apply a familiar concept to a changed requirement.
Main concept: dictionaries
3 minutes estimated · Runs here
Requires the earlier idea: Read a named table entry
Level: apply a familiar concept to a changed requirement.
Main concept: table-updates
3 minutes estimated · Runs here
Requires the earlier idea: Update one inventory entry
Level: apply a familiar concept to a changed requirement.
Main concept: nil
3 minutes estimated · Runs here
Requires the earlier idea: A missing entry has no value
Level: apply a familiar concept to a changed requirement.
Main concept: tables, arrays, indexing
9 minutes estimated · Runs here
Requires the earlier idea: Read the inventory slots
Level: apply a familiar concept to a changed requirement.
Main concept: dictionaries, field-access
9 minutes estimated · Runs here
Requires the earlier idea: Describe an item with named fields
Level: apply a familiar concept to a changed requirement.
Main concept: scope, locals
10 minutes estimated · Runs here
Requires the earlier idea: Keep calculations in their own scope
Level: apply a familiar concept to a changed requirement.
Main concept: table-insert, table-remove, updates
11 minutes estimated · Runs here
Requires the earlier idea: Add and remove inventory items
Level: apply a familiar concept to a changed requirement.
Main concept: table-identity, references, nested-tables
12 minutes estimated · Runs here
Requires the earlier idea: Copy a nested loadout safely
Level: apply a familiar concept to a changed requirement.
Main concept: numeric-for
3 minutes estimated · Runs here
Requires the earlier idea: Repeat a known instruction
Level: apply a familiar concept to a changed requirement.
Main concept: numeric-for, accumulators
10 minutes estimated · Runs here
Requires the earlier idea: Build a numbered objective list
Level: apply a familiar concept to a changed requirement.
Main concept: iteration, ipairs, pairs
10 minutes estimated · Runs here
Requires the earlier idea: Total the inventory quantities
Level: apply a familiar concept to a changed requirement.
Main concept: while, repeat, termination
11 minutes estimated · Runs here
Requires the earlier idea: Charge a lamp without getting stuck
Level: apply a familiar concept to a changed requirement.
Main concept: loops-and-conditions, filtering
11 minutes estimated · Runs here
Requires the earlier idea: Choose unfinished objectives
Level: apply a familiar concept to a changed requirement.
Main concept: errors, tracing
10 minutes estimated · Runs here
Requires the earlier idea: Read the first useful error
Level: apply a familiar concept to a changed requirement.
Main concept: logic-errors, test-design
11 minutes estimated · Runs here
Requires the earlier idea: Find a test that exposes the defect
Level: apply a familiar concept to a changed requirement.
Main concept: booleans, nil, types
8 minutes estimated · Runs here
Requires the earlier idea: Tell false from missing
Level: apply a familiar concept to a changed requirement.
Main concept: missing-data, guards, validation
12 minutes estimated · Runs here
Requires the earlier idea: Repair an incomplete quest tracker
Level: apply a familiar concept to a changed requirement.
Main concept: types, refinement
12 minutes estimated · Runs here
Requires the earlier idea: Describe and refine typed data
Level: apply a familiar concept to a changed requirement.