Terminal Tutor
Module 05 · Mastery assessment

Are you actually using it?

Four ways to measure what stuck: a rubric, a set of challenges, a self-check students fill in, and oral questions an instructor can ask in two minutes.

The rubric

Four levels of mastery across four dimensions. Use it to score a student's playground session, or have them score themselves.

1 · Lost 2 · Following 3 · Fluent 4 · Independent
Navigation
Lost
Doesn't know where they are. Forgets to pwd. Gets stuck after one cd.
Following
Can navigate with prompts. Uses absolute paths only — afraid of .. and ~.
Fluent
Moves around using both absolute and relative paths. cd → pwd → ls is automatic.
Independent
Navigates without thinking. Uses ~, .., and cd - reflexively. Doesn't need pwd as often because they trust their model.
File operations
Lost
Confuses mkdir and touch. Asks before each command.
Following
Creates, copies, moves with help. Hesitant about rm.
Fluent
Uses all six (mkdir, touch, cp, mv, rm, rmdir) confidently. Knows rm -r is permanent.
Independent
Combines operations with &&. Uses -i or -v defensively when stakes are high.
Mental model
Lost
Treats commands as magic words. Doesn't distinguish terminal from shell.
Following
Can recite the layers but can't apply them when debugging.
Fluent
Knows which layer produced an error. Reads error messages literally.
Independent
Uses the mental model proactively. Predicts what a new command will do from its --help.
Recovery
Lost
Closes the window when an error appears. Starts over.
Following
Tries the same command again, hoping for a different result. Asks for help quickly.
Fluent
Reads errors, identifies the issue (typo, missing arg, wrong dir), tries a fix.
Independent
Uses --help, man, or a search to unblock themselves without panic.

The challenges

Six tasks of escalating difficulty. Students complete them in the Playground. Score 4+ to call it mastered. The interesting ones are the last two.

  1. The warm-up.

    Open the Playground in free-play mode. From your home folder, navigate into ~/Documents, print the working directory, then go back home using ...

    Skills: pwd · cd · ls~2 min
  2. Build a tiny scratch space.

    Make a folder called scratch on your Desktop. Inside it, create three empty files: a.txt, b.txt, c.txt. Confirm with ls.

    Skills: mkdir · touch · ls~3 min
  3. Write something, then read it.

    Put the phrase "Hello from the terminal" into a file called greeting.txt in your scratch folder. Read it back with cat.

    Skills: echo · redirect · cat~3 min
  4. Reorganize.

    Inside scratch, make a subfolder called old. Move a.txt and b.txt into it. cd into old and confirm they're there.

    Skills: mkdir · mv · cd · ls~4 min
  5. Find a needle.

    Add the line "TODO: write more notes" to greeting.txt. Then use grep to print only the lines that contain "TODO".

    Skills: >> · grep · pipes (optional)~5 min
  6. Demolish.

    Delete the entire scratch folder, including everything in it, with a single command. Then confirm it's gone.

    Skills: rm -r · caution~3 min

Self-check

For students. Check the boxes you can do without looking anything up. Don't lie to yourself — the gaps are where the learning is.

Oral questions (for instructors)

Two minutes, four questions. Ask the student in person. You're not looking for textbook answers — you're listening for the mental model.

"What's the difference between a terminal and a shell?"
terminal = window (dumb), shell = the program that reads and interprets your commands. If they say "they're the same thing," go back to Concepts together.
"You type ls and press Enter. Walk me through what happens."
Keystrokes → terminal → shell parses → shell calls kernel → kernel reads disk → bytes come back. Even a rough version of this trace shows the mental model is forming.
"You see 'permission denied'. Who is denying you?"
The kernel. The shell doesn't enforce permissions; the kernel does. Bonus: they mention that they're not allowed to do that specific operation, not that the file is "off limits" generally.
"What's one thing you'd want to learn next?"
A concrete answer — git, ssh, scripting, env vars — means they have a model of what they don't yet know. "I don't know" with curiosity is also fine. "Nothing" is a red flag for false mastery.