Theory of Riemann Surfaces with applications. In particular applications to integrable systems and dimer models will be considered. This is a course of the Berlin Mathematical School held in English.