Course Coordinator: 
Simone Pigolotti
Stochastic Processes with Applications

This course will present a broad introduction to stochastic processes. The main focus will be on their application to a variety of modeling situations and on numerical simulations, rather than on the mathematical formalism. After a brief resume of the main concept in probability theory, we will explain what stochastic processes are and the concept of stochastic trajectory. We will then broadly classify stochastic processes (discrete/continuous time and space, markovianity). The rest of the course will be devoted to the most commonly used types of stochastic processes: Markov chains, Master Equations, Langevin/Fokker-Planck equations. For each of these types of process, we will review the main applications in physics, biology, and neuroscience, and discuss the simplest algorithms to simulate them on a computer. The course will include exercises sessions in which the students will start writing their own code to simulate stochastic processes, aided by the instructor.
These numerical simulations will be finalized as homework and reports based on them will constitute the main evaluation of the course.

The course is aimed at students interested in modeling systems characterized by stochastic dynamics in different disciplines. Goals of the course are: to understand the most common types of stochastic processes (Markov chains, Master equations, Langevin equations); to be aware of important applications of stochastic processes in physics, biology and neuroscience; to acquire knowledge of simple analytical techniques to understand stochastic processes, and to be able to simulate discrete and continuous stochastic processes on a computer.
Detailed Syllabus: 

Resume of basic concepts of probability theory (discrete and continuous distributions, main
properties).  Random number generators.

Definition of a stochastic process. Classification: discrete and continuous time, discrete and
continuous space, equations for the trajectory and for the probabilities.

Markov chains. Wright-Fisher model in population genetics.

Master equations. Gillespie algorithm. Stochastic chemical kinetics.

Langevin equations and Fokker-Planck equations. Simulation schemes for Langevin
equations. Random walks and colloidal particles in physics.

First passage-time problems. First passage times in integrate-and-fire neurons.

Evaluation of the course will be mainly based on reports about numerical simulations. For each topic, one model (or more) from the physics or biology literature will be presented, together with an efficient computational method to simulate it. The students will be required to write their own code and submit a brief report containing a) short description of the model and the numerical algorithm, b) their commented python code, c) short description of numerical results, and related figures. In
additional, simple mathematical exercises will be given to the students as homework throughout the course. There will be no final exam.

Course Type: 
Reports (numerical simulations): 75% (3 hours/week). Homework: 25% (1 hour/ week).
Text Book: 
“Random walks in Biology” by H. C. Berg (1993) Princeton University Press
“Stochastic Methods: A Handbook for the Natural and Social Sciences” by C. Gardiner (2009) Springer
Reference Book: 
“An Introduction to Probability Theory and its Applications, Vol 1” by W. Feller (1968) Wiley
“The Fokker-Planck Equation”, by H. Risken (1984) Springer
Prior Knowledge: 

Basic calculus: students should be able to calculate integrals and solve simple differential equations.
Basic probability theory: although these concepts will briefly resumed at the beginning of the course, students should be aware of basic concepts in probability theory, e.g. discrete and continuous distributions, random variables, conditional probabilities, mean and variance, correlations.
Scientific programming: the students are expected to be already able to write, for example, a program to integrate a differential equation numerically via the Euler scheme and plot the results. Python is the standard language for the course. For the reports, exceptions can be made if a student prefers to write simulations in C or Fortran.