De-slop: remove every em-dash + banned words across all modules + capstone (#94)
Sync course wiki / sync-wiki (push) Successful in 4s

Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
This commit was merged in pull request #94.
This commit is contained in:
2026-06-22 23:21:22 -04:00
committed by Claude (agent)
parent 513d7e7ac8
commit c098933f25
99 changed files with 1324 additions and 1315 deletions
@@ -1,16 +1,16 @@
# Demo app `tasks` (Module 13 copy)
# Demo app: `tasks` (Module 13 copy)
The same tiny task tracker from Modules 1 and 2, with one feature added: a `count` command backed
by `TaskList.pending_count()`. Use this copy for the Module 13 lab so everyone starts from the same
code including the same latent bug.
code, including the same latent bug.
If you already have a `tasks-app` from earlier modules, you can use that instead; just make sure it
has a `count` command (the Module 2 lab added one). The planted bug in this copy is there on purpose.
## Files
- `tasks.py` core logic (`Task`, `TaskList`), now with `pending_count()`.
- `cli.py` command-line front end. Adds `count`.
- `tasks.py`: core logic (`Task`, `TaskList`), now with `pending_count()`.
- `cli.py`: command-line front end. Adds `count`.
## Run it
@@ -22,4 +22,4 @@ python cli.py list
python cli.py count
```
Requires Python 3.10+. No third-party packages tests use the standard library `unittest`.
Requires Python 3.10+. No third-party packages; tests use the standard library `unittest`.
@@ -2,7 +2,7 @@
Same running example from Modules 1 and 2, carried forward. It has grown one feature since then:
a `pending_count()` helper that the AI added to back a `count` command. The feature "works" in
the obvious case which is exactly the kind of code this module teaches you to verify properly.
the obvious case, which is exactly the kind of code this module teaches you to verify properly.
"""
from dataclasses import dataclass, field