¿Por qué tantos estudiantes abandonan una especialización en informática?

Algunas razones para hablar como estudiante B.

  • Los abandonos son altos entre todas las especialidades de ciencias y matemáticas en el primer año, no solo CS. Las clases eliminadas castigan en gran medida el bajo rendimiento.
  • Las clases son curvas y muchas personas han estado programando mucho antes de la universidad.
  • Los fundamentos matemáticos débiles significan que clases como cálculo multivar, matemáticas discretas y alg lineal golpean a algunos estudiantes como una tonelada de ladrillos.
  • Algunos no están listos para el compromiso de programación. Las clases de CS tienen altas cargas útiles fuera de clase y tiempos de finalización indeterminados porque tienes que hacer que tu mierda funcione.
  • La clase de introducción utiliza Java, que se basa en el paradigma OO. Es como pedirles a los estudiantes que escriban ensayos de 5 párrafos antes de aprender introducción, conclusión, etc.
  • La segunda clase, estructuras de datos, se enseña en C. Esta es inevitable porque la viñeta tiene que ser poco. Pero los indicadores mezclados con listas enlazadas individualmente / doblemente me hicieron ir a las horas de oficina del profesor más que cualquier otro tema.

CS es una carrera fantástica. Sin embargo, en mi opinión a continuación se encuentran algunas de las razones por las que los estudiantes abandonan.

  1. Nuevo idioma: no se puede escribir código en inglés simple (al menos por el momento). Computer Science, tiene su propio lenguaje, y no solo uno, en el curso de un título de CS probablemente trabajará con algunos: Java, C, C ++, Scheme / Lisp, etc. Requiere paciencia y práctica para aprender una nueva sintaxis.
  2. Carga de trabajo: desde mi experiencia, las clases de CS pueden tener una gran carga de trabajo. Cada semestre, es importante ser inteligente al elegir una buena combinación de clases de carga de trabajo alta / moderada
  3. Trabajo en equipo: muchas clases de CS requerirán que trabajes en equipo en un proyecto. Las personas que prefieren trabajar solas, o aquellas que han tenido malas experiencias en un equipo, pueden desanimarse
  4. Cambio de entrada frente a salida: CS es fascinante, puedes crear tus propios juegos, aplicaciones móviles, aplicaciones web, etc. Todo lo que sueñas, con una computadora portátil y una conexión a Internet, puedes armarlo. Sin embargo, esto es más fácil decirlo que hacerlo. Se necesita mucho trabajo duro, compromiso y un poco de tiempo para construir algo grandioso. Los estudiantes solo se dan cuenta de esto después de comenzar con la especialidad
  5. Estructura del curso: en mi opinión, CS es una de las principales carreras más prácticas en el mundo de hoy. Si lo desea, puede construir casi cualquier cosa usted mismo. Aunque es muy práctico, las clases siguen siendo largas conferencias, con 1 laboratorio a la semana. Las clases de química tienen 1 laboratorio a la semana, donde trabajas con vasos de precipitados y pipetas. Se aprende mucho en CS haciendo. Creo que las escuelas deben repensar cómo se imparte el curso y cambiar la combinación de clases y tiempo de laboratorio.

En mi universidad (Universidad de Aalborg en Dinamarca) tenemos dos títulos relacionados: un título en informática y un título en tecnología de software; Los dos primeros años de los programas de pregrado son idénticos, como es el último año del programa de maestría. Enseño a estudiantes de ambos programas de grado.

En los últimos años, la tasa de deserción ha aumentado dramáticamente para los estudiantes de primer año y nosotros (la junta de estudios) hemos realizado una encuesta basada en la información disponible sobre las calificaciones de los estudiantes que abandonaron.

Los estudiantes que abandonaron tuvieron calificaciones significativamente más bajas (en el sentido estadístico) en matemáticas en la escuela secundaria y esto parece ser una de las explicaciones. La experiencia anecdótica que tengo, después de haber enseñado cursos de primer año y supervisado algunos proyectos de estudiantes a lo largo de los años, está en línea con esto: que una de las principales razones por las que los estudiantes se dan por vencidos es que luchan con cursos que están orientados matemáticamente, como como los cursos sobre algoritmos y estructuras de datos, teoría del lenguaje formal y teoría de la computabilidad. Algunos estudiantes no se han dado cuenta de que un título en informática es, en muchos sentidos, un título en ciencias.

