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