¿Debo aprender Algoritmos si soy ingeniero aeroespacial?

Creo que depende de lo que esperes hacer cuando comiences a trabajar. Si su trabajo será más técnico (por ejemplo, CFD, Simulaciones …), la codificación es una herramienta principal y una de las habilidades más valiosas que puede tener. Algunos problemas dependen de interacciones numéricas que son extremadamente difíciles (si no imposibles) de resolver sin un código. Si va más a una ruta de gestión, la programación no tendrá la misma importancia, pero siempre puede ser un “extra” que puede ayudarlo.

Como proyecto final de mi graduación, estoy elaborando un estudio completo del sistema de propulsión y la determinación de trayectoria para un hipotético misil balístico intercontinental (ICBM). Estoy desarrollando un software para las simulaciones 6DOF de la trayectoria. Estoy usando MATLAB. No elegí el lenguaje más eficiente para él, también porque no tengo intenciones de convertirlo en un software comercial o para fines industriales, pero ya es una gran herramienta para hacer todo el análisis que necesito.

Personalmente, recomiendo aprender al menos un lenguaje de programación, y ese puede ser tu elección. ¿Por qué? Debido a que abre un nuevo mundo de posibilidades, cosas que puede crear o resolver de una manera mucho más fácil, incluso fuera del campo aeroespacial.

Algunos idiomas que recomiendo.

  1. MATLAB: Increíblemente útil para ingenieros aeroespaciales. Bueno para analizar un conjunto de datos no muy grande. Súper fácil de aprender y muchas funciones prefabricadas, y una caja de herramientas aeroespaciales (paquete) también. Perfecto para trabajar con matrices, vectores y números en general.
  2. Python: al igual que MATLAB, es fácil de aprender y muy útil para escribir scripts rápidamente. Además, se puede usar para crear un prototipo de una solución antes de decirle a los desarrolladores de software “reales” lo que necesita.
  3. C ++: Yo llamaría a esto el lenguaje ‘real’ de referencia. La mejor manera de trabajar es jugar con un Arduino, pero ten cuidado. El código Arduino no es exactamente C ++.
  4. FORTRAN: Para cualquier cosa que sea numéricamente intensiva, ya que se trata de uno de los lenguajes más rápidos. La mayor parte del programa aeroespacial heredado todavía está en FORTRAN.
  5. HTML / PHP: estamos tan centrados en la web en estos días, que no es una mala idea comprender la programación basada en la web.

More Interesting

¿Cuáles son algunos problemas de nivel intermedio en los que es imprescindible comprender la corrección de los algoritmos (y por qué)?

¿Qué niveles de matemáticas están involucrados en la programación y las ciencias de la computación?

¿Qué te dirías a ti mismo cuando recién comenzaste a programar, aprender algoritmos?

¿Es necesario que el vector se ordene para usar lower_bound?

¿La comprensión humana sigue un algoritmo de compresión de datos?

Cómo evitar que el algoritmo de google para 'quiso decir' afecte mi sitio

¿Cuántas veces aparece el número 1 en una serie de números del 1 al N? Necesito una explicación lógica, no una usando la computadora.

¿Por qué las personas usan mid = low + (high-low) / 2 en lugar de (low + high) / 2?

Soy completamente nuevo en algoritmos. ¿Cuál es el mejor libro / curso / método para realmente entrar en ellos?

¿Existe algún algoritmo simple que pueda resolver la programación del taller?

¿Qué hay de malo en mi implementación de tipo de fusión?

¿Qué tipo de estrategias y algoritmos tenemos en el comercio cuantitativo?

¿Por qué los problemas NP completos son más difíciles que los problemas NP si un problema NP puede reducirse a un problema NP completo?

¿Abusaron los escritores de los límites de la ecuación 3.10 del CLRS?

¿Cuáles son algunas situaciones en las que conceptos algorítmicos como la complejidad del código y la programación dinámica dieron como resultado un mejor código en un proyecto de desarrollo real?