kangwonlee / kangwonlee/nmisp

Pedagogy: move 00_introduction/30_python_review_2 → 06_python_advanced/{50_functional_programming, 55_pathlib_files}

Open
#399 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/30_python_review_2.ipynb` mixes three topics:

- Comprehensions (list, dict, set, generator) — moving to `06/30` via #394
- Functional programming (map, filter, all, any, zip, closures, lambda)
- pathlib + file I/O with context managers

Once #394 extracts comprehensions, the remaining content is two separate topics that deserve their own notebooks.

## Scope

Create:

- `06_python_advanced/50_functional_programming.ipynb` — map, filter, all, any, zip, lambda, closures
- `06_python_advanced/55_pathlib_files.ipynb` — pathlib intro, with-statement, encoding considerations, simple file I/O patterns

Retire `00_introduction/30_python_review_2.ipynb` after both new notebooks exist and #394 has landed.

## Dependency

- #394 must land first (extracts comprehensions); otherwise this issue's split would lose content.

## Open question

pathlib could arguably live in `03_python_basics/70_file_io` (per #391). The `Path` API is enough of an upgrade over plain strings that grouping it with advanced-tools also makes sense. Open to feedback during execution.

## Why

- Same motivation as #391: focused notebooks beat one mixed one.
- Sets up clean `06_` shape with each Python idiom in its own file.

## Acceptance

- [ ] Both new notebooks exist and run end-to-end.
- [ ] Each has at least 2 exercises.
- [ ] Old `30_python_review_2.ipynb` removed.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by checking #394 and the content of 00_introduction/30_python_review_2.ipynb so comprehensions are not lost. Create 06_python_advanced/50_functional_programming.ipynb and 06_python_advanced/55_pathlib_files.ipynb, resolve the pathlib placement question with maintainers, and run both notebooks end-to-end. Done means each has at least two exercises and the old notebook is removed.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook, python
Domain
documentation
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.