Las respuestas hasta ahora me parecen más sobre ser un buen programador que ser realmente un experto en informática. La informática abarca mucho más que la programación o el desarrollo de software (en mi opinión, ni siquiera es tan importante si no decides concentrarte en escribir código …).
Realmente depende de en qué área quieres enfocarte. Por ejemplo, ¿le interesa el diseño de sistemas grandes? Por ejemplo, ¿desea construir un sistema distribuido que sea tolerante a fallas y altamente disponible? ¿O quieres construir una base de datos o un sistema operativo completo? ¿O estás interesado en la seguridad informática? Y más … Para ser bueno en esto, probablemente tengas que participar en la construcción de grandes sistemas informáticos, y esta área es definitivamente importante para ser bueno en la programación. En realidad, hay algunos de los videos en línea para esta área:
La seguridad informática:
6.858
Sistemas distribuidos:
Sistemas distribuidos
Bases de datos:
6.830 / 6.814: Sistemas de bases de datos [Otoño 2014]
OS:
6.828: Ingeniería del sistema operativo [Otoño 2014]
Sin embargo, hay otras áreas. Si está interesado en la informática teórica, ser bueno en el diseño de algoritmos rápidos y ser bueno en matemáticas es mucho más importante. Para comenzar en esta área, recomendaría ver primero la introducción a las matemáticas para la informática en OCW:
Matemáticas para la informática
y si desea comenzar a aprender sobre algoritmos, puede ver la introducción a la clase de algoritmos (y estructuras de datos):
Introducción a los algoritmos
Sin embargo, si está interesado en la inteligencia artificial, puede leer la sociedad de la mente y la máquina de emociones (y Godel, Escher, Bach). Estos libros son teóricamente pero realmente interesantes. Sin embargo, no hay nada que te impida implementar realmente sus ideas si eso es lo que quieres hacer. El profesor Winston también tiene su curso en línea en línea:
Inteligencia artificial
y su increíble TA:
6.034: Inteligencia artificial – Tutoriales [Otoño 2014]
Sin embargo, si está más interesado en el procesamiento de datos y el aprendizaje automático, puede consultar el curso de Andrew Ng en línea en iTunes:
Stanford CS229 Machine Learning
El aprendizaje automático es realmente hermoso, pero puede ser bastante difícil de implementar y comprender. Las matemáticas pueden ser desafiantes, pero son realmente gratificantes. Además, es muy sutil cómo hacerlo funcionar realmente bien en la práctica … ¡pero es muy divertido! Como dije, puede ser difícil y el curso de Andrew Ng es bastante difícil. Creo que es una clase de posgrado. Para una introducción más suave, consulte la clase de introducción del MIT:
Colección 6.036 (18 videos)
Además, caltech tiene un libro muy bueno y su compañero en curso de posgrado en iTune. Aquí está el enlace de youtube:
Curso de aprendizaje automático – CS 156
Además, echa un vistazo a los cursos en línea del MIT en edx y Stanford en coursera, ¡tienen muchos más cursos y demás! ¡Solo disfruta de ellos y disfruta!
edX
Coursera
De todos modos, estas son solo algunas de mis áreas favoritas. Estoy seguro de que hay mucho más. Es bastante difícil ser un experto en todo, ¡así que elige bien y disfruta! Buena suerte.