This document serves as a tutorial on reinforcement learning, discussing its fundamentals, the definition of reinforcement learning problems using Markov decision processes, and methods for solving these problems like dynamic programming, Monte Carlo methods, and temporal-difference learning. It explores the concepts of policies, value functions, and reward systems, highlighting their roles in maximizing cumulative rewards through exploration and learning from interactions with the environment. Additionally, it addresses practical applications, various examples, and control strategies while also emphasizing the importance of state representation, function approximation, and reward design.