This course will introduce students to the concept of Deep learning and it will help students to understand its key principles. The course covers feed-forward neural networks, convolutional neural networks, recurrent neural network, sequence modelling, deep reinforcement learning, and other fundamental concepts and techniques. This course will also teach the students the key computations underlying deep learning. It is expected by the end of the course, students will be able to build, train and apply fully connected deep neural networks, and to know how to implement efficient neural networks using the most popular libraries for Deep Learning such as Keras, PyTorch, and Tensorflow. The course will introduce students also to a wide spectrum of deep learning applications in real-word problems