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#
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.
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.