kangwonlee / kangwonlee/nmisp

Pedagogy: split 20_python_review into focused notebooks under 03_python_basics/

Open
#391 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/20_python_review.ipynb` is roughly 356 cells covering arithmetic, variables, strings, functions, lists/tuples/dicts/sets, control flow, file I/O, modules, type hints, and assertions in a single notebook. That makes it slow to navigate, hard to revisit a single concept, and slow to render in Colab.

## Scope

Create new directory `03_python_basics/` with focused notebooks (≤ ~80 cells each, 2–3 exercises per notebook):

- `10_numbers_operators.ipynb` — int / float / complex, arithmetic, operator precedence
- `20_variables_functions.ipynb` — assignment, function definition, return vs print, scope
- `30_strings.ipynb` — indexing, slicing, methods, f-strings
- `40_lists_tuples.ipynb` — sequences, mutation, common operations
- `50_dicts_sets.ipynb` — key-value, common operations
- `60_control_flow.ipynb` — if / elif / else, for, while, break / continue
- `70_file_io.ipynb` — `with open`, read / write, encoding

The existing `00_introduction/20_python_review.ipynb` can be retired or repurposed as a one-page index linking to the new notebooks.

## Why

- Easier for learners to find and revisit a single concept.
- Smaller notebooks render faster in Colab and fail less often in CI.
- Each notebook can grow exercises and explanations independently without bloating one file.

## Acceptance

- [ ] All seven new notebooks exist and execute end-to-end.
- [ ] Total content covers what `20_python_review.ipynb` covered today (no regressions).
- [ ] Each new notebook has at least 2 exercises.
- [ ] `20_python_review.ipynb` is either removed or reduced to a TOC pointer.

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.