A comprehensive course on GANs including state of the art methods, recent techniques, and step-by-step hands-on projects