Syllabus#

Syllabus — Computational Analysis (Undergrad)#

Duration: 10 weeks (flexible)
Course Modality: Hands-on + short lectures
Assessment: Labs (50%), Mini-project (30%), Quizzes (20%)

Week-by-week#

  1. Foundations of Scientific Python — Python, Jupyter, best practices; vectors, arrays.

  2. Linear Algebra for Computation — systems of equations, least squares, conditioning.

  3. Data Analysis with Pandas — tidy data, joins, groupby, time series basics.

  4. Visualization — Matplotlib; effective figures; uncertainty.

  5. Optimization I — gradient descent; convex functions; stopping criteria.

  6. Numerical PDEs I — 1D heat equation (explicit FTCS), stability (CFL), convergence.

  7. Numerical PDEs II — implicit schemes (Crank–Nicolson), tridiagonal solvers (conceptual).

  8. Intro to ML for Modeling — linear regression (sklearn), bias/variance, validation.

  9. Reproducibility & Workflow — environments, versioning, Jupyter Book.

  10. Mini-Projects — applied case studies; presentations.

Learning Resources#

  • Primary: This repository + notebooks + Jupyter Book.

  • Optional: Numerical Methods in Engineering with Python (Kiusalaas), online docs for NumPy/Pandas/Matplotlib.

Policies#

  • Use issues/discussions for Q&A.

  • Cite sources in reports.