kangwonlee / kangwonlee/nmisp

Pedagogy: move 00_introduction/35_numpy_matplotlib → 06_python_advanced/{60_numpy_basics, 70_matplotlib_basics}

Open
#400 0 comments 0 reactions 0 assignees View on GitHub
pedagogy
Dominant language
Jupyter Notebook
Stars
12
Forks
76
PR merge metrics
No merged PRs in 30d

Description

## Goal

`00_introduction/35_numpy_matplotlib.ipynb` is solid focused content but combines two libraries. With the `00_introduction` restructure (motivation only), libraries move to `06_python_advanced`. Splitting numpy and matplotlib into separate notebooks at the same time gives each library room to grow exercises and explanation.

## Scope

Create:

- `06_python_advanced/60_numpy_basics.ipynb` — `np.array`, `np.linspace`, `np.zeros`/`ones`, element-wise vs list ops, indexing/slicing, `reshape`, broadcasting introduction
- `06_python_advanced/70_matplotlib_basics.ipynb` — `plt.subplots`, line/scatter, labels/legends/styles, `fig`+`ax` pattern, common gotchas

Retire `00_introduction/35_numpy_matplotlib.ipynb` after split.

## Why

- Two libraries → two notebooks; matches `03_python_basics` granularity.
- Lets numpy basics include broadcasting (currently absent in 35) without bloating one file.
- Both are heavily referenced from chapters 10+; needs to be findable as standalone topics.

## Acceptance

- [ ] Both new notebooks exist and run end-to-end.
- [ ] Each has at least 2 exercises (matching the original's pattern).
- [ ] Modern matplotlib API (no `pylab`; per #390).
- [ ] Old `35_numpy_matplotlib.ipynb` removed.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.