I am not an algebraic geometer either, but I tried to figure out how to compute the genus of an algebraic curve to satisfy my own curiosity. Although I have yet to succeed, I would like to share what I did learn.
First, those still getting used to projective space and homogeneous coordinates should read the first two sections of the appendix in Rational Points on Elliptic Curves by Silverman. It provides both motivation and intuition for these concepts.
Below I attempt to explain how to compute the genus by hand. Alternatively, one can use a computer algebra system like Maple to compute the genus.
This answer by Vogler on The Math Forum provided by Hans in a comment is indeed helpful. It explains almost everything in a very accessible way. That answer is based on Algebraic Curves by Walker (see sections 7.1 to 7.5). Another reference is Algebraic Curves: An Introduction to Algebraic Geometry by Fulton, which is freely available online (see section 7.5). These sections I point out in both books deal with the most difficult part of computing the genus, which is how to handle non-ordinary singularities.
With only ordinary singularities, things are much easier. Let $f(x,y) = 0$ define a nonsingular algebraic curve $C$ of degree $d$ with just $n$ ordinary singular points $p_i$ (for $1 \le i \le n$), where $p_i$ has multiplicity $r_i$. Then $\operatorname{genus}(C) = \frac{(d-1)(d-2)}{2} - \sum_{i=1}^n \frac{r_i (r_i - 1)}{2}.$
A point (in dehomogenized coordinates) is singular if $f(x,y) = \partial_x f(x,y) = \partial_y f(x,y) = 0.$ Let $(a,b)$ be a singular point. To determine the order of $(a,b)$, compute $f(a + x t, b + y t)$. Then the order of $(a,b)$ is the minimum value for $r$ such that $g(x,y) t^r$ is not identically zero. Now write $g(x,y)$ as $y^r h(x/y)$. Then $(a,b)$ is an ordinary singularity if $\gcd(h, h') = 1$ and is non-ordinary otherwise.
(Note that this explanation only mentions the variables $x$ and $y$, but there is another variable $z$ that is implicitly set to 1. Don't forget to consider the points "at infinity", which is when $z=0$. Read the appendix by Silverman is this isn't clear.)
As Mariano said in a comment, an ordinary singularity is a point with distinct tangents (and is non-ordinary if any tangent appears more than once). To get a feel for this, see the example figures by Fulton on page 32 (or the examples by Walker on page 57).
I am completely unsure what to do if the curve is reducible.
To compute the genus of an irreducible algebraic curve with non-ordinary singularities, we transform it into another algebraic curve with the same genus and no non-ordinary singularities using a so-called birational transformation. In contrast to the explanations above, this part is best explained in homogenous coordinates.
This transformation is obtained by repeatedly performing two steps. In the first step, we transform $C$ to a new curve $C'$ satisfying several properties. Vogler states these properties (with my paraphrasing) as follows. Let $p=(a,b,c)$ be a non-ordinary singular point of multiplicity $r$. Then
- $p=(1,0,0)$ in projective coordinates;
- The points $(0,1,0)$ and $(0,0,1)$ are not on $C'$;
- The line $x = 0$ does not intersect $C'$ at any singular point;
- The lines $y = 0$ and $z = 0$ do not intersect $C'$ at any singular point other than $p=(1,0,0)$ of multiplicity $r$.
Fulton says that a curve satisfying these conditions is in excellent position (see page 90).
The first condition is easy to satisfy, as the curve $C_1$ defined by $f'(x,y,z) = f(a x, y + b, z + c) = 0$ has this property. However, I am unsure how to systematically obtain further transformations to satisfy the other properties while maintaining the previous ones (even if these last three conditions should typically hold as Vogler points out). Vogler gives one example of such transformations while Fulton and Walker leave this step as an exercise for the reader. If someone could modify my answer by explaining this step, that would be fantastic.
Now given that our curve $C'$ defined by $f'(x,y,z)=0$ satisfies the above properties, we transform to a new curve $C''$ defined by $f''(x,y,z)=0$, where $f'(yz,xz,yz) = x^r f''(x,y,z).$ Then we repeat this whole process starting with $C''$ until we obtain a curve with no non-ordinary singularities, at which point we can compute the genus using the formula above.