¿Cuál es el propósito de aprender teoría de la computación?

La computación es la base sobre la cual se construyen casi todos los sistemas informáticos. El estudio de la teoría de la computación es un estudio de nuestra capacidad de hacer cosas.

Tomemos por ejemplo una pregunta simple. “¿Cómo voy a Delhi?”

La respuesta a esa pregunta implicaría primero saber si:

  • ¿Podemos siquiera responder a esa pregunta? [1]
  • ¿Hay más de una forma de responder? [2]
  • Si hay más de una forma, ¿cómo las comparo para encontrar la mejor? [3]
  • ¿Puedo probar una solución a esta pregunta tan rápido como puedo resolverla? [4]

Para ser sincero, estas preguntas también se estudian en CS normal, pero en teoría computacional asumen un papel aún más importante. La premisa misma de encontrar respuestas descansa sobre los hombros de poder actuar. En otras palabras, la computación se basa en la suposición de la capacidad de computar y eso es lo que estudia la teoría de la computación.

Notas al pie

[1] Teoremas de incompletitud de Gödel – Wikipedia

[2] Algoritmos, equivalencia de

[3] Complejidad computacional asintótica – Wikipedia

[4] Problema P versus NP – Wikipedia

La teoría de la computación y la programación del sistema se enseñan para que uno pueda entender otra materia, es decir , el diseño del compilador, y por el nombre puede adivinar lo que enseña esta materia, pero …

Uno no puede simplemente diseñar un compilador si él / ella no es completamente consciente de ese lenguaje (para el que quiere construir un compilador) como cuál es el funcionamiento interno de funciones predefinidas, cómo las variables obtienen la memoria, cómo ese lenguaje llama al función del sistema operativo (para el que se compilará el compilador).

Así que supongamos que has aprendido el diseño del compilador, pero aún así no puedes hacer el compilador siempre que hayas hecho ese lenguaje también.

Conclusión estas asignaturas no tienen ningún propósito, por eso muchas universidades están optando por no enseñar estas 3 asignaturas.

More Interesting

¿Es la informática teórica una subdisciplina de la lógica matemática? ¿Cuál es la diferencia entre los dos? ¿Dónde se cruzan?

¿La verificación de modelos está relacionada con la teoría de modelos?

¿Por qué soy bueno en cursos intensivos de programación, pero sigo reprobando en cursos de teoría de informática? ¿Estoy en condiciones de ser ingeniero de software?

¿Puede este bucle resolver la pregunta de suma infinita?

¿Cómo resolver el siguiente problema? ¿Es posible resolver usando árboles de segmentos? ¿Hay algún método eficiente?

¿Puede un desarrollador web beneficiarse de la CS teórica? ¿Cómo puede ser eso?

¿Ya se resolvió P versus NP? ¿Si es así, cómo?

¿Cuál es la diferencia entre autómatas deterministas y no deterministas de estado finito?

¿Es cierto que al menos uno de los dos términos en [math] Rad (p) - 1, Rad (p) + 1 [/ math] es un número primo, donde [math] Rad (p) [/ math] es el producto de todos los números primos menores o iguales que [math] p [/ math]?

¿Cuáles son los cursos matemáticos recomendados para el aprendizaje automático y el procesamiento de big data?

Cómo hacer un programa en c ++ que pueda factorizar un número de 10 dígitos

¿Puede una resta dar un resultado negativo usando un número sin signo?

¿Cómo se pueden representar los números negativos en 0 y 1 binarios para que la computadora pueda leer con precisión?

¿Por qué es importante la teoría de grafos?

¿Cuál es la mejor complejidad de tiempo que se puede lograr para las operaciones (suma, resta, multiplicación, división) en números grandes (1000 dígitos) en C ++?