Diffusion Models For Machine Learning Course