Algorithmic Algebra and Number Theory