¿Qué campos de la informática requieren mucha matemática y teoría en lugar de codificación?

Hay muchos, pero el enfoque podría ser un poco al revés aquí. Es más fácil verlo comenzando por aprender algo de matemática y aplicarlo a cualquier problema que le interese porque algunos campos, como el análisis numérico, se aplican de manera muy amplia en muchas disciplinas importantes en CS.

Al ejecutar el ejemplo de análisis numérico, descubrirá que es una parte importante del diseño de algoritmos. Algunas aplicaciones específicas incluyen inventar métodos estables, precisos y rápidos para resolver PDEs (que tiene una aplicabilidad extremadamente amplia para problemas de ciencia e ingeniería del mundo real, vea esta publicación) y resolver problemas de optimización continua o discreta para muchos problemas en investigación de operaciones, diseño de circuitos , econometría e IA general (de hecho, es probable que haya una lista igualmente gigantesca para aplicaciones de optimización como para PDE en el enlace anterior). Debajo de estos dos problemas genéricos está el verdadero caballo de trabajo, el álgebra lineal numérica. Agregue la computación paralela a la mezcla y terminará con algunos problemas extremadamente triviales que tienen que ver con la ubicación de los datos en la memoria, la comunicación entre nodos y el papel de los coprocesadores (en general, llamados computación heterogénea).

Como menciona el profesor Hyttel, las partes teóricas de CS también son bastante interesantes, pero tienen un sabor diferente al de los algoritmos numéricos. En estos campos, uno tiene dificultades para comprender qué significa fundamentalmente la computación, su poder, sus límites, y tal vez si tiene una mentalidad aplicada, sus implicaciones en las implementaciones prácticas de algoritmos. A veces te encuentras con recursos que crees que podrían ser útiles, como la aleatoriedad. Había alguna esperanza de que los algoritmos aleatorios y probabilísticos pudieran proporcionar más potencia computacional e incluso potencialmente resolver problemas NP-completos (léase: difíciles) de manera eficiente. Después de muchos años, esta idea se redujo a declaraciones precisas sobre qué tipo de problemas se pueden resolver y qué tan eficientes pueden ser. Hoy en día existen grandes preguntas en torno al uso de la superposición cuántica como recurso para aumentar potencialmente nuestras capacidades computacionales. Hay mucha teoría hermosa que también se conecta con la física teórica, y hay un buen intercambio de ideas en ciertas áreas de CS con la física (como ejemplo básico, piense en cualquier algoritmo de Monte Carlo).

Hay más que decir, tal vez sobre las matemáticas discretas que se aplican a los problemas en algoritmos, redes, etc. o sobre el aprendizaje automático estadístico, que es esencialmente toda la matemática y la programación numérica aplicada a problemas de IA realmente interesantes, pero probablemente pueda descubrir sobre los detalles de eso desde otros lugares.

Para las matemáticas, probablemente deba provenir del final de las matemáticas en lugar del final de CS. Calcular cosas intensivas tiende a usar bibliotecas matemáticas, y las personas que entienden el campo escribieron código para llamarlas. Por lo tanto, un meteorólogo modelará células y utilizará las bibliotecas de matemáticas adecuadas para observar cómo se desarrollan esas células durante el tiempo simulado.

En mucha programación, la diversión está en el diseño. Para lo cual tienes que hacer un aprendizaje sobre codificación, pero una vez que hayas ganado tus estímulos, puedes pasar al nivel más alto de qué y por qué, no las pericias de hacerlo realidad. Por lo general, me mantendría alejado del front-end web y de los niveles más bajos del back-end, que tienden a mantener unidas muchas API. Pero una vez que llega al nivel de considerar seriamente la capacidad de escala, la redundancia, la copia de seguridad, la distribución global, etc., se parece mucho más a las matemáticas, o al menos a la ingeniería de precisión, que a la codificación.

Me sorprende que nadie haya mencionado aún la informática teórica. La teoría de la complejidad computacional y la semántica de programas son disciplinas orientadas matemáticamente, y aquí se desarrollan muchas nuevas matemáticas reales. Algunas áreas de inteligencia artificial y teoría de bases de datos también hacen un uso significativo de las matemáticas.

Gráficos por computadora, procesamiento de señales … sinceramente, hay muchas opciones. Depende principalmente de la empresa con la que termines.

More Interesting

¿Son iguales la informática y la ingeniería informática?

¿Cuáles son los exámenes (como GATE, CAT, etc.) que un estudiante graduado de CS puede tomar por varias razones en su último año?

¿Dónde puedo descargar los mejores archivos para Windows XP SP3?

¿Cuáles son algunas técnicas modernas (pasadas o en curso) para aumentar la velocidad de la computadora a nivel de chip (en términos de arquitectura y diseño), pasadas o en curso?

¿Cómo es Sikkim MIT para un B.Tech en ingeniería informática con respecto a su seguridad y académicos?

¿Cuáles son las posibilidades de que la ingeniería de software quede obsoleta por la automatización?

¿Cuál es la diferencia entre la memoria RAM y la memoria RAM de la computadora?

¿Qué compañía es mejor TCS o Headstrong para un muy buen ingeniero informático con interés en el desarrollo en Java y con buenas habilidades de codificación?

¿Qué universidad es la mejor para codificar la cultura en GGSIPU?

¿Cuál es el porcentaje límite de las mejores universidades de ingeniería informática en Mumbai para la entrada directa al segundo año?

¿Los torrentes realmente mejoran la velocidad de descarga? ¿Si es así, cómo?

¿La ingeniería mecánica es más dura que la informática?

¿Qué tipo de programas necesita descargar para la ingeniería informática?

¿Qué proyecto de ingeniería informática puedo hacer en Java o Android?

¿Quiénes son algunos astronautas que han tenido una especialización en ciencias de la computación o ingeniería informática?