Geometry of algebraic curves