it-swarm-es.com

¿Deberían la Ingeniería de Software y las Ciencias de la Computación ser carreras separadas?

Durante décadas, el título aceptado para convertirse en desarrollador de software fue "Compter Science".
Ya hemos tenido algunaspreguntas acerca de si ese título realmente prepara a los estudiantes para desarrollar software.

Algunas escuelas, en los últimos 8 años aproximadamente, han comenzado a ofrecer múltiples especializaciones distintas en programación. Usando el plan de estudios de mi escuela:

  • Ciencias de la computación , que comienza con algunos cursos de introducción a la programación en el primer año y luego se enfoca en ciencias de la computación teóricas, algoritmos y un poco de cosas del SO . La mayoría de las clases involucran varios proyectos y tareas más pequeñas, hechas en solitario o en parejas.
  • Ingeniería de software , que comienza con los mismos cursos de introducción a la programación, hace algunas clases de teoría y luego pasa a las prácticas de desarrollo de software (pruebas, metodologías de proceso , métricas de software, recopilación de requisitos) y diseño de software (diseño de sistemas distribuidos, diseño de sistemas de información, diseño en tiempo real/integrado, diseño de subsistemas, etc.)

Las diferentes escuelas lo hacen de manera diferente, por lo que lo anterior es solo un ejemplo del mundo real con el que estoy familiarizado. Lo que pregunto es: ¿Existe la necesidad de especializaciones distintas en programación?

19
Fishtoaster

Sí, deberían serlo.

La relación entre la informática y la ingeniería de software es la misma que la relación entre la física y la ingeniería mecánica. Uno proporciona los antecedentes teóricos, mientras que el otro toma esas teorías, junto con buenos principios de ingeniería, y los aplica al diseño e implementación de software.

Necesita ambos para producir software nuevo y mejor. Una buena educación en ciencias de la computación capacita a las personas para producir nuevos y mejores algoritmos, estructuras de datos, lenguajes de programación y paradigmas, compiladores y una serie de otras cosas que se pueden utilizar para mejorar los sistemas de software. Una buena educación en ingeniería de software, por otro lado, lo capacita para aprovechar estas herramientas y el conocimiento obtenido a través de un estudio científico de la computación, junto con un conocimiento del ciclo de vida del desarrollo de software y los modelos de proceso para construir realmente el sistema que un cliente desea y necesita. .

28
Thomas Owens

Es bien sabido que un plan de estudios de informática típico no lo prepara para la industria, no tanto como quiere que esté preparado de todos modos. Entonces, sí, se necesita una especialización en ingeniería de software, y las dos deberían ser distintas, aunque definitivamente en la misma facultad.

3
EpsilonVector

Deben ser disciplinas diferentes, pero no a nivel de pregrado. Simplemente no veo cómo pueden acumular todo lo que se necesita para la Ingeniería de Software en una licenciatura. De la misma manera que no vemos títulos universitarios en Ingeniería de Sistemas (donde las personas obtienen una maestría después de obtener un título en EE, CE, Ingeniería Mecánica o CS), es un caso similar con Ingeniería de Software.

Es un enfoque multidisciplinario basado en gran medida en la informática y/o MIS. Las personas realmente se convierten en ingenieros de software en la práctica (y no solo en el título) después de realizar cursos avanzados y/o experiencia laboral en el campo, siempre que lo último se haga en entornos propicios para la ingeniería de software.

La mayoría de las personas tienen títulos de ingeniería de software, pero no han avanzado más allá de la codificación. Esto no es una descripción de ellos, sino una observación: no han estado suficientemente expuestos al tipo de trabajo que los ayudaría a acumular experiencia laboral más allá de la codificación. Peor aún, la mayoría de los trabajos y las organizaciones se gestionan de forma atroz y no conducen a realizar una ingeniería de software adecuada.

Además, sin algo de trabajo o madurez académica, el material de ingeniería de software simplemente volará sobre las cabezas de la mayoría de los estudiantes de pregrado.

1
luis.espinal