In this course, we will provide mathematical and computational tools for time evolution models of different types of processes.

Throughout the course, there will be a "hands-on" approach utilizing various computer platforms. There will be a two-week workshop on Python before the beginning of the course.


In addition to the common requirements, a course in ordinary differential equations is required.


By the end of this course, students will:

  • understand the basic features of modeling processes that change with time;
  • have a working intuition of different types of dynamics;
  • understand when it is natural to use differential equations, discrete dynamics or partial differential equations;
  • manage the main simulation procedures and use the methods implemented in a computer language.

Course Content

As mentioned above, we will provide mathematical and computational tools for time evolution models of different types of processes.

1. Differential equations (4 weeks)

Problems with continuous time are naturally modeled with differential equations. Possible examples: Lorenz attractor, Vander Pol equation, population dynamics, epidemiology.

2. Difference equations (3 weeks)

Problems that are modeled in discrete time, equations in differences, logistic model, period bifurcation, Henon attractor. Possible examples: insects' dynamics.

3. Cellular automata (3 weeks)

Cellular automata are examples of discrete space and can evolve in time either continuously or also discretely. Possible examples: Infectious processes.

4. Partial differential equations (4 weeks)

Possible examples; wave and heat equations.


  1. Hirsch, Morris W.; Smale, Stephen; Devaney, Robert L. (2012). Differential Equations, Dynamical Systems, and an Introduction to Chaos, Third Edition, Academic Press

  2. Segel, Lee A.; Edelstein-Keshet, Leah (2013). A Primer on Mathematical Models in Biology, SIAM.

  3. Mickens, Ronald E. (2015). Difference Equations: Theory, Applications and Advanced Topics, Third Edition, CRC Press.

  4. Kelley, Walter G.; Peterson, Allan C. (2000). Difference Equations: An Introduction with Applications, 2nd Edition, Academic Press.

  5. Schiff, Joel L. (2008). Cellular Automata: A Discrete View of the World, Wiley.

  6. Toffoli, Tommaso; Margolus, Norman (1987). Cellular Automata Machines: A New Environment for Modeling, MIT Press.

  7. Coleman, Matthew P. (2004). An Introduction to Partial Differential Equations with MATLAB, 1st Edition, Chapman and Hall/CRC.
  8. Lynch, S. (2018). Dynamical Systems with Applications using Python. Birkhäuser

Support Sessions

2 hours per week with a teaching assistant.


Two midterm exams (40%), homework (40%), a simulation project to be submitted/ presented by the end of the course (20%).