In this course we learn the concepts and fundamentals of reinforcement learning, it's relation to artificial intelligence and machine learning, and how we can formulate a problem in the context of reinforcement learning and Markov Decision Process. We cover different fundamental algorithms including Q-Learning, SARSA as well as Deep Q-Learning. We present the whole implementation of two projects from scratch with Q-learning and Deep Q-Network.