Ideals, Varieties, and Algorithms