Dado que todos los temas de ciencias de la computación pueden ser autodidactas, ¿por qué necesitamos estudiar ciencias de la computación en la universidad?

Considere la clase de simulaciones de física altamente paralelas. ¿Cómo afectará el costo de la máquina, el tiempo de solución, la calidad de la solución y el consumo total de energía del sistema? ¿Cómo cambiará el punto flotante IEEE 754 tradicional a una representación numérica basada en rango (por ejemplo, Unum) en el hardware?

Ese es un problema informático. Para resolverlo, voy a aprovechar mis habilidades en C y Fortran (autodidacta), ensamblaje x86 (autodidacta), contadores de rendimiento de hardware (autodidacta), la maravillosa herramienta Pin (autodidacta) de Intel , programación paralela y distribuida (autodidacta) y, probablemente, un poco de estadística (autodidacta).

Enseñar herramientas a ti mismo es bastante sencillo. Las fallas ocurren de manera rápida y determinista, y generalmente tienen pocas consecuencias negativas.

Sin embargo, reunir todas esas herramientas en una historia coherente no es algo que quiera aprender por prueba y error. Dado que entiendes cómo usar todas estas herramientas, ¿qué haces con ellas? ¿Y por qué crees que tu elección convencerá a otras personas de que tus conclusiones son válidas?

Es por eso que debes estudiar (nivel de posgrado) ciencias de la computación. No para aprender herramientas, sino para aprender a resolver problemas que son más difíciles que una aplicación sencilla de herramientas.

Te concedo que mi argumento anterior podría aplicarse solo al estudio de posgrado en ciencias de la computación. Hice mi licenciatura en teatro y (en mi opinión idiosincrásica) creo que si eres bueno en CompSci deberías obtener una licenciatura en cualquier otra cosa, obtener una maestría rápida en CompSci y, por lo tanto, estar mejor preparado para trabajar Problemas más interesantes.

Ciertamente no necesitas estudiar ciencias de la computación en la universidad. Pero lo mismo se puede decir de casi cualquier disciplina: “Ya que esto también puede ser autodidacta, ¿por qué necesito estudiarlo en la universidad?”

Al final, generalmente quieres especializarte en un tema que te resulte interesante. Si eso es ciencias de la computación, ¿por qué no especializarse en ello? Si estás más interesado en otra cosa y quieres elegir esa otra cosa como tu especialidad, sigue adelante. Como dijiste, siempre puedes enseñarte ciencias de la computación de forma independiente.

Aparte de tener un título redondeado y presentable para presentar futuros empleadores, usted no lo hace. Pareces brillante, así que, ¿por qué no te enseñas uno o dos idiomas y encuentras a alguien que necesita aplicaciones escritas como una pequeña empresa o una organización benéfica? De esa manera, podría tenerlo en su currículum vitae como un logro, no solo como una asignatura académica. La única señal de alarma es que el aprendizaje estructurado puede garantizar que no se enseñe a sí mismo los errores bien conocidos, de lo contrario, un futuro supervisor podrá detectar fácilmente lo que tienen que descubrir para que sea más eficaz.

Se puede hacer el mismo argumento para cualquier otra ciencia no material. La respuesta simple es que una universidad te empujará más fuerte de lo que probablemente te esforzarás. Por ejemplo, no muchas personas están dispuestas a pasar un año entero estudiando estructuras de datos y algoritmos en su propio tiempo. Estos son temas difíciles, pero serán un programador mucho mejor.

Al final del día, recibirá un diploma y un GPA. El diploma dice “puedes hacer algo difícil durante un período prolongado de tiempo”. El GPA dice “qué tan bien lo hace bajo diferentes supervisores durante un período prolongado de tiempo”.

Para ganar una ventaja ganadora sobre los demás.

Los individuos que aprenden CS en la universidad entenderán los conceptos profundos de “cómo funcionan las cosas”.
Aquellos que aprenden cosas por sí mismos solo pueden aprender lenguajes de programación y hacer que las cosas funcionen.
Pero para el diseño de arquitectura de software, uno debe saber “cómo funcionan las cosas” y solo los graduados de CS pueden hacer esto.

En resumen, aprender CS por su cuenta le enseñará “qué hacer y cómo hacerlo”.
Aprenderlo en la universidad te enseñará “qué no hacer”.

No todo está escrito en libros, pocas cosas que uno entendería y comprendería solo si él / ella ha pasado por eso. Ahí es donde comienza la experiencia del profesor.

El profesor te ayuda a no cometer los mismos errores que cometen los demás.

Primera razón: necesitas saber qué estudiar por ti mismo.
Segunda razón: necesita un asistente que firme un pedazo de papel que realmente pueda resolver problemas.
Estudiar no es solo leer un libro. Después de visitar una universidad, también debe poder utilizar su conocimiento. Y es bueno tener a alguien que sea testigo de esto.

Hay muchas personas autodidactas famosas, pero les llevó toda una vida aprender cómo encajan todos los “temas”.