Meta: 00_introduction restructure — motivation chapter + 03_python_basics + 06_python_advanced
- Dominant language
- Jupyter Notebook
- Stars
- 12
- Forks
- 76
- PR merge metrics
- No merged PRs in 30d
Description
This issue is the **single source of truth** for the introductory-chapter restructure. Each row links to an atomic issue that does the actual work. Read this for the big picture, then click into the atomic issue you want to pick up.
## Vision
`00_introduction/` becomes a **motivational chapter** (why use computers for math; why floats are tricky). Python-language teaching moves to a new `03_python_basics/`. Python-toolbox teaching (libraries, advanced idioms, case studies) moves to a new `06_python_advanced/`.
## End-state tree
### `00_introduction/` — motivation
- `00_introduction.ipynb` — why we use computers to solve math problems
- `10_floating_point.ipynb` — kept; opens with the `(2^64)` vs uncountable-reals hook
### `03_python_basics/` — core Python language (split from `00/20_python_review`)
- `10_numbers_operators` · `20_variables_functions` · `30_strings`
- `40_lists_tuples` · `50_dicts_sets` · `60_control_flow` · `70_file_io`
### `06_python_advanced/` — Python toolbox + libraries + case studies
- `10_testing_debugging`
- `20_writing_modules`
- `30_comprehensions`
- `40_classes`
- `50_functional_programming` (from `00/30`)
- `55_pathlib_files` (from `00/30`)
- `60_numpy_basics` (split from `00/35`)
- `70_matplotlib_basics` (split from `00/35`)
- `80_circle_case_study` (moved from `00/40` after content fix)
- `90_pandas` (merged from `00/50` + `20/30`)
## Atomic issues — checklist
- [ ] #390 — Maintenance: migrate `pylab` → `matplotlib.pyplot` + `numpy` (33 notebooks)
- [ ] #391 — split `20_python_review` → `03_python_basics/`
- [ ] #392 — testing & debugging notebook (`06/10`)
- [ ] #393 — writing your own module (`06/20`)
- [ ] #394 — comprehensions standalone (`06/30`)
- [ ] #395 — classes mini-notebook (`06/40`)
- [ ] #396 — reframe `00_introduction` (motivation + floating-point hook)
- [ ] #397 — complete `40_how_to_draw_a_circle` (hint + solution + exercises)
- [ ] #398 — merge pandas (`00/50` + `20/30` → `06/90`)
- [ ] #399 — move `30_python_review_2` → `06/50` + `06/55`
- [ ] #400 — move `35_numpy_matplotlib` → `06/60` + `06/70`
- [ ] #401 — move `40_circle` → `06/80`
## Ordering constraints
- **#397 before #401** — fix circle content first, then move it.
- **#394 before #399** — extract comprehensions before retiring `30_python_review_2`.
- **#390 before content rewrites** that touch the same notebook (or do the pylab cleanup as part of the rewrite).
- **Deletions are last**: `00/30`, `00/35`, `00/40`, `00/50`, `20/30` only get removed after their replacement(s) are in place and CI is green.
## Open questions
1. **Is `06_python_advanced/` overcrowded** at 10 notebooks? Could split scientific-Python (60/70/80/90) into a future `09_scientific_python/`. Defer the decision until 06 is populated and we can judge.
2. **pathlib placement**: `03_python_basics/70_file_io` or `06_python_advanced/55_pathlib_files`? See #399 body for discussion.
3. **`00_introduction.ipynb` size**: motivation chapter could stay tiny (10–20 cells) or grow into a "course tour." Trade-off in #396.
## Why a meta issue
Each atomic issue stays focused on one notebook. This meta issue tracks the composition so:
- One read-once view of the end-state.
- Cross-cutting decisions (folder names, ordering) get one discussion thread.
- Anyone — including future contributors and scheduled agents — can see what's done and what's next.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.