Live mathematical modeling

One of my more vivid memories of my graduate studies is a lecture on evolutionary models. Not especially because of the content (something about mutations, maybe?), but because of how it was delivered. Instead of starting with a question, and then showing the model, and then solving it, the beginning of the lecture was “Here’s today’s topic, what question do you want to explore?”. After a (short) brainstorming, we settled on a topic.

This is when the fun started. As a class, we started discussing ways to represent the relevant mechanisms as equations, and then (using a blackboard), the lecturer assembled the model. This was a transformative moment for me (as I had no previous training in modeling): models are not things you pick from a giant library of models. They are things you build to study a specific question. Modeling is world building, and this was the first time I realized this.

There are (I think) two ways to introduce modeling in ecology. The first is “Here is thing called the Lotka-Volterra equations for predator prey dynamics”, and discuss them. The second is this “live modeling” approach, where the question comes first, and we build the model around it. We may end up with one of the “canonical” models, or with something different. The second approach is very close to live coding, i.e. writing code as you go along, and thinking out loud about it, to help learners understand the process of creating something.

This live modeling approach also explores constructing the model. While performing the actual mathematical analysis, or the simulations, can be difficult (and rewarding), these involve different skills than coming up with the right formulation of everything in the model. Looking back at some of my modeling experiences, I figure I spent more time building the model, than solving it. In part, this is because we have numerical recipes to solve a lot of problems. But also, how to come up with the model is never really taught.

This winter, I will teach a new class (somewhat awkwardly named “Computational biology & modeling“), where we’ll explore the space between purely mathematical models and their implementation. A lot of this class will involve building toy models to play with, and I will use this live modeling approach as well as exploring some well established models. My feeling at the moment is that being able to build a model is a skill that is transferable to scientific activities that are not mathematical in nature: it forces one to think in terms of abstraction, to break down a problem in manageable components and deeply think about their behavior, and frame all of this in the “big picture”. This is likely more important than being able to remember the Routh–Hurwitz stability criteria.