Why are Riemann surfaces algebraic curves? I've never fully understood the connection between Riemann surfaces and algebraic varieties. I'm particularly interested in the case of the modular curve of level N--I know how the Riemann surface is constructed by taking a quotient of the upper half-plane by the action of a congruence subgroup of the modular group, but not how the resulting manifold translates into a curve. From what I've read, it appears that the associated curve is defined by equations satisfied by functions defined on the manifold, but I don't understand which functions are involved in these equations. What exactly is the relation between the two types of objects?
 A: As Akhil writes in his comment, to see that some given Riemann surface is an algebraic curve, you usually need Riemann-Roch. A prototypical example of its use is the usual proof of existence of a Weierstrass equation for an elliptic curves (see e.g. Silverman).
But for the modular curves, things are actually simpler. It is easy to see that a modular curve is a covering of $\Gamma(1)\backslash \mathbb{H}^*$. Now, the latter is the simplest Riemann surface there is, the Riemann sphere, and that is clearly an algebraic curve. There are lots of ways of seeing that $\Gamma(1)\backslash \mathbb{H}^*$ is the Riemann sphere, some of which are sketched in Milne's notes, Proposition 2.21. An explicit isomorphism of $\Gamma(1)\backslash \mathbb{H}$ with $\mathbb{C}$ is provided by the $j$-function.
You can now use the covering to obtain an equation for a modular curve. For the minute details of this calculation for the case $\Gamma_0(N)$, see Milne's notes, Theorem 6.1. This does not need Riemann-Roch, and only relies on explicit computations with the $j$-function.
A more powerful approach to modular curves, which will also give you more information about fields of definition, is by interpreting the modular curves are moduli varieties. Milne also sketches some of this in section 8, and much more can be found in his notes on Shimura varieties.
A: I think you can check Hartshrone's section on Riemann-Roch. There are some relevant discussions on the 19th century work on this (without using fancy machinery listed in above comments). In fact, nowadays we are so used to modern mathematical language that we often forgot the roots which inspires so many masters in the past. 
