This course presents macroeconomic modeling at an intermediate level. We will cover three core models that are the basis for many more advanced and complex models used in the field. A strong grasp of the benchmark models is a necessary preliminary step both to go to more advanced topics and maybe more importantly to fully understand the basic economic channels that are almost always present even in more complex models. The course also presents the mathematical methods that are used both to specify and to solve the benchmark models. These methods are interesting by themselves as they can be applied to many other questions and fields.