We cover the basic theory of compact Riemann surfaces, following the book of Forster. Along the way we introduce the basic theory of sheaves and the related cohomology theory. This is a crucial preparation for the Riemann-Roch theorem and Serre Duality.  We shall also treat algebraic functions in this context and introduce the associated branched covers.

In mathematical physics the covering spaces related to algebraic functions appear in analytic perturbation theory, although classical texts do not explain well the relation to modern Riemann surface theory. I hope to clarify this for the participants in this course.