Prerequisites: Linear algebra, basic probability, basic calculus, computer programming, or approval of instructor. Experience with machine learning, artificial intelligence, or deep learning (e.g., CS 675, CS 670, CS 677) is recommended. This course covers current topics, key concepts, and classic and modern algorithms in reinforcement learning and contains both theory and applications. The topics include but are not limited to, Markov Decision Processes, exploration and exploitation, planning, value-based learning, policy gradient, etc. Students will present recent papers in reinforcement learning, and work on written and programming assignments and do a reinforcement learning project. After completing this course, students will be able to start using reinforcement learning for real world problems that can be specified as Markov Decision Processes.