Please note! Lectures and exercise sessions will be given remotely via Zoom application. All material will be available online and exercises can be returned here via these MyCourses pages.
To join lectures in Zoom:
Either: Launch Zoom, select 'Join' and type the ID 676 3170 1606
Or: In a web browser go to the address https://aalto.zoom.us/j/67631701606
To join exercise session, go to the address:
Please subscribe to General discussion forum - under 'Forums' top right corner. There you can ask questions, help others etc. You are allowed and, in fact, encouraged to solve problems together. Just make sure that your solutions are not complete copy-pastes of someone else's.
The purpose of this course is to provide understanding of fundamental concepts and computational methods of stochastic simulations and models. After completing the assignments the student will have a library of (skeleton) algorithms used in stochastic simulation and understanding of how they work.
1. Simulating standard probability distributions.
2. Methods of simulating 'non-standard' distributions. Logarithmic binning.
3. Markov processes and stochastic models.
4. Monte Carlo (MC) method and Metropolis sampling.
5. Markov Chain Monte Carlo (MCMC) method; Gibbs and Metropolis-Hastings sampling.
6. Hamiltonian/Hybrid Monte Carlo (HMC) method.
Due to the Covid situation we greed not to have an exam. The grade will be given completely based on assignments.
Minimum requirement to pass is 50 % of the total weighted points from the assignments and the grading will be in accordance with typical grading in CS courses.
Literature: Parts of the books Taylor, Karlin (newer edition Pinsky, Karlin): An Introduction to Stochastic Modeling (Academic Press), and Wilkinson: Stochastic Modelling for Systems Biology (CRC Press). Lecture notes and other distributed material.
The book Hossein Pishro-Nik, Introduction to Probability and Random Processes, freely available online will be used in parts of the course: https://www.probabilitycourse.com
Prerequisities: Basic programming skills. The programming language is Python. Jupyter notebook will be used.
For some practicalities etc., see Preliminaries in Materials.