Soy un estudiante en su último semestre que va a obtener una licenciatura en Ciencias de la Computación. Me gustaría eventualmente hacer la transición a la industria de la exploración espacial (NASA, SpaceX, Boeing, Lockheed Martin, etc.). No sé nada de aviónica y me gustaría aprender más sobre el tema, específicamente el lado del software. He encontrado poca información en línea. Por favor, denme material de referencia (libros, sitios web, etc.) para aprender sobre esta área. Su punto de vista e información adicional son bienvenidos.
Ok, estaba publicando esto como un comentario, pero se estaba volviendo ridículamente largo...
Trabajé durante la mayor parte de mi vida profesional en campos que de alguna manera están relacionados. Puedo ver que hay tres áreas de estudio que te ayudarán mucho aquí.
Primero: lenguajes de programación. Saber un idioma utilizado en la industria es una ventaja. Ahora estoy trabajando en la industria automotriz/transporte; No estoy trabajando en material crítico para la seguridad, así que solo usamos C/C++ estándar. Incluso en ese nivel, un buen conocimiento de software y programación de bajo nivel (cómo escribir un controlador simple, cómo interactuar con un dispositivo usando ioctl, etc.) es muy útil.
Antes de eso, trabajé en un campo relacionado con lenguajes de programación y compiladores, especialmente en simulación y análisis de código concurrente. Entre otros, interactué brevemente con personas que trabajan para Airbus (profesores que están en la academia, pero ayudan a construir software real). Todavía ven y usan mucho Ada, así que... saber eso es bueno :) También sé con certeza que también se usa Java, junto con herramientas especiales para verificar el código.
Lo que nos lleva a lo segundo: todo lo relacionado con la verificación de software , tanto desde un punto de vista teórico como práctico, te ayudará enormemente en esta industria. Estudie y practique con monitores de tiempo de ejecución y verificadores de modelos, al menos. Aprenda sobre varias técnicas de análisis estático, como la interpretación abstracta. Toma clases sobre eso, si puedes en tu escuela.
Y tercero: estudie y practique con sistemas integrados y con los (más raros) sistemas operativos en tiempo real y cómo funcionan (y cómo los programa). Consíguete un arduino o un netduino (no un raspberry PI - ¡nivel demasiado alto, demasiados recursos allí!) y practica con ellos. Más información sobre uboot.
Sospecho que la única respuesta es "en el trabajo".
Aprenda tanto C como C++ y algo de programación integrada e intente postularse para cualquier puesto junior en las empresas que se dedican a la aviónica que encuentre.
Los teléfonos móviles ya no se pueden considerar integrados, pero debería poder encontrar un curso de robótica o cibernética (controladores industriales) o una pasantía que los involucre. Una pasantía en electrónica de consumo también podría ayudar.
Y no olvide que los fabricantes de aeronaves no hacen la aviónica ellos mismos, sino que compran módulos estándar de proveedores como Garmin o Honeywell o los subcontratan a muchas empresas de consultoría. Y esas empresas a menudo también hacen otros tipos de integrados (automotrices, industriales, etc.).
Notas: conozco remotamente a alguien que hizo aviónica y no creo que apuntara específicamente a eso; simplemente era un buen programador de C y solicitó un trabajo. Yo mismo hice algo de automoción, de nuevo acabo de solicitar (junior; fue justo después de la graduación) un trabajo de C/C++ en una empresa de consultoría que originalmente era móvil y se cambió a automoción porque el proyecto original realmente no se puso en marcha.
Para la aviónica, lo siguiente será esencial solo para que se considere su CV:
Lo siguiente también sería útil: -
Con un BS (no BEng) en Ciencias de la Computación (no ingeniería electrónica), entonces puede estar en desventaja en algo de esto. DEBE elegir sus proyectos para obtener la experiencia adecuada que desea llevar a los empleadores.
Por supuesto, solo estás al comienzo de tu vida laboral. Un título es solo el comienzo, y cualquier empleador que contrate graduados sabrá que necesita capacitación. Un buen empleador observará más en general qué tan brillante pareces ser y qué tan bien cree que puedes adquirir nuevas habilidades. Si juegas con la tecnología en tu tiempo libre, probablemente también sea algo bueno para llevar a las entrevistas.
Tengo un amigo que trabaja en software de aviónica. Incluyendo proyectos espaciales.
Se metió en esto solicitando un trabajo en empresas que trabajan en ese campo o similar, antes de eso no tenía ninguna formación o experiencia especial en aviónica.
El trabajo de aviónica tiende a hacer más uso de lenguajes de programación que no son convencionales. Creo que hay mucho C incorporado (por lo que las habilidades generales de C pueden ser útiles), pero también lenguajes y ensamblajes específicos del procesador como Ada (quizás más para la aviónica de defensa).
Es muy probable que tenga como objetivo un sistema operativo en tiempo real (RTOS) o un microcontrolador. Así que el conocimiento de estos puede ser una ventaja. Es posible que necesite escribir controladores de dispositivos y migrarlos a nuevas plataformas (por ejemplo, de un microprocesador a otro). Es posible que deba programar microcontroladores (por ejemplo, 8051) en ensamblador o C.
Es probable que encuentre una rigurosidad mucho mayor en términos de escritura y/o uso de pruebas unitarias, arneses de prueba, herramientas de cobertura, pruebas de integración y documentación formal minuciosa y revisión de todo.
Ya se ha sugerido aprender C y C++ , y también agregaría el lenguaje de programación Ada a esa lista. Gran parte del software de aviónica está escrito en esos tres lenguajes de programación.
Mientras aprende C/C++, aprender a codificar correctamente de acuerdo con los estándares de codificación para software de aviación también puede ser útil.
Recomiendo leer:
Si desea jugar con la programación de aviónica real, puede estar interesado en obtener un cuadricóptero de código abierto (como el de AeroQuad ) como juguete y experimentar con su software.
No trabajo con aviónica, pero he trabajado con teledetección en el contexto de las Ciencias de la Tierra.
Creo que estos materiales podrían ser de alguna ayuda además de lo que otros han sugerido, especialmente. si está interesado en los aspectos científicos (lo siento, la respuesta puede estar algo fuera de tema si no lo está).
Programación
Además de C, Fortran todavía se usa mucho para implementar varios algoritmos y modelos. Para tareas y visualizaciones más pequeñas, las personas a menudo usan Python ( numpy , scipy , pandas , matplotlib ) y R (R es un excelente lenguaje de programación estadística, algo que usaría en lugar de Excel para cosas serias).
Con respecto a C, nadie parece mencionar que la codificación segura es realmente necesaria para aplicaciones tan importantes. Seacord, 2013 es un gran libro para este propósito.
Chapman, Stephen J. Fortran 95/2003 para científicos e ingenieros. McGraw-Hill, 2008.
Seacord, Roberto. Codificación segura en C y C++ (2ª edición) (Serie SEI en ingeniería de software). Addison-Wesley Professional, 2013.
Matloff, Norman. El arte de la programación en R. Prensa sin almidón, 2011.
Física
Los buenos fundamentos de la física son sin duda vitales en la exploración espacial.
Muchas de las medidas que se hacen en el espacio tienen que ver con la radiación, así que agrego una referencia a eso.
Física II: Electricidad y Magnetismo ,
Física III: Vibraciones y Ondas
conferencias en video del Prof. Walter Lewin (MIT OCW)
Halliday, David, Robert Resnick y Jearl Walker. Fundamentos de física ampliados. John Wiley & Sons, 2010.
Pequeño, GW. Un primer curso de radiación atmosférica (2ª ed.). Editorial Sundog, 2006.
Matemáticas
El cálculo es probablemente lo más importante, luego el álgebra lineal.
Muchos problemas de diseño y física tienen que ver con la estadística y la optimización.
Video conferencias de álgebra lineal del Prof. Gilbert Strang (MIT OCW)
Wilks, DS. Métodos Estadísticos en las Ciencias Atmosféricas. Prensa Académica, 2011.
Programación probabilística y métodos bayesianos para piratas informáticos (disponible en línea)
Kruschke, J. Realización de análisis de datos bayesianos, segunda edición: un tutorial con R, JAGS y Stan. Prensa Académica, 2014.
Unix/Linux
Los sistemas operativos Unix se usan mucho en ciencias aplicadas, sistemas integrados y supercomputadoras.
Kerrisk, M. La interfaz de programación de Linux: un manual de programación de sistemas Linux y UNIX. Prensa sin almidón, 2010.
Lucas, MW. Absolute FreeBSD: La guía completa de FreeBSD. Prensa sin almidón, 2007.
muchos otros libros, por ejemplo, los publicados por O'Reilly
Algunas lecturas diarias: phys.org/space-news/ (-;
Sugiero buscar un curso de análisis de software y aprender un sistema de prueba como PVS. Regresé a la escuela de posgrado después de 14 años en varias industrias de software, y el curso de análisis de software que tomé ha sido fácilmente el más revelador. No habría tenido mucho sentido cuando estaba en la escuela, pero después de trabajar durante muchos años, el material hizo clic. Nunca fue un tema que sentí que disfrutaría, y puede ser un poco seco, pero una vez que lo aprendes, nunca verás la programación de la misma manera.
Después de una pequeña búsqueda en la red, encontré este libro: Desarrollo de software crítico para la seguridad: una guía práctica para el software de aviación - Rierson .
Jon historia
Jan Hudec
Jon historia
Jan Hudec
Jan Hudec
rbp
Jon historia
número de usuario
Jan Hudec
rbp
Keegan
ShinTakezou