seed: curriculum content
This commit is contained in:
70
1.solar-system/1.welcome/17.team-build/review/general.md
Normal file
70
1.solar-system/1.welcome/17.team-build/review/general.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# Team Build — Extended Notes
|
||||
|
||||
*Not rendered in the platform yet. Reference for instructors and for
|
||||
future "learn more" surfaces.*
|
||||
|
||||
## Purpose
|
||||
|
||||
The capstone of `1.welcome`. By this point a cadet has used every
|
||||
tool they need: `mkdir`, `echo`, `git init`, `git config`, `git add`,
|
||||
`git commit`, and shell scripting with `chmod +x`. This battle forces
|
||||
them to combine all of it into a single artifact — a working
|
||||
automation script — and to read someone else's script for the first
|
||||
time.
|
||||
|
||||
## Skills Demonstrated
|
||||
|
||||
- Composing learned commands into a sequential program
|
||||
- Writing a script with a correct shebang and execute bit
|
||||
- Producing exact output from automation
|
||||
- Reading another cadet's code well enough to score it
|
||||
- Giving and receiving honest feedback under a time limit
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- **One commit covering all three files** — defenders forget that the
|
||||
spec says *each file commits separately*. Three commits, not one.
|
||||
- **File contents with extra whitespace** — `echo` adds a trailing
|
||||
newline by default, which is fine; trailing spaces on the line are
|
||||
not. Reviewers should `cat -A` to spot invisible characters.
|
||||
- **Missing or wrong identity** — `git commit` will succeed even
|
||||
without `user.name` set if a fallback is configured globally;
|
||||
reviewers should check `git -C mission config user.name` directly.
|
||||
- **Hardcoded absolute paths** — `cd /Users/...` breaks the moment
|
||||
the script runs on someone else's machine. Use relative paths.
|
||||
- **`MISSION READY` printed inside another message** — the spec says
|
||||
"exactly". `echo "Done. MISSION READY now."` should fail review.
|
||||
- **Forgetting `chmod +x`** — script runs fine via `bash launch.sh`
|
||||
but fails when executed directly. Reviewers should test both.
|
||||
|
||||
## Discussion Prompts (post-battle)
|
||||
|
||||
Ask the pair to discuss for 5 minutes after both rounds:
|
||||
|
||||
1. Whose script was easier to read? Why?
|
||||
2. Was anything in the spec ambiguous? How would you tighten it?
|
||||
3. What would you do differently if you wrote this from scratch
|
||||
today?
|
||||
4. Did you find a bug your partner missed?
|
||||
|
||||
## Alternative Approaches
|
||||
|
||||
A cadet who's seen heredocs might write:
|
||||
|
||||
```bash
|
||||
cat > manifest.txt <<EOF
|
||||
Mission Apollo
|
||||
EOF
|
||||
```
|
||||
|
||||
Both `echo "..." > file` and heredoc are acceptable. The spec
|
||||
doesn't require a specific style — only that the resulting file
|
||||
content match exactly.
|
||||
|
||||
## Why This Is the Last Block of Welcome
|
||||
|
||||
This is the bridge between mechanical skill (typing commands) and
|
||||
real engineering (composing them, reading others' code, judging
|
||||
quality). Cadets who pass this battle have proven they can act as
|
||||
both author and reviewer — the foundational loop of every
|
||||
collaborative codebase. Python is built on this foundation.
|
||||
Reference in New Issue
Block a user