Mi experiencia es dos cosas. Número uno: los estudiantes ingresan a CS sin saber en qué se están metiendo realmente. “¡Quiero hacer videojuegos y aplicaciones móviles y páginas web geniales!” “Bienvenido a Estructuras discretas. En esta clase, hablamos sobre los fundamentos de los algoritmos que serán necesarios durante el resto de su carrera de CS, incluidas las propiedades de las operaciones binarias, los algoritmos recursivos y la teoría de conjuntos avanzada” “¡¿QUÉ? !!! ” Eso es lo que les sucede a muchos estudiantes de CS.
Sin embargo, hay un segundo grupo de personas que no merecen abandonar, pero lo hacen. En el programa de CS en mi universidad, la clase de estructuras de datos tiene calificaciones ponderadas de la siguiente manera:
Tareas de programación 1-4: 25 pts cada una, con 10 pts como documentación y 15 pts como programa en sí
Pruebas 1-3: 100 pts cada una
Final (una prueba): 200 pts
¿Eso es retorcido para un curso de programación o qué? ¡Las tareas de programación valen un sexto de tu calificación! El resto son todas las pruebas. Eso está mal, mal, mal, mal, ¡EQUIVOCADO! Las calificaciones en una clase de programación se deben ponderar principalmente en las tareas de programación. El curso de desarrollo de aplicaciones móviles, por otro lado, no es más que escribir aplicaciones y su final es presentar una aplicación a la clase que creó. Por lo tanto, no es todo el departamento de CS. Mi punto con este discurso de calificación es que algunos estudiantes abandonan porque la programación es una cosa de hacer, no una cosa de estudiar. Aquellos a quienes les gusta la programación porque es algo que se puede hacer, no pueden hacer clases como este curso de Estructuras de datos simplemente porque el peso y la estructura del curso están muy jodidos. Tuve que tomar el curso dos veces … y tengo dos trabajos de programación a tiempo parcial. Puedo programar Pero no rellenar los algoritmos en blanco en las pruebas. ¡ESCRIBO PROGRAMAS!
Esa es la segunda razón por la que algunos estudiantes abandonan los programas de CS. Sin embargo, diría que la primera razón es la principal. La gente simplemente no se da cuenta de lo que hay debajo de las cosas bonitas en su pantalla. De hecho, estoy súper interesado en todo. ¿Qué podría superar las tablas de verdad para probar operaciones binarias en una computadora? 😀

Desde mi experiencia como estudiante de CS, la mayoría de las personas que eligen CS como su especialidad lo hacen porque quieren algo lo más cercano posible a un grado de desarrollo de software / ingeniería. Desafortunadamente, el desarrollo / ingeniería de software no es un título para la mayoría de las universidades. Por lo tanto, realmente no existe tal grado, en la mayoría de las universidades, que satisfaga lo que los estudiantes están buscando, es decir, un posible empleo en la redacción del código. Entonces terminan estudiando computación y son “aplicaciones”. Tenga en cuenta que las “aplicaciones” no son necesariamente estándares de la industria, sino que ayudan a explicar las teorías de la informática. ¡Aquí es donde está la brecha!

Cuando los profesores tienen que comenzar a citar “te convertiremos en mejores estudiantes” es donde comienza el problema … La adaptación es útil hasta cierto punto, pero el conocimiento y la experiencia entran en juego todo el tiempo en el empleo. Este es el caso en el desarrollo de software. Estudiar conceptos básicos de programación, es decir, variables, funciones, matrices, etc., es vital para ser un buen programador, y enseñar un campo que aparentemente evoluciona constantemente puede ser difícil, pero se ha convertido en un conocimiento común que aprender a programar según los estándares de la industria. en realidad es más fácil fuera de las universidades.

El problema principal con CS en general, desde mi experiencia, es que no prepara a una persona para los estándares actuales de la industria sobre cómo programar un buen código. Más bien, la educación CS se adhiere a la implicación de su nombre. Las universidades, a su vez, emplean a una gran cantidad de profesores que están pagados en exceso y con poco trabajo. No me creas Forbes afirmó que los profesores universitarios eran el trabajo menos estresante de 2013. Ok, entonces habla más que CS, pero este problema tiene una solución y le cuesta mucho dinero al gobierno y al público en general.

