An Introduction to Riemann Surfaces, Algebraic Curves and Moduli Spaces (Theoretical and Mathematical Physics)