Deep learning is a genre of machine learning algorithms that attempt to solve tasks by learning abstraction in data following a stratified description paradigm using non-linear transformation architectures. When put in simple terms, say you want to make the machine recognize Mr. X standing in front of Mt. E on an image;; this task is a stratified or hierarchical recognition task. At the base of the recognition pyramid would be features which can discriminate flats, lines, curves, sharp angles, color;; higher up will be kernels which use this information to discriminate body parts, trees, natural scenery, clouds, etc.;; higher up it will use this knowledge to recognize humans, animals, mountains, etc.;; and higher up it will learn to recognize Mr. X and Mt. E and finally the apex lexical synthesizer module would say that Mr. X is standing in front of Mt. E. Deep learning is all about how you make machines synthesize this hierarchical logic and also learn these representative features and kernels all by itself. It has been used to solve problems like handwritten character recognition, object and product recognition and localization, image captioning, generating synthetic images to self driving cars. This course would provide you insights to theory and coding practice of deep learning for visual computing through curated exercises with Python and PyTorch on current developments.