Complete materials for CS 4328: Scientific Computing, a five-week intensive undergraduate course taught at Texas Tech University (Summer 2026) by Dr. Scott R. Franklin. Released as an Open Educational Resource (OER) for any instructor or student who finds them useful.
The course covers the core of a numerical methods curriculum — floating-point arithmetic and error, Taylor approximation, root finding, numerical calculus, numerical linear algebra (LU, QR, iterative methods), ODEs (Euler, midpoint, RK4), and PDEs — in an inquiry-based, project-driven format: by-hand worksheets first, then Python in Jupyter/Colab notebooks.
Background reading: Teaching Scientific Computing in Five Weeks — the story of the course and its design decisions.
Live demos: interactive browser versions of the number-guessing (bisection)
game, dodgeball aimer, and heated rod are described in the blog post; source is
in demos/.
The course follows Eric Sullivan, Numerical Methods: An Inquiry-Based Approach with Python (open access): https://numericalmethodssullivan.github.io/. The book is CC BY-NC-SA 4.0 and is not redistributed here — use the link above. Several activities and projects in this repository are adapted from it (e.g., the Dodgeball Aiming project adapts Sullivan's Artillery problem).
lectures/— Jupyter/Colab lecture notebooks, teaching-notes versions, and by-hand worksheets (with build scripts)homework/— homework notebooks (with build scripts)projects/— Dodgeball Aiming (root finding), Heat in a Rod Three Ways (linear algebra), capstone team project, graduate build-and-benchmark project, peer-evaluation toolingquizzes/— concept checks and exit tickets in plain-text text2qti format plus Canvas-ready QTI.zipexportsexams/— review activities and announcement templateskahoots/— Kahoot bulk-import spreadsheets for review gamestophat/— TopHat activity filesdemos/— self-contained HTML/JS interactive demosprompts/— the generation prompt templates behind the reproducible content pipelinedocs/— syllabus and scheduleAssets/— course imagery
Slides, worksheets, quizzes, and review activities are generated from source by
Python scripts (build_*.py throughout) rather than hand-assembled: fix an
error once, rebuild everything. Quizzes are plain text converted to
Canvas-ready QTI packages with text2qti; Kahoot and TopHat activities pull
from the same canonical question sets. The prompt templates in prompts/
document the generation conventions.
python -m venv ~/venvs/course-tools
source ~/venvs/course-tools/bin/activate
pip install -r requirements.txt
# or: conda env create -f environment.ymlRebuild a QTI quiz package after editing its .txt source:
text2qti quizzes/<filename>.txtNotebooks run anywhere Jupyter does, including Google Colab with no local setup.
Answer keys (homework, worksheets, projects) and exam item banks are excluded so the assessments stay reusable. Verified instructors may request them — contact me via my blog or open an issue with your institutional affiliation.
© Scott R. Franklin. Licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) — see LICENSE.md.
Materials adapted from Eric Sullivan's Numerical Methods: An Inquiry-Based Approach with Python carry the same license with attribution to Eric Sullivan, Mathematics Faculty, Carroll College.
Texas Tech University marks and logos in Assets/ are the property of Texas
Tech University and are not covered by the CC license; replace them with your
own institution's branding when adapting these materials.
