The course is divided into four parts which together aim to provide essential modeling and simulation skills for physicists. Part 1 is an introduction to dynamical systems. Among other things, we will analyze Lotka-Volterra and Lorentz equations, with a focus on fixed points and time development. In connection with models in discrete time, period doubling, bifurcation and chaos are also introduced. In part 2, we apply the knowledge from part 1 to introduce disease propagation on networks. These networks can represent flight routes between cities or social connections between people. In part 3, we introduce stochastic simulation methods such as Langevin dynamics, Brownian motion (diffusion) and Monte Carlo methods where the implementation takes its starting point in deterministic molecular dynamics. In part 4, we give a brief introduction to Machine Learning. We mainly focus on applications based on given training datasets, for example classification problems.