¿Qué hace que la especialización en informática sea tan difícil? La tasa de abandono de CS en mi escuela es muy alta; solo el 15 por ciento de los estudiantes de primer año que declaran graduarse en CS con el título. ¿Es difícil comprender el material o la lógica, o los estudiantes perezosos son eliminados?

Yo diría esto último (trabajo duro). Es difícil capturar, en una respuesta de 2-3 párrafos, cuán difícil (y largo) (y agotador) pueden ser algunas de las tareas de programación, especialmente. aquellos que involucran recursión compleja, autómatas o teoría similar. En muchos casos, la solución puede ser como un ‘Sudoku engañoso’ o un ‘rompecabezas lógico’ que ciertos tipos de pensadores ‘obtienen’ y otros no. La combinación de “comprender el truco” y “hacer el ejercicio de codificación largo y difícil” puede ser fácil (en días buenos) o agotador (para problemas difíciles).

[Aunque no me gustan los entrevistadores de trabajo que preguntan enigmas como práctica general, Braingle: ” U2 ” Brain Teaser y Preguntas frecuentes del Dr. Math: Camel and Bananas son ejemplos de lo que describo anteriormente; ambos tienen soluciones ‘elegantes’ (rápidas, descifrar el secreto), así como soluciones ‘simples’ (fuerza bruta, posibilidades diversas).]

SIN EMBARGO. Sostengo que no es difícil convertirse en un informático razonable (¿promedio? ¿Mediocre?), El tipo de persona que escribe algoritmos de fuerza bruta simples (pero no derrochadores) para resolver problemas, que es capaz de comprender que O (N ^ 2) es mejor que O (N ^ 3), y O (log-keep-splitting-on-pieces) es mejor que cualquiera de esos, etc. El mundo necesita mantenedores de códigos y consultas de depósito de datos y seguro humilde -aplica tanto como necesita razonamiento neuronal y visión multisensor compleja. Si puede graduarse con un promedio de C / C + y obtener ese primer trabajo tan importante (tal vez como voluntario o pasante, o desempeñando un papel administrativo local / estatal / gubernamental), es posible ‘sobrevivir’ en la industria, y para seguir aprendiendo.

Después de pasar la mayor parte de mi vida estudiando, implementando y enseñando CS, un problema que he visto que es el denominador común de muchos estudiantes nuevos es no poder pensar en términos de máquinas. Dejame explicar:

Una computadora es realmente una “máquina de estados finitos” cuyos estados pueden ser manipulados para realizar operaciones y obtener resultados. Los problemas que las computadoras pueden resolver (sí, hay problemas que las máquinas no pueden resolver de manera realista o incluso teórica) deben traducirse en un conjunto de estados y reglas que gobiernen cómo la computadora cambiará de un estado a otro. Esto es muy diferente de la forma en que los humanos tienden a pensar en los problemas y sus soluciones. Con una especialización CS, te encuentras repetidamente con situaciones en las que necesitas traducir problemas comunes en un conjunto de estados e instrucciones (especialmente en programación). Por ejemplo, ¿cómo ordenaría una lista de enteros no ordenados a través de una secuencia finita de pasos donde cada paso es una operación que la computadora puede realizar a la vez ? Esta traducción requiere una forma particular de pensar, que puede ser muy difícil de entender en los primeros días de su viaje de CS.

Otro factor que complica las cosas en CS es la participación de las matemáticas. Debes ser bueno en matemáticas de nivel escolar / universitario. La aritmética binaria, las matrices y el álgebra booleana lo encontrarán al principio de su viaje. La mayoría de las veces, las personas evitan (u odian) las matemáticas.

Una cosa más sobre CS que lo hace difícil para los principiantes es el hecho de que CS es el centro de muchas otras ciencias, incluidas, entre otras, matemáticas discretas, diseño de circuitos, desarrollo de software, redes, ciencias de datos, informática y web. En tus años de graduación, obtienes una idea de la mayoría de estas materias y los principiantes no pueden apreciar la base subyacente común que une todos estos mundos. Al observar otras especialidades como Química o Biología, donde el “campo de visión” es relativamente estrecho / coherente, las personas encuentran que cambiar su especialidad es más fácil que cambiar su mentalidad. 🙂

Si su universidad no tiene admisiones competitivas y permite que los estudiantes declaren una especialización inmediatamente como estudiantes de primer año, gran parte de la deserción podría surgir al darse cuenta de que la informática no es realmente lo que pensaban que era. Algunos estudiantes solo quieren aprender programación, y la programación no es lo mismo que la informática. Pueden darse cuenta de que pueden ser grandes programadores y especializarse en algo que les interesa más que la disciplina académica formal de la informática. Si lo miras de esta manera, muchos estudiantes que se matriculan en una especialidad determinada no se gradúan con esa especialidad, cambian a otro campo cuando pueden tomar una decisión más informada.


Además, sí, la informática es difícil, por lo que pierdes algo de esa manera.

Sí, el trabajo puede ser difícil. Si fuera fácil, todos tendrían un título de CS y serían tan inútiles como un administrador de negocios o un título de enseñanza. Es muy difícil si su cerebro no está conectado de la misma manera que el cerebro de un programador y mucho más fácil si está conectado de esa manera. Las personas cambian sus carreras por varias razones y todas son válidas. La universidad brinda la oportunidad de explorar áreas de interés. No es delito meter el dedo del pie en el agua y decidir que no es para él / ella.

Noté que nadie hizo la pregunta de a dónde fuiste a la escuela. Si va a una institución con fines de lucro, es posible que esté viendo los resultados de la inscripción predatoria. 85% es una tasa de abandono muy alta. ¿Podría considerar cómo se compara con otros programas en su escuela?

Parece que lo que hace que el título sea tan difícil son los estándares absurdos de tu universidad. 15 por ciento? De Verdad?

Estudié en el Technion Institute of Technology, una universidad que se considera relativamente difícil, y nuestras especialidades en informática tienen una tasa de graduación mucho más alta. Sus calificaciones pueden no ser tan altas como les gustaría, pueden tener algunas dificultades para conseguir un trabajo si las calificaciones son bajas, pero se gradúan.

Si los graduados de tu universidad tienen un respeto extremadamente alto y crees que tienes lo que se necesita, anímate. De lo contrario, puede valer la pena buscar en otro lado, donde la universidad no tiene aproximadamente 6 de cada 7 estudiantes.

Les dije a mis hijos y a otros jóvenes,

La informática es una especialidad difícil, no se equivoque. Es lo suficientemente difícil como para que tenga que trabajar duro , incluso si está acostumbrado a estudiar poco y a obtener buenas calificaciones. Si estás dispuesto a trabajar duro, es un campo muy gratificante. Si no te apasiona estudiar CS, te recomendaría respetuosamente que selecciones una especialidad que te apasione.