Title: Probabilistic Programming and Computation Abstract: Probabilistic programming is a programming paradigm going beyond purely functional computation. It has been intensively developed in recent years, with the final purpose of encoding in the same settings various probabilistic models appearing in artifical intelligence and applied to statistical computing and machine learning. Numerous programming languages using higher-order functions and continuous probabilities have been developed, e.g. WebPPL, Venture, Anglican, Stan, Gen, Pyro, \dots This universe is challenging from a semantical viewpoint and it is only recently that the meaning of these languages has been elucidated. A major obstacle had to be overcome to model continuous probabilities and functional programming languages (programs that can handle functions as arguments). To our knowledge, there are only few models of probabilistic programming handling higher-order and continuous probabilities: quasi-Borel spaces, the measurable cones and the ordered Banach spaces. These success relied on properties inspired by linear logic and functional programming. In the first part of this tutorial, we will program first inference algorithms and use them to solve classical problems of statistical learning. The second part will be dedicated to the semantics of probabilistic programming in the discrete settings. Finally, we will dive into semantics of programs with continuous probabilities.