Cómo construir una hoja de ruta para el autoestudio en informática.

¿Quieres trabajar en informática o es solo un pasatiempo? Quizás pueda comenzar por definir qué tipo de campo de TI le interesa: ¿hardware? ¿software? ¿Administración de redes y sistemas? ¿base de datos? ¿aplicaciones web? Dependiendo de ello, puedes comenzar a estudiar un pequeño conjunto de cosas al principio. Por ejemplo, si desea desarrollar una aplicación web, puede comenzar a seleccionar un conjunto básico de herramientas y tecnologías (HTML, CSS, Javascript, MySQL, etc.) y crear algunas páginas web básicas. Tal vez intente encontrar algunos tutoriales en línea (CodeSchool, CodeAcademy, Coursera, etc.). Luego, a medida que avanza hacia una mayor complejidad, elija una tecnología backend, como Java o .Net, o Ruby.

Si tiene la intención de trabajar como profesional de TI, primero intente investigar un poco sobre la demanda del mercado. Por ejemplo, si quieres ser un desarrollador web, ¿cuáles son los requisitos habituales en el lugar donde vives? La verificación de los anuncios de empleo puede ayudar. ¿Piden un título? Vea lo que piden y cómo puede satisfacer los requisitos, así como cuánto tiempo lleva.

No es para señalar lo obvio, pero acaba de escribir su hoja de ruta …

Personalmente, no creo que deba confiar en libros específicos para temas (especialmente algoritmos, que no son exactamente un tema con una narrativa sólida), pero no veo por qué no haría simplemente lo que describe. Sin embargo, usa un proyecto para empujarte a través del aprendizaje. El lenguaje ensamblador sin un proyecto es simplemente reconocer que existen muchas instrucciones, por ejemplo.

Consulte su universidad local para obtener una lista de cursos de informática y sus requisitos previos, así como los requisitos para obtener un título en informática. Eso puede ayudarte con el pedido.

Los elementos que has enumerado se pueden aprender en cualquier orden, pero si te dedicas a aprenderlos todos, enfatizaré la teoría de la informática en lugar de la programación. Es posible que los conocimientos de programación adicionales no te ayuden mucho mientras aprendes la teoría, pero la teoría ciertamente te ayudará a mejorar tus habilidades de programación e intuición.

En cuanto a los lenguajes de programación, comenzaría alto y trabajaría a mi manera. C ++ sería bueno aprender primero, ya que ya conoces a C y luego probarás el montaje.

Dada tu lista, aquí está cómo podría organizarla (otras opiniones variarán):

  1. Lea el Código de Charles Petzold. No está en su lista, pero es un libro corto (puede leerlo en unos días) y es una gran lectura. Es un libro lego, pero si no tiene mucha experiencia en hardware de computadora, su construcción hipotética de una computadora que comienza con nada más que transistores e interruptores le dará una gran perspectiva sobre el tema.
  2. Lea SICP .
  3. Leer sistemas operativos .
  4. Aprende C ++.
  5. Empieza a leer El arte de la programación informática .
  6. Aprende FORTH.
  7. Seguir leyendo El arte de la programación informática .
  8. Aprender asamblea.
  9. Seguir leyendo El arte de la programación informática .

Mencioné enfatizar la teoría sobre la programación, pero aprender los lenguajes de programación al mismo tiempo que la lectura (o en el medio) le dará un buen balance. Definitivamente iría primero al SICP ya que cubre bien las abstracciones, lo que será importante para todo lo demás. Los sistemas operativos lo ayudarán con su aprendizaje de C ++ ya que es un lenguaje de nivel bastante bajo (no sería tan útil con, por ejemplo, PHP o Javascript). Knuth es bastante pesado, por lo que supongo que lo empiezas cuando quieras y avanza en la medida de lo posible. Saber que la teoría de los compiladores nunca hace daño a nadie, por lo que le gustaría incluir también a los Compiladores de Aho en algún lugar (probablemente en algún lugar antes de la Asamblea).

Su lista es bastante extensa, así que supongo que voy a cerrar con algunos consejos para ir paso a paso y no abrumarse. Es posible que desee leer más de un libro a la vez, pero más de tres a la vez puede terminar dificultando su progreso. Como un descargo de responsabilidad, yo mismo soy autodidacta en programación y ciencias de la computación, así que tenlo en cuenta después de leer mi respuesta.

¡Buena suerte!

Codeschool tiene una hoja de ruta para un diseñador web o un curso para desarrolladores. Eso es realmente útil y rico. Codeschool también ofrece el primer mes de prueba:
Inscribirse en el código de la escuela por 9 dólares