Probabilistic graphical models are a powerful framework for representing complex domains using probability distributions, with numerous applications in machine learning, computer vision, natural language processing and computational biology. Graphical models bring together graph theory and probability theory, and provide a flexible framework for modeling large collections of random variables with complex interactions. This course will provide a comprehensive survey of the topic, introducing the key formalisms and main techniques used to construct them, make predictions, and support decision-making under uncertainty. The aim of this course is to get in touch with and develop the knowledge and skills necessary to design, implement and apply these models to solve real problems. The course will cover Bayesian networks (and their temporal extensions), exact and approximate inference methods, estimation of the parameters and the structure of graphical models.