Computational models are nowadays used in virtually all fields of applied sciences and engineering to predict the behaviour of complex natural or man-made systems. These models, a.k.a. simulators allow engineers to assess the performance of a system in-silico, and then optimize its design or operating. Simulators such as high-fidelity finite element models usually feature dozens of parameters and are costly to run, even when taking full advantage of the available computer power. In parallel, the more complex the system, the more uncertainty in its governing parameters, environmental and operating conditions. In this respect, uncertainty quantification (UQ) methods used to solve reliability, sensitivity or optimal design problems have gained interest in both academia and the industry in the last decade. Monte Carlo simulation is a well-known, brute-force method based on random number generation to solve these problems, which may require thousands to millions of simulations for accurate predictions. In contrast, surrogate models allow us to tackle the UQ problems by constructing an accurate approximation of the simulator’s response from a limited number of runs at selected values (the so-called experimental design) and a learning algorithm. In this lecture, we will an overview on uncertainty quantification and surrogate modelling including polynomial chaos expansions and Gaussian processes, with examples from various engineering disciplines.