Duration: 10 weeks (flexible)
Course Modality: Hands-on + short lectures
Assessment: Labs (50%), Mini-project (30%), Quizzes (20%)
- Foundations of Scientific Python — Python, Jupyter, best practices; vectors, arrays.
- Linear Algebra for Computation — systems of equations, least squares, conditioning.
- Data Analysis with Pandas — tidy data, joins, groupby, time series basics.
- Visualization — Matplotlib; effective figures; uncertainty.
- Optimization I — gradient descent; convex functions; stopping criteria.
- Numerical PDEs I — 1D heat equation (explicit FTCS), stability (CFL), convergence.
- Numerical PDEs II — implicit schemes (Crank–Nicolson), tridiagonal solvers (conceptual).
- Intro to ML for Modeling — linear regression (sklearn), bias/variance, validation.
- Reproducibility & Workflow — environments, versioning, Jupyter Book.
- Mini-Projects — applied case studies; presentations.
- Primary: This repository + notebooks + Jupyter Book.
- Optional: Numerical Methods in Engineering with Python (Kiusalaas), online docs for NumPy/Pandas/Matplotlib.
- Use issues/discussions for Q&A.
- Cite sources in reports.