This book provides the fundamental background required to develop rigorous necessary conditions that are the starting points for theoretical and numerical approaches to modern variational calculus and control problems. It also presents some classical sufficient conditions and discusses the importance of distinguishing between the necessary and sufficient conditions. By emphasizing the basic ideas and their mathematical development, the book gives you the foundation to use these mathematical tools to then tackle new problems.