Repository layout¶
Everything for one chapter lives in one folder. The deck, its compiled PDF, its figures and the companion lab notebook sit side by side, so teaching or adapting a chapter means opening a single directory rather than tracking one file across two trees. The advanced modules and the projects follow the same shape.
.
├── Chapters/ # one folder per ISLP chapter — deck + lab together
│ ├── README.md # deck guide: design, exercise counts, lecture plan
│ ├── chapter_NN/
│ │ ├── chapter_NN.tex # deck source
│ │ ├── chapter_NN.pdf # compiled deck (committed)
│ │ ├── chapter_NN_lab.ipynb # companion lab, with stored outputs
│ │ ├── images/ # matplotlib figures used by the deck
│ │ └── make_figures.py # (chapter_00, chapter_00b) regenerates them
│ └── Advanced/ # four optional self-study modules, same shape
│ ├── README.md
│ ├── STYLE_DECK.md # the house style, distilled, for a new module
│ ├── STYLE_NOTEBOOK.md
│ └── advanced_NN_topic/
│ ├── advanced_NN_topic.tex
│ ├── advanced_NN_topic.pdf
│ ├── advanced_NN_topic_lab.ipynb # deck, PDF, lab, figures — as above
│ ├── images/
│ └── make_figures.py
├── Projects/ # six short projects: a decision on real data
│ ├── README.md
│ └── project_N_slug/
│ ├── README.md # the brief the student reads
│ ├── project_N_starter.ipynb # Colab-ready scaffolding
│ └── SOLUTION_NOTES.md # expected findings, the trap, marking guide
├── Teaching_Guide/ # instructor kit: plan, index, checklist, handouts
│ ├── semester_plan.md # the thirteen weeks on one page
│ ├── slide_index.md # generated: sections, exercises, page numbers
│ ├── before_class.md # the ten-minute pre-lecture checklist
│ ├── deck_triage_proposal.md # audit: what could become appendix material
│ ├── runsheets/ # per-session scripts — git-ignored (assessment)
│ └── handouts/ # printable 2-up decks — build output
├── Mock_Exams/ # eight papers — git-ignored (assessment material)
├── ALL CSV FILES - 2nd Edition/ # course datasets (statlearning.com)
├── docs/ # this documentation (Sphinx)
├── Source_Material/ # copyrighted book PDFs & figure banks — git-ignored
├── Makefile # one-command rebuild: figures, decks, index, handouts
├── requirements.txt # pinned Python environment for the notebooks
├── CITATION.cff # how to cite these materials
└── README.md
Three chapters have a lab but no deck
chapter_09, chapter_11 and chapter_12 (SVM, survival analysis,
unsupervised learning) sit outside the taught plan, so their folders hold a
notebook and nothing else. That is deliberate, not an unfinished build —
make check reports them as no deck (code reference).
What is and isn’t committed¶
Committed |
Deck LaTeX sources and compiled PDFs, notebooks with stored outputs, datasets, project briefs and starters, this documentation |
Git-ignored |
|
Compiled deck PDFs are committed on purpose: a colleague should be able to clone the repository and teach from it without a TeX installation. The exams are the exception — publishing worked solutions to a public repository would make them useless as assessment.
Naming conventions¶
Chapter numbers always follow ISLP, zero-padded to two digits (
chapter_04), so slides, labs and datasets line up. The gaps are intentional: chapters 9, 11 and 12 have a notebook but no deck, because they are untaught code references rather than labs.Every file in a chapter folder is named for that folder, so a path is self-describing and a glob is unambiguous:
chapter_04/chapter_04.tex,chapter_04/chapter_04_lab.ipynb. The build scripts rely on this — they find decks withChapters/chapter_*/chapter_*.texand labs withChapters/chapter_*/chapter_*_lab.ipynb.Exam folders are named for the lecture they follow (
Exam_2_after_Lecture_08), not for a date, so the calendar can shift without renaming anything.Exam PDFs use
Title_Case, their LaTeX sourcessnake_case— the-jobnameargument in the build command is what maps one to the other.