Siempre les digo a mis alumnos que una respuesta correcta a casi cualquier pregunta en Ciencias de la Computación es “depende”. Entonces, depende.
En primer lugar, depende de lo que entiendas por teoría . Para la mayoría de los profesores de CS, la teoría se refiere a los fundamentos matemáticos de CS. Es decir, cosas como expresiones regulares, gramáticas libres de contexto y teoría de la complejidad. En la mayoría de los casos, los estudias para comprender mejor cómo escribir un buen programa. Por ejemplo, comprender los lenguajes formales lo ayuda a escribir un analizador sintáctico, y comprender diferentes algoritmos y su eficiencia en ciertas circunstancias lo ayuda a elegir el apropiado. Estos también le permiten darse cuenta de las limitaciones de sus programas.
Dicho esto, hay otro tipo de teoría que también podrías estudiar. Esto incluye cosas como modelos de pensamiento humano, congestión de red (que depende de la teoría de colas ) y técnicas para comprender el habla y la visión. También está la cuestión de cómo funciona el hardware (interrupciones, memoria virtual, etc.). Estos son teóricos en el sentido de que no están programando per se , pero afectan el funcionamiento de su programa y lo guían en su diseño.
- ¿Cuáles son algunos ejemplos de un trabajo de ingeniería CS sin codificación?
- ¿Es posible ser un programador de IA sin un título en informática?
- Cómo pasar de ser un desarrollador de Android a un desarrollador de Java
- ¿Pueden los estudiantes de CS trabajar por cuenta propia de forma lucrativa? ¿Cómo?
- Estoy en la última sem de la rama btech CS y no soy bueno en codificación, pero quiero conseguir un trabajo en la industria de TI, ¿cómo puedo ser bueno en programación?
A veces, la línea divisoria entre estos dos tipos de teoría es borrosa.
Probablemente estudiarás todos los tipos de teoría, pero solo los entenderás realmente si sigues adelante y escribes un programa para aplicarlos. Conozco a otros profesores de CS que son considerados teóricos (y que desarrollan nuevas teorías y técnicas teóricas), pero todos escriben programas para probar sus nuevas teorías también. Por otro lado, aplico teorías todo el tiempo, pero no desarrollo otras nuevas. Entonces, en última instancia: ¡depende!