Lo que debe suceder …
CS debería apegarse a sus armas. La informática debe ser el estudio de la computación y sus aplicaciones. Las universidades BBBUUUUTTTT deben dejar de promocionar que es una buena fuente de desarrollo de software. Los intentos de hacerlo están demostrando fracasar. En cambio, las universidades deben proporcionar un programa que prepare a los desarrolladores de software para el lugar de trabajo.

Lo que predigo …
La demanda a menudo fomenta la oferta. Puede tomar años para que los empleadores decidan dejar de mirar a las especialidades de CS como una buena fuente de programadores, pero eventualmente habrá suficientes buenos programadores por ahí, mayores de CS o no, que podrán satisfacer las demandas de los empleadores. Dicho esto, puede llegar el día en que se le pida que programe algo que se aplica a un empleador en lugar de algo que aprendió en la escuela.

Cuenta conmigo en la misma categoría. Lloré y rodé en el piso para sacarme de las computadoras principales en secundaria superior.

Es solo que a las personas inteligentes no les gustan esas cosas locas en el primer sitio.

¡Pero yo mismo elegí la licenciatura de CS y estoy ganando mucho dinero! Porque acabo de ver a las personas que ganan muy alto. Así que pensé que debería ganar dinero sin importar cuán seco esté el tema. A continuación se detallan los pasos que seguí.

¡Debe conocer el conocimiento y la pequeña cantidad de práctica que le permite obtener un trabajo a cualquier costo!

Por ejemplo, debe haber estudiado ingeniería de software, pero necesita habilidades como Pruebas de automatización (como ejemplo) para poder ofrecerle cartas después de la graduación.

¡Digamos que conocer herramientas como Selenium Webdriver sería una elección perfecta! ¡Solo necesita implementar su conocimiento de java o .net para escribir scripts de automatización para Selenium!

Si cree que necesita comenzar desde algún lugar, le sugiero que lea un libro en lugar de mirar youtube, asistiendo a cualquier capacitación (intento costoso), por lo tanto, vale la pena revisar las siguientes lecturas:

Haga clic en votar y guarde esta información en un documento de Word en el escritorio. ¡Será útil!

En pocas palabras, MATH y LOGIC son los principales problemas, la mayoría de mis amigos que abandonaron no pueden manejar la situación matemática. Y CS no es lo mismo que Ingeniería de Software, los estudiantes de CS no codifican todo el tiempo, es solo una herramienta para resolver problemas.

La mayoría de las respuestas afirman que es la matemática y la lógica lo que apaga a los estudiantes, pero para mí, todo fue cuesta abajo después de que terminé la mayoría de los cursos de “hierba” relacionados con las matemáticas y pasé a más clases prácticas. Las principales razones por las que abandoné temporalmente incluyen:

-Las clases prácticas son básicamente 2 o más clases en una. Además de todo el material teórico aprendido en la conferencia, los maestros también requieren que los estudiantes aprendan nuevas tecnologías por su cuenta en cuestión de semanas o incluso días.

-La gran cantidad de trabajo en grupo es extremadamente inductora de ansiedad, aunque esto probablemente sea cierto para las clases de división superior de cualquier especialidad.

-Muchos proyectos requieren que los estudiantes presenten sus propias ideas para las características, lo que puede ser difícil para aquellos de nosotros que no somos creativos y estamos demasiado acostumbrados a las tareas con instrucciones específicas.

Básicamente, cuanto más cerca estaban las clases de los trabajos reales de desarrollador, peor me fue.

En los EE. UU., Al menos, CS es una gran especialidad, con muchos más estudiantes haciéndose cargo de ella desde la Gran Recesión, viéndola como una especialidad donde un graduado universitario puede encontrar un buen trabajo. Muchos de esos estudiantes probablemente no están bien preparados o mal preparados, o ambos, para tener éxito en CS, y su interés es superficial. Naturalmente, algunos de ellos lo hacen mal o se dan cuenta de que lo odian y se van.