BME2315: Computational Biomedical Engineering

I was a Co-instructor for this course at UVA.

Most of the course focuses on using numerical methods to approximate solutions to problems that cannot be solved analytically. Because these methods can be tedious, the computational power we have these days makes implementing the methods drastically easier. Therefore, the learning objectives for the course include understanding the mathematical basis for numerical methods across an array of problem types and implementing these methods computationally in Python. The course is organized into four modules, focused on different diseases: neurodegeneration (Alzheimer’s), viral epidemics, fibrosis, and cancer.

In each module, students work in pairs (rotating each module) on a project in a shared GitHub repository, and submit a final Jupyter Notebook report telling the story of their analysis. Students were encouraged to use generative AI as an aid, while documenting how they used it.

Module 0: Introduction to Coding

Module 1: Neurodegeneration

Taught by Dr. Shayn Peirce-Cottler: using computation to manipulate, evaluate, and graph data sets, perform linear regressions, and draw conclusions from data.

Module 2: Epidemic Modeling

Students acted as modeling consultants investigating a mystery viral outbreak on campus, receiving new data releases throughout the module. They fit SIR/SEIR models to the outbreak data, identified the likely virus family, and predicted the effects of public health interventions. [GitHub repo] [Repo setup guide]

Module 3: Fibrosis

Using computation to organize, quantify, and evaluate lung fibrosis images across spatial scales, using interpolation and optimization. [GitHub repo]

Module 4: Cancer Machine Learning

Using machine learning on high-dimensional RNA sequencing data (TCGA) to understand disease mechanisms through the hallmarks of cancer. [GitHub repo]