The course follows a conceptual pathway that starting from simple linear regression to the sophisticated aspects of state-of-art of deep convolutional neural networks, deep recurrent networks and deep reinforcement learning. A unifying mathematical approach is followed throughout this path, to encompass and make it possible to understand the basic features of modern software frameworks for deep learning, such as TensorFlow