Si ya voy a tomar una clase de proyecto CS (Sistemas informáticos integrados), ¿debería molestarme también en tomar el Proyecto de ingeniería de software?

La gente ya ha respondido esto con suficiente detalle, pero hay algunos elementos que vale la pena mencionar:

  • Los proyectos lo diferencian de sus compañeros : en una clase de posgrado altamente competitiva que será en gran medida homogénea en habilidad, esto puede ser muy importante.
  • Los proyectos le proporcionan habilidades que no se enseñan a menudo en clase : horarios, requisitos, resúmenes, próximos pasos, etc.
  • Los proyectos pueden * enseñarle a dividir y distribuir el trabajo entre pares : tenga en cuenta que esto a menudo es un fracaso en los proyectos grupales (distribuciones desiguales de habilidades y esfuerzo)
  • Aprender ambos es complementario : las consideraciones desde una perspectiva comercial son interesantes porque ambos son bastante diferentes en términos de requisitos. A menudo, el software interactúa con el hardware que no está en un dispositivo incorporado, es decir, auriculares Bluetooth al teléfono y viceversa o dispositivo IoT al software controlador principal / HMI.

Contrataré a un pensador innovador y una persona apasionada sobre un estudiante con un GPA muy alto sin sueños e inspiraciones. Especialmente, si él o ella no tiene sus propias habilidades para resolver problemas.

Sería útil saber cuál es su compensación al no tomar ese curso adicional del proyecto.

PERO si es simplemente una opción de tomar o no, ¡entonces definitivamente! Las clases de proyectos te ayudarán mucho en términos de experiencia y trabajo.

Las clases de proyecto te presentarán problemas de la vida real, y cuanto más lo hagas, mejor serás. Solo para enumerar algunos:

  1. ¿Cuál es el requisito para este proyecto ‘A’? ¿Cuál es el requisito de nuestros usuarios (clientes)?
  2. ‘N’ número de personas están trabajando juntas, ¿cómo podemos nosotros, como equipo, trabajar eficientemente para mantener el código?
  3. ¿Cómo debo diseñar una aplicación para que se adapte rápidamente a los cambios y sea menos propensa a introducir errores?
  4. ¿Cuál es el buen diseño de los casos de prueba que maximiza la cobertura pero que es fácil de desarrollar?
  5. ¿Es mi diseño escalable?
  6. ¿Debo usar una biblioteca de código abierto o implementar desde cero?

Además, sugiero tomar tantos cursos de CS como sea posible que tenga al menos algún interés en él. Cuando era un estudiante universitario en la UCSD hace solo un año, tenía la opción de tomar asignaturas optativas que no son CS en lugar de las electivas CS. La compensación fue GPA por experiencia, y por supuesto, elegí la experiencia. Después de graduarme, esto realmente me ayudó a comprender mejor el CS en general y en mi carrera, ya que ya conocía al menos un poco de cada área. Y al tener más exposición a muchos cursos, descubrirá qué tema le gustará y en qué es mejor. Por supuesto, planifique bien. Tomar 4-5 cursos de CS en un trimestre será muy sobrecargado.

Aquí hay algunos, por supuesto, que elijo encargarme de las asignaturas optativas que no son CS y realmente me ayudaron en general.

  • Linux
  • Esta no era la clase de sistema operativo y se centró más en la programación de shell y la estructura de Linux. No es un requisito de graduación. Muchas compañías usan Linux como su plataforma
  • Redes
    • Usamos Internet todos los días (duh …) así que quería saber más sobre la parte técnica.
  • Seguridad
    • No hay duda de que si un adversario tiene acceso a algún servidor (banca, tráfico, plantas de energía, etc.), el mundo se derrumbaría. Quería saber cómo los ingenieros crearon una aplicación segura.

    Sí. Toma los dos. Estas son materias diferentes pero complementarias.