Algorithmic topology