Computational Approach to Riemann Surfaces