The course starts explaining the meaning of these networks to model both causal and non-causal knowledge under uncertainty, and both from a structural viewpoint (qualitative) and from a parametric viewpoint (quantitative). The following step is to query the network about different issues of interest, i.e. to make inferences from evidence that is being gathered. For example, we can ask for the diagnosis of a disease or for the most probable explanation of the observed evidence. The inference algorithms can obtain an exact or an approximate answer, the latter being computed via e.g. Monte Carlo simulation. The network is built with the aid of a domain expert, but it can also be induced from a database. This calls modern learning algorithms including parameter learning and structure learning techniques. Finally, additional topics include a number of successful real-world applications in different areas.