Teaching philosophy
Why this course is structured this way
This course treats Bayesian statistics as a discipline of reasoning, not as a collection of isolated formulas. The core teaching idea is simple:
- write the probabilistic object carefully;
- derive the inferential quantity explicitly;
- implement the computation transparently;
- diagnose the result before interpreting it.
That sequence is repeated throughout the site because it is the shortest path to genuine mastery.
Core principles
Mathematical seriousness
Definitions, assumptions, and derivations are stated carefully. The course is written for readers who want to understand where results come from, not only how to call software.
Computation as explanation
R, Stan, and JAX are used as intellectual tools, not decorative add-ons. Code exists to clarify geometry, posterior structure, diagnostics, and workflow.
Reproducibility
Every major chapter is tied to source files in labs/ or to directly reproducible workflows. A serious Bayesian analysis should be inspectable line by line.
Comparison over slogan
The course repeatedly compares:
- likelihood versus posterior inference;
- exact conjugacy versus approximation;
- MCMC versus variational inference;
- prediction versus explanation versus decision;
- model fit versus model adequacy.
Independent learning
The exercises are a means to an end. What they are training is the ability to read a new paper, derive what matters from it, test an implementation, and explain the result to someone who was not in the room.
How a chapter should be read
Each chapter is designed to support four passes:
- Conceptual pass. Read the motivation and notation until the inferential target is clear.
- Derivation pass. Work through the algebra by hand.
- Computational pass. Run the lab or reimplement the main result.
- Critical pass. Study diagnostics, failure modes, and sensitivity.
Skipping the fourth pass is where many technically strong students go wrong.
What Students should produce
A strong learner in this course should be able to produce:
- explicit model factorizations;
- clean derivations with assumptions stated;
- executable code with interpretable outputs;
- posterior checks and sensitivity analysis;
- short written explanations of what the model does and does not support.
Expectations for projects
Capstone-level work should show:
- scientific framing before model complexity;
- prior predictive reasoning before posterior computation;
- computation diagnostics before interpretation;
- predictive or decision evaluation before final claims.
That is the standard used throughout the site and in the project templates.
Suggested workflow norm
For every serious model, ask:
- What is the generative story?
- What is the estimand?
- What assumptions are doing the work?
- How is posterior computation being approximated?
- What diagnostics could falsify my current comfort?
- How sensitive is the substantive conclusion?
If those questions cannot be answered cleanly, the analysis is not finished.