Topological methods in algebraic geometry