Lecture 6: Discrete-time Bayesian filtering and Smoothing