La ingeniería en software se puede llamar como una parte especial de la ingeniería informática o una extensión. Así es como prefiero llamarlo.
Lo básico se puede entender por su significado, que es software y computadora. La ingeniería de software le permite estudiar la programación y fabricación de software principalmente, es decir, sistemas operativos, software antivirus, IDE, etc.
Mientras que la ingeniería informática puede ser el término que consiste en casi todas las partes de la computadora.
- ¿Cuál es el mejor software para que un principiante aprenda a ingresar a la industria de efectos visuales?
- ¿Cuál es el rango actual de costos por hora (en USD) para desarrolladores de software rusos de alta calidad (front-end y back-end)?
- ¿Cuánto es razonable pedir, como desarrollador de software de nivel medio a superior, para ser compensado por más de 5 horas, entrevistas en el sitio?
- ¿Cuál es la corrección de errores de programa de computadora más creativa?
- ¿Por qué los teléfonos inteligentes y algunos otros dispositivos de grabación de video capaces de grabar [correo electrónico protegido] no pueden grabar [correo electrónico protegido] o [correo electrónico protegido] ?
Pero la otra forma de entenderlo es ver la practicidad de su extensión. En ingeniería de software, en realidad estás construyendo algo en términos de software, pero la informática solo te permite tener un conocimiento teórico de todo. Aunque se les pide a los estudiantes que hagan un proyecto y lo presenten en la final en ambas secuencias.
He enumerado algunas de las asignaturas académicas para que entiendas mejor. Aunque existe la posibilidad de que el listado sea diferente para diferentes universidades.
La informática es prácticamente una rama de las matemáticas, o al menos se consideraba clásica. Abarca:
Matemática discreta (teoría de grafos, combinatoria, lógica)
Lenguajes de programación (teoría, compiladores, lenguajes)
Programación orientada a objetos (estructuras de programación,
Teoría de la computación (complejidad, criptografía, autómatas)
Algoritmos y estructuras de datos (complejidad mediante análisis de algo)
AI (aprendizaje automático, robótica, reconocimiento de patrones, minería de datos)
Computación paralela y distribuida (concurrencia, comunicación / redes, HPC)
Arquitectura y sistemas (lógica digital, sistema operativo, redes, sistemas arch.)
Los campos computacionales (computación científica, numérica, también podrían incluir gráficos / visualización)
Gráficos (visión por computadora en algunos casos, geometría)
Ingeniería de software
Arquitectura y diseño de software.
Escalabilidad y mantenibilidad
Validación, automatización y pruebas.
Seguro de calidad
Sistemas UI / UX (a veces)