Estudié matemática pura y tomé un curso de algoritmos. En primer lugar, me siento con derecho a decir que no toqué una computadora durante todo el curso, escribí el código psuedo seguro pero nunca lo ejecuté en una computadora. En cierto sentido, es solo otro curso de matemáticas sobre cómo lidiar con ciertos tipos de problemas matemáticos discretos, y más abstracto de lo que la mayoría de la gente piensa (o está preparada).
Sin embargo, el curso me pareció extremadamente útil. De una manera extraña, pensar en términos de complejidad computacional ayudó a agilizar enormemente mis futuras pruebas de álgebra, mientras que conceptos como la programación dinámica me ayudaron a resolver problemas mucho más grandes que me llevarían días (como algunos de los que vi en cursos avanzados de teoría de números). ) en sus subestructuras, lo que proporciona una visión mucho más profunda que simplemente usar el teorema o lema más cercano para atacar.
Las máquinas de Turing y la idea de problemas computables versus no computables también es inmensamente interesante.