Skip to content

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Practical Numerical Methods

Engineering computation in the agentic era — 2026 edition

Practical Numerical Methods is a problem-driven, executable introduction to numerical methods for engineering and applied science, redesigned for the realities of computational work in 2026.

The course develops numerical literacy through real models, transparent algorithms, computational experiments, and evidence of correctness. Jupyter notebooks are the canonical teaching narrative: each method first appears there in a readable, step-by-step implementation that learners can execute and examine. Once a method has been understood and needs to be reused, its stable implementation may graduate into a small, explicit Python module. Agent-enabled work is framed around specification, inspection, testing, verification, provenance, and engineering judgment.

Planned repository structure

This is the intended structure as the new edition grows; the directories will be introduced gradually rather than scaffolded all at once.

.
├── README.md
├── DECISIONS.md
├── AGENTS.md
├── CONTRIBUTING.md
├── CITATION.cff
├── LICENSE.md
├── LICENSES/
│   ├── CC-BY-4.0.txt
│   └── BSD-3-Clause.txt
├── pyproject.toml
├── <canonical lock file>
│
├── docs/
│   ├── Notebook-First-Code-Architecture.md
│   ├── Assessment-and-Capstone-Design.md
│   ├── History.md
│   ├── Teaching-Philosophy.md
│   ├── Authoring-Workflow.md
│   └── Migration-Map.md
│
├── book/
│   ├── myst.yml
│   ├── index.md
│   ├── quickstart.md
│   ├── references.bib
│   ├── modules/
│   │   ├── 01-phugoid/
│   │   │   ├── index.md
│   │   │   ├── 01-theory.ipynb
│   │   │   ├── 02-oscillation.ipynb
│   │   │   ├── 03-full-model.ipynb
│   │   │   ├── 04-second-order-methods.ipynb
│   │   │   ├── rocket-assignment.ipynb
│   │   │   └── figures/
│   │   ├── 02-space-time/
│   │   └── ...
│   └── appendices/
│       ├── notebook-workflow.md
│       ├── verification-patterns.md
│       └── agent-use.md
│
├── src/
│   └── practical_numerical_methods/
│       ├── __init__.py
│       ├── ode.py
│       ├── transport.py
│       ├── diffusion.py
│       ├── elliptic.py
│       └── plotting.py
│
├── tests/
│   ├── test_ode.py
│   ├── test_transport.py
│   ├── test_diffusion.py
│   ├── test_elliptic.py
│   └── notebooks/
│
├── data/
│   ├── README.md
│   ├── checksums.txt
│   └── ...
│
└── .github/
    └── workflows/
        ├── tests.yml
        ├── notebooks.yml
        └── book.yml

The learner-facing book source—including the executable notebooks—will live in book/. The root DECISIONS.md records accepted course-design decisions, and the docs/ directory holds fuller articulations and the history of the new edition. The src/ directory will contain only numerical code that has already been introduced transparently and is ready for reuse.

Previous edition

Warning

The original Practical Numerical Methods with Python course is preserved as an archive. Its software instructions and other time-sensitive material are outdated and should not be used as guidance for this edition.

Licensing

This repository uses separate licenses by material type:

  • Course content—including narrative text, mathematical exposition, figures, and assignment prompts—is licensed under the Creative Commons Attribution 4.0 International License (CC-BY-4.0).
  • Source code—including Python modules, tests, scripts, and code cells in notebooks—is licensed under the BSD 3-Clause License (BSD-3-Clause).

See LICENSE.md for the scope of each license and the complete texts in LICENSES/. Python files can carry SPDX-License-Identifier: BSD-3-Clause; Markdown and other content files can be marked SPDX-License-Identifier: CC-BY-4.0. Because notebooks combine prose and code, they should also carry a visible note explaining that their narrative content is CC BY 4.0 and their code cells are BSD 3-Clause. Third-party material will retain its own attribution and license.

About

A problem-driven introduction to numerical methods, redesigned in 2026 with agent-aware learning outcomes

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages