¿Qué libros necesito para aprender informática por mi cuenta?

Quora User tiene razón en que el área de CS / SE que elige estudiar tiene mucho que ver con qué libros elegir. A continuación se presentan algunos de mis favoritos de mi programa MCS y de algunos estudios de autoevaluación. Mientras que algunos son buenos para cualquier estudiante de CS, otros son específicos para mis intereses. Otro punto: si bien puede obtener algunos de los conceptos leyendo, no es probable que realmente comprenda o recuerde el material a menos que lo ponga en práctica simultáneamente. Te sugiero que hagas algunos cursos en línea gratuitos / económicos para el tema relevante a medida que los leas. Coursera, PluralSight, Lynda o sitios similares pueden tener buenas opciones. Si alguno de los libros incluye ejercicios, te sugiero que los hagas todos, ¡y no hagas trampa!

Aquí están mis selecciones:

  • Algoritmos en C ++, Partes 1-4: Fundamentos, Estructura de datos, Clasificación, Búsqueda, Tercera edición: Robert Sedgewick: 0785342350883
  • Introducción a los algoritmos, 3a edición: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: 9780262033848
  • Patrones de diseño: elementos de software orientado a objetos reutilizables: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Grady Booch: 9780201633610
  • Sistemas operativos modernos (4a edición): Andrew S. Tanenbaum, Herbert Bos: 9780133591620
  • El lenguaje de programación C (9780131103627): Brian W. Kernighan, Dennis M. Ritchie
  • Computer Architecture, Fifth Edition: A Quantitative Approach (The Morgan Kaufmann Series in Computer Architecture and Design): John L. Hennessy, David A. Patterson: 9780123838728

OK, aquí está mi lista de libros imprescindibles:

1. Introducción a los algoritmos, 3ª edición: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: 9780262033848: Amazon.com: Libros

2. Redes de computadoras (5ª edición): Andrew S. Tanenbaum, David J. Wetherall: 9780132126953: Amazon.com: Libros

3. Sistemas de bases de datos: El libro completo (2ª edición): Héctor García-Molina, Jeffrey D. Ullman, Jennifer Widom: 9780131873254: Amazon.com: Libros

4. Sistemas operativos modernos (4a edición): Andrew S. Tanenbaum, Herbert Bos: 9780133591620: Amazon.com: Libros

Agregue a esta lista algunos libros sobre el lenguaje de programación que elegirá y sobre la arquitectura de la computadora (no es mi tema de interés, por lo que no puedo recomendarle el libro correcto) y tendrá una pila completa de libros para comprender los conceptos básicos de la informática.

Además de eso, habrá muchos más libros dependiendo del área de CS en la que deseas convertirte en experto.

Pero como realmente quiere “hacer un software bueno, eficiente y robusto”, el enfoque será diferente. Simplemente tome un libro # 1 de la lista anterior y un libro sobre el lenguaje de programación que elija. Luego, aprende algoritmos y todo sobre su lenguaje de programación, incluida la administración de memoria, las guías de códigos y todos sus trucos, y he aquí que podrá escribir aplicaciones geniales.

Espero que ayude y buena suerte!

Si quiere “hacer un software bueno, eficiente y robusto”, entonces está buscando ingeniería de software, no informática. Probablemente quieras reducir un poco más el campo. El desarrollo integrado es una bestia muy diferente al desarrollo web, que a su vez es muy diferente de la programación científica, etc.

¡Lo que encontré ingeriendo es aprender DBMS relacional a través del manual de la aplicación!

Puede ser que pueda pasar por la documentación de Postgresql, junto con las técnicas de DBMS, esto también enseña suficiente SQL.

Este es un manual de más de 3000 páginas, pero lea la Introducción y el Tutorial para comenzar con … y lea otros capítulos cuando sea necesario.