¿Cuáles son algunos de los mejores libros sobre informática?

Nota: Parece que mucha gente ha respondido a esto y ha intentado profundizar mucho al incluir libros de muchos subcampos. No creo que esto sea justo. Esta pregunta pide los mejores libros en informática. Muchos subcampos aún no tienen libros increíbles escritos sobre ellos. En esta respuesta, me gustaría dar algunos ejemplos de libros que he leído que, sin duda, dejaron sin aliento a la competencia. Estos son libros que me convencieron de amar temas sobre los que no sabía nada anteriormente. Estos son libros que llevo conmigo cuando viajo.

A continuación se enumeran estos libros aproximadamente en el orden que más los aprecio:

  • Representación basada en la física (PBRT) por Pharr y Humphreys

Este libro es deslumbrante. Sus gráficos son todos memorables y cada página hace que desee escribir un trazador de rayos perfecto. Además de eso, utiliza programación alfabetizada para anotar código, haciendo que el libro no sea un libro de códigos, sino un libro de explicación. Este es también uno de los libros más completos sobre el tema. Le lleva de no conocer ningún álgebra lineal a utilizar el cálculo multivariable y la teoría de probabilidad para definir BRDF y examinar la ecuación de representación. Además de eso, se envía con código fuente abierto para jugar.

  • Teoría de funciones recursivas y computabilidad efectiva por Hartley Rogers, Jr.

Este libro no es una lectura trivial y, a menudo, no es la mejor introducción al tema, entonces, ¿por qué lo he incluido? Es un poco como sostener el primer telescopio reflector y darse cuenta de que todavía se puede ver todo lo que el Hubble puede ver con él. Este libro es como tratar de leer la versión latina de principia .


  • Gödel, Escher, Bach por Douglas R. Hofstadter

Una vez más, dado que este no es exactamente un libro de ciencias de la computación, quizás se pregunte por qué está aquí. Se afirma que este es realmente un libro sobre psicología y ninguno de los autores es informático. Sin embargo, con un diálogo divertido y aleatorio, te presenta los conceptos de máquinas computacionales, sistemas de sustitución, terminaciones, gramáticas, recursividad, lógica formal, análisis matemático y más, sin que siquiera sepas que realmente estás aprendiendo informática. Después de todo, ¿qué es la mente sino una computadora compleja? Es una lectura muy divertida y profunda.

  • Hackeo: el arte de la explotación por John Erickson

Este libro evita que se convierta en un manual de referencia para el ensamblaje x86 al evitar que los aspirantes a hackers adolescentes se conviertan en niños de guiones. Introduce la programación a nivel de sistemas con casi tanta profundidad como el libro de texto 15213 de CMU, CS: APP2e, Bryant y O’Hallaron, sin aburrir al lector ni perder de vista el objetivo de encontrar y parchear exploits en las computadoras. Después de todo, ¿quién aprende el ensamblaje por primera vez para escribir un compilador, núcleo o controlador? Lo aprendes porque quieres romper algo o arreglar algo.

  • Tipos y lenguajes de programación por Benjamin C. Pierce

Este sigue siendo el único libro sobre teoría de tipos escrito para un principiante en el tema que le enseña lo suficiente como para tener una comprensión básica de los respaldos teóricos del sistema de tipos de Java moderno. No es que me guste Java o que esto sea todo lo que enseña. Le brinda los conceptos básicos del cálculo lambda y los sistemas de tipos hasta el punto en que puede comprender el lenguaje de programación ML . Está tan lleno de ejemplos e historia de fondo y notas al margen que puede leerlo como un libro de cuentos, pero está organizado y presentado tan bien que todavía lo uso como referencia en mi investigación diaria.

  • Introducción a los algoritmos por Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

Este libro es pesado. Literalmente. No escatima en ningún análisis e introduce todos los algoritmos y estructuras de datos que probablemente necesitará en sus primeros 5 años de programación. Sin embargo, es bastante difícil enseñar el tema de los algoritmos en un libro de texto sin convertirlo en una lista de algoritmos. Realmente no sé de un libro completo que haga esto todavía. Yo nominaría The Art of Computer Programming de Knuth, pero Assembly simplemente pone el lenguaje completamente incorrecto para enseñar algoritmos.

Creo que un buen informático necesita conocer las matemáticas y adoptar el enfoque de “enfoque matemático de la informática”. Lamentablemente, muchas personas piensan que la informática es la programación informática. Estas son algunas de mis sugerencias:
1. Comience a aprender CS con ” Álgebra lineal de Gibert Strang “. Toda la organización de la memoria dentro de una computadora se representa matemáticamente como una matriz.
2. “Matemáticas concretas: una base para la informática, Graham, Knuth, Patashnik
3. “El diseño de las cosas cotidianas – Donald A Norman”
4. Un libro imprescindible para todos los programadores ” El lenguaje de programación C de Kernighan y Ritchie ” – Especialmente para las universidades indias, por favor no lea de los autores locales. Es inquietante!
5. El libro (4) puede complementarse con ” C: Un manual de referencia – Samuel P. Harbison y Guy R. Steele ” y ” Programación experta en C: Secretos profundos en C por Peter V. Linden
6. Para saber cómo se almacenan los datos en una computadora y su funcionamiento, tenga una copia de ” Introducción a los algoritmos de Coremen
7. Ahora ya sabes qué es la programación y cómo programar. A continuación, puede comenzar a saber qué sucede con mi programa después de decir gcc hello.c -o hello. Ahí es donde los compiladores ayudarán. El mejor libro para mí para compiladores es ” Compiladores: principios, técnicas y herramientas , Alfred V. Aho, Monica S. Lam, Ravi Sethi y Jeffrey D. Ullman”. Complemente esto con las conferencias en video de la Universidad de Stanfor en Compiladores y el sitio web de GCC.
8. Después de esto, necesita saber sobre el cerebro de la computadora, los sistemas operativos. Nunca le sugiero que lea el enfoque tradicional del sistema operativo, es decir, Galvin, tanenbaum, Stallings. Prueba un nuevo enfoque. Aprenda primero qué es un “núcleo”. Descargue el código fuente del kernel de Linux. Tome la ayuda de ” Linux Kernel Development by Robert Love ” Cree el código fuente, realice cambios, vuelva a compilar, escriba su propio código, vuelva a compilar. ¡Mira el milagro! Puede complementar esto con cualquier libro estándar sobre el sistema operativo para obtener una vista más amplia del sistema operativo.
9. ¿En qué se ejecuta todo el código y el sistema operativo? Es un hardware. Por lo tanto, tenga una copia de ” Arquitectura de computadora: una aproximación cuantitativa de Patterson y Hennessey “. Complemente estas conferencias en línea en Coursera sobre CA para una mejor comprensión.
10. Un libro clásico sobre sistemas de bases de datos es de Navathe.
11. Fans de Netwoking Por favor, no comience con Tanenbaum. Si eres bueno en C, usa el libro ” Programación en red Unix de Richard Stevens
12. Los chicos del sistema integrado pueden comenzar con ” Un manual de software integrado de David E Simon
13. “Pensando en Java por Bruce Eckel
14. Para todos los próximos temas en CS como computación en la nube, aprendizaje automático, análisis de datos, Internet de las cosas y otros. Google es la mejor fuente de información.

-ds

Para agregar una perspectiva de ingeniería de más bajo nivel a esta lista:

  • Organización y diseño de computadoras, cuarta edición: la interfaz hardware / software por David A. Patterson (Berkeley), John L. Hennessy (presidente de Stanford)

Un clásico libro de texto de estándar de oro y uno de los pocos libros donde Internet no es superior hoy en día; de hecho, ni siquiera puede acercarse a competir.

Una cita de alguien competente en el New Yorker de esta semana [1]:

La tecnología MIPS ha contribuido a la miniaturización de la electrónica, haciendo posible los chips que alimentan todo, desde computadoras portátiles y teléfonos móviles hasta refrigeradores y tableros de instrumentos de automóviles. “RISC fue fundamental”, dice Andreessen. “Fue una de las cinco o seis cosas en la historia de la industria que realmente importan”.

[1] http://www.newyorker.com/reporti

  • INTRODUCCIÓN A LOS ALGORITMOS por Cormen, Leiserson, Rivest
  • Redes de computadoras de Andy Tanenbaum
  • SISTEMAS OPERATIVOS MODERNOS, por Andy Tanenbaum
  • Sistemas operativos: aspectos internos y principios de diseño de William Stallings
  • Conceptos del sistema operativo por Silberschatz
  • Implementación del compilador moderno en C / Java por Andrew Appel
  • Introducción a la teoría de autómatas, idiomas y computación por Hopcroft, Motwani y Ullman.
  • Gráficos por computadora: Principios y práctica en C por Foley, van Dam
  • Inteligencia artificial: un enfoque moderno de Russell y Norvig
  • Clasificación de patrones por Duda y Hart
  • Técnicas introductorias para visión por computadora tridimensional por Trucco y Verri
  • Sistemas distribuidos: principios y paradigmas por Andy Tanenbaum
  • El arte de la programación de computadoras (Vol. 1-3) por Donald Knuth
  • Los elementos del aprendizaje estadístico por Hastie, Tibshirani, Friedman
  • Recetas Numéricas en C por Press et al. ( http://www.library.cornell.edu/nr/ )
  • Análisis real – HL Royden

Todavía no he leído nada mejor que Code: The Hidden Language of Computer Hardware and Software por Charles Petzold .

Es un libro fantástico. No lo lleva a los algoritmos típicos (al menos eso recuerdo), sino que explica de la manera más intuitiva posible cómo se construye una computadora desde flip flops y lógica binaria hasta ensamblaje, lenguaje intermedio y compilación completa de Un lenguaje utilizable.

Básicamente, los programadores principiantes pueden adquirir una amplia comprensión de la base sobre la que se basan los programas que está construyendo al leer este libro. Se lee más como una exposición de no ficción que como un libro tutorial de lenguaje de programación, es decir, dado su tema, es una lectura fácil que puedes hacer en el sofá. Dependiendo de su habilidad y nivel de conocimiento, puede haber algunas secciones que tenga que volver a leer varias veces hasta que lo entienda, pero no sentirá que necesita ir a la silla de su computadora e intentar algo para comprender completamente eso.

Si puede hacer aritmética básica, puede leer este libro. Esa parece ser la premisa oculta. Que las computadoras son fáciles y deberían ser fáciles de entender. Este libro es un testimonio de eso. Aunque estoy seguro de que algunos descubrirán que esto no es lo suficientemente profundo. Pero el punto es: aprender generalmente creará muchos puntos de entrada para que pueda seguir en su viaje hacia la programación y la informática. Aclarará muchas cosas y esencialmente hará que el camino parezca menos aterrador y fuera de alcance. Este libro lo logra muy bien. Los programadores de alto nivel saldrán sintiéndose mucho menos inseguros sobre su falta de conocimiento de los fundamentos de lo que sea que estén desarrollando. Sé que lo hice. No puedo decir lo suficiente sobre este libro. Es el verdadero negocio. Estoy seguro de que aquellos con un título en informática podrían tener más que decir (es probable que piensen que es una descripción general), pero creo que para todos los demás es un título en informática en un libro que pueden leer en una o dos semanas. Al menos la mitad del grado. Para la segunda mitad, recomiendo Algorithms In A Nutshell. ¡Y hecho! Vuelva a programar su aplicación de JavaScript de alto nivel y continúe con su vida.

En una nota al margen: es mi opinión que la teoría primero es el camino equivocado. Primero, la aplicación, según sea necesario, es el enfoque correcto. De lo contrario, es como aprender teoría musical antes de que sepas que incluso te gusta tocar música. Puede que ni siquiera te guste ser programador o ser natural en eso. Y si pasas 4 años estudiando teoría primero, habrás pasado mucho tiempo para descubrir lo que podrías tener en un mes. Además, puede absorber la alegría y la diversión de la exploración de la programación y la informática. Es natural y divertido aprender mientras te sumerges en problemas reales. Todo lo que puedes aprender está en internet. Es muy gratificante y, a menudo, más rápido aprender cosas cuando está aprendiendo a alcanzar un objetivo específico. La teoría que aprendes parece tener mucho más sentido frente a alguna meta a la que tratas de aplicarla. En resumen, a lo largo de su carrera informática puede aprender las mismas cosas mucho más rápido y mucho más divertido si lo hace junto con problemas reales.

Pero dicho esto, a veces debes retroceder y asignar tiempo para los fundamentos, incluso si no tienes un problema específico con el que estén relacionados. Sin embargo, sabrá cuándo es hora de repasar los algoritmos, o finalmente aprender cómo funciona la computadora por debajo de su nivel de abstracción diario. Solo sepa que un porcentaje cada vez mayor de nosotros los programadores fuimos por la ruta aplicada, en lugar de la teoría de la informática primero + ruta de educación formal. Probablemente sea la mayoría de los programadores en este momento. En resumen, no estás solo aprendiendo esto a medida que avanzas. Aprende a disfrutar eso desde el principio y a salvarte del dolor de la inseguridad de no saberlo todo. Esta es una exploración e investigación, y quizás haga algunos descubrimientos que nadie más haya podido hacer, y mucho antes de que haya dominado y entendido todo lo que hay que saber sobre la computadora. Tal vez ese sea el mayor argumento de venta: ¡no tiene que saberlo todo para poder contribuir al mundo de la informática! Así que disfruta de tus actividades en la programación, sabiendo en tu exploración única en cualquier momento que puedas encontrar algo altamente novedoso y valioso.

  1. El lenguaje de programación C – clásico atemporal
  2. Estructura e interpretación de los programas de computadora: debe leer, ya sea que provenga de la palabra OOP o del mundo funcional.
  3. El arte de la programación UNIX – sabiduría de ingeniería informática
  4. La guía (por qué) conmovedora de Ruby, porque comenzó un nuevo paradigma al escribir libros de programación.
  5. El manual de diseño de algoritmos: una guía accesible de algoritmos para el resto de nosotros.
  6. Code Complete 2 – “El manual de estilo de Chicago” de las computadoras

Estos son algunos libros en mi lista de deseos. Estoy leyendo algunos de ellos. La mayoría de ellos deben ser leídos. Muy pocos son textos “clásicos”, pero la mayoría tienen algunas críticas decentes en Amazon, y con suerte no te decepcionarán. Esta lista es más útil para profesionales.

Aquí está la lista (sin ningún orden en particular)

  • Criptografía aplicada: protocolos, algoritmos y código fuente en C – por Bruice Schneier
  • El diseño del sistema operativo Unix – por Maurice Bach Maurice J
  • Patrones de diseño: elementos de software orientado a objetos reutilizables – por Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
  • El arte del análisis de rendimiento de los sistemas informáticos – por Raj Jain
  • Unix Internals, Las nuevas fronteras – por Vahalia
  • Programación avanzada en el entorno Unix – Richard Stevens, Stephen Rago
  • Inteligencia artificial: un enfoque moderno – por Stuart Russell, Peter Norvig
  • Herramientas eléctricas Unix – por Shelley Powers, Jerry Peek, Tim O’Reilly
  • Administración de red TCP / IP – por Craig Hunt
  • Network Warrior – por Donahue Donahue
  • Libro de cocina SQL – por Anthony Molinaro
  • La interfaz de programación de Linux: un manual de programación del sistema Linux y UNIX – por Michael Kerrisk
  • Patrones de integración empresarial: Gregor Hohpe, Bobby Woolfe
  • Programación de Inteligencia Colectiva – Toby Segaran
  • Dominar las expresiones regulares – Jeffrey Friedl
  • Pro Git – por Scott Chacon
  • A partir de XSLT 2.0: de principiante a profesional, por Jeni Tennison
  • Escaneo de red Nmap: la guía oficial del proyecto Nmap para el descubrimiento de redes y escaneo de seguridad – por Gordon Lyon, Fyodor
  • Codificadores en el trabajo: reflexiones sobre el arte de la programación – por Seibel
  • DNS y BIND – por Cricket Liu, Paul Albitz
  • sed & awk – por Arnold Robbins, Dale Dougherty
  • El Libro de recursos del modelo de datos: una biblioteca de modelos de datos universales para todas las empresas, por Len Silverston
  • Programación Erlang – por Francesco Cesarini, Simon Thompson
  • Hadoop: la guía definitiva – por Tom White
  • Sumérgete en Python – Mark Pilgrim
  • Algoritmos de Python – Magnus Hetland

Andamio: (puedes hacer el trabajo en Amazon)

Knuth: TAOCP (El arte de la programación de computadoras); tiene críticas en su contra (lenguaje de máquina, bajo nivel), incompleto, actualmente a 4 volúmenes, no solo 3.

Knuth: 9 volúmenes de documentos seleccionados. Vol. 1 y 8 son favoritos personales, así como los primeros lenguajes de programación. 8 incluye el primer artículo de DEK en Mad Magazine.

Soy partidario de un pequeño libro que ya no está impreso por
Wirth, Algorithms + Data Structures = Programas (todavía tiene errores tipográficos).

Bentley, Perlas de programación, Más perlas de programación, Escribir programas eficientes.

Cualquiera de los libros de Brian Kernighan con Ritchie, Plauger y especialmente Rob Pike (en Programación Unix)

Me gusta el libro de Bill Wulf sobre su primer multiprocesador / SO: HYDRA / C.mmp (agotado).

“Hennessy y Patterson”

Sieworek, Bell y Newell sobre lecturas de arquitectura informática (agotadas).

Muchos de los libros publicados por O’Reilly Media (por ejemplo, su libro lex / yacc; tenga en cuenta las ediciones anteriores vs. posteriores).

Libros de gemas gráficas de Glassner.

HOPL (Historia de los lenguajes de programación) 3 (quizás ahora 4) conferencias

Historia de las estaciones de trabajo (estaba allí)

Historia de la computación científica (también serie ACM)

Algún libro de LISP …

Más personas matemáticas

Hafner donde los magos se quedan despiertos hasta tarde

Levy Hackers (DEK querría que incluyera esto) también tiene un documental corto (1985)

Cringley Accidental Empires con sus 2 documentales de 3 horas ( Trimupth of the Nerds y Nerds 2.0.1 (el último libro titulado no es escrito por Cringley sino por su productor)).

Huevo de cuco de Stoll y aceite de serpiente de silicio

Sin duda, estoy olvidando uno o dos títulos y los agregaré si los recuerdo. Creo que, en general, un estudiante debe leer todos los libros para saber de qué se trata un libro realmente malo. Y todos esos otros libros intermedios, también.

En lo que respecta al lenguaje de programación C , creo que ” El lenguaje de programación C ” escrito por ” Kernighan and Ritchie ” es el mejor. Es corto y preciso. Como dicen ” Las cosas buenas vienen en paquetes pequeños “.


Si está interesado en aprender Java, vaya con ” Head First Java ” de ” Bert and Kathy “. Personalmente, este libro me pareció increíble. Enseña el tema de una manera humorística pero seria. Nunca te aburres en ningún momento.


Para Algorithms , el mejor libro para mí es ” Introducción a los algoritmos ” de ” Cormen, Lieserson, Rivest y Stein “. Literalmente contiene casi todos los algoritmos estándar que alguien usa.
PD: es útil en caso de que no tengas una almohada.

Si desea aprender los conceptos básicos del sistema operativo, vaya a ” Conceptos de sistemas operativos ” de ” Silberchatz, Galvin and Gagne “.

Para aprender la teoría básica detrás de los compiladores, lea ” Técnicas y herramientas de principios de compiladores ” de ” Aho, Lam, Sethi y Ullman “.

Programación dinámica (Dover Books on Computer Science)

por Richard Bellman

Una introducción a la teoría matemática de los procesos de decisión en varias etapas, este texto adopta un enfoque de “ecuación funcional” para el descubrimiento de políticas óptimas. Escrito por un desarrollador líder de tales políticas, presenta una serie de métodos, teoremas de unicidad y existencia, y ejemplos para resolver las ecuaciones relevantes. El texto examina los teoremas de existencia y singularidad, la ecuación de inventario óptima, los problemas de cuellos de botella en los procesos de producción en varias etapas, un nuevo formalismo en el cálculo de la variación, las estrategias detrás de los juegos en etapas múltiples y los procesos de decisión de Markovian. Cada capítulo concluye con un conjunto de problemas que Eric V. Denardo, de la Universidad de Yale, en su nueva introducción informativa, llama “una rica variedad de aplicaciones y temas de investigación”. Edición de 1957. 37 figuras.

Reimpresión de programación dinámica (Dover Books on Computer Science), Richard Bellman

Programación dinámica: modelos y aplicaciones (Dover Books on Computer Science)


La introducción a los procesos de decisión secuenciales abarca el uso de la programación dinámica en el estudio de modelos de asignación de recursos, métodos para aproximar soluciones de problemas de control en tiempo continuo, control de producción, toma de decisiones frente a un futuro incierto y modelos de control de inventario. Un curso previo en investigación de operaciones es un requisito previo. Edición de 1982.

Programación dinámica: modelos y aplicaciones (Dover Books on Computer Science), Eric V. Denardo

Puedes obtener tantos libros de computadora. Pero quiero categorizar en 3 tipos
1. Libros de informática para profesionales

2. Libros de informática para estudiantes escolares

3. Libros de informática para cursos de ingeniería / profesionales

Libros de informática para profesionales

  • Servicios web de Amazon para administradores para tontos
  • Informática iluminada, 6ª ed.
  • Codificación segura en C y C ++
  • Haciendo Java Groovy
  • PHP y MySQL para sitios web dinámicos: Visual QuickPro Guide, 4th ed.
  • Rendimiento Java
  • HTML y CSS en 24 horas: Sams Teach Yourself (actualizado para HTML5 y CSS3)
  • Planificación de recursos empresariales
  • Seguridad de la red
  • Introducción a los gráficos por computadora
  • Estructuras de datos y algoritmos en Java, 2ª ed.

Todos estos libros se recopilan sobre la base de la popularidad. Puede elegir Libros según el Requisito.

Libros de informática para estudiantes escolares

  • Descifrando el Código de Creatividad
  • Mi oficina 2016
  • My Excel 2016
  • My PowerPoint 2016
  • El lenguaje de programación C: versión ANSI C, 2ª ed.

Estos son aquellos libros que son populares entre quienes van a la escuela y aprenden conceptos básicos de informática como la publicación de escritorio

  • Algoritmos Aritméticos de Computadora
  • Enfoque práctico de estructuras de datos y algoritmos
  • Programación de Windows: escritura de aplicaciones de Windows 8 con C # y XAML, 6ª ed.
  • Un libro sobre C, 4ª ed.
  • Programación Orientada a Objetos Con C ++
  • Un libro de texto de arquitectura informática
  • Ingeniería Informática Básica
  • Introducción al sistema de gestión de bases de datos
  • Programacion del sistema
  • Inteligencia artificial
  • Concepto de Programación y POO
  • Sistema de Información de Gestión
  • Fundamentos de las computadoras

Era B.tech Student del lote 2007 y les he compartido estos libros que están de acuerdo con el programa de estudios de PTU, UPTU, Thapar University, IPU, DTU, NSIT y muchas otras universidades indias. Yu puede encontrar estos libros según el plan de estudios.

Hay muchos de ellos.

Déjame enumerar mis favoritos:

  • El arte de la programación de computadoras – Wikipedia
  • En una palabra, es una biblia de la programación de computadoras.
  • Introducción a los algoritmos – Wikipedia
    • Le da una breve idea sobre algoritmos, cómo analizar algoritmos, etc.
    • Este libro popular en colegios y universidades, como libro de referencia.
  • El programador pragmático – Wikipedia
    • Este libro es para mejorar las habilidades de programación en ingeniería de software.
  • Compiladores: principios, técnicas y herramientas – Wikipedia
    • Si desea diseñar su propio compilador / intérprete, puede leer esto.

    A2A Normalmente no recomiendo libros CS sin saber exactamente lo que está tratando de aprender. CS no es literatura sino una disciplina para construir productos en plataformas. Es la plataforma que determina las mejores prácticas, por lo que su pregunta debe ser refinada.

    En la era de los MOOCs, recomiendo los cursos de MOOC CS en lugar de solo leer libros, vea Cómo elegir Cursos de Informática por J. Lee Anthony sobre Cómo ingresar a la Universidad de su elección. Si está interesado en MSCS, asegúrese de tener los fundamentos, consulte Autoestudio para los cursos de la Fundación MSCS de Stanford. por J. Lee Anthony sobre Cómo ingresar a la Universidad de su elección.

    ¡Hola!
    Cada materia tiene su lectura requerida, y la informática no es diferente. Al igual que con cualquier área de estudio, la informática tiene una historia, varios procesos y suficientes opiniones diferentes para llenar una biblioteca.
    Para esta lista, hemos encontrado los 10 mejores libros de lectura obligatoria para estudiantes de informática.
    1. Algoritmos para vivir: la informática de las decisiones humanas por Brian Christian y Tom Griffiths
    2. El alma de una nueva máquina por Tracy Kidder
    3. Superinteligencia: caminos, peligros, estrategias de Nick Bostrom
    4. Hackers: héroes de la revolución informática por Steven Levy
    5. Código: El lenguaje oculto del hardware y software de la computadora por Charles Petzold
    6. El chip: cómo dos estadounidenses inventaron el microchip y lanzaron una revolución por TR Reid
    7. La segunda era de la máquina: trabajo, progreso y prosperidad en tiempos de tecnologías brillantes por Erik Brynjolfsson y Andrew McAfee
    8. Los innovadores: cómo un grupo de hackers, genios y geeks creó la revolución digital por Walter Isaacson
    9. Pensar en sistemas: una cartilla por Donella H. Meadows
    10. La búsqueda: cómo Google y sus rivales reescribieron las reglas de los negocios y transformaron nuestra cultura Por John Battelle
    Todos estos libros están disponibles con nosotros. Visite nuestro sitio web MyPustak y consígalos gratis.
    ¡¡Gracias!!

    Como muchos ya han mencionado, hay una serie de excelentes libros sobre informática.

    La Introducción a los Algoritmos, es excelente en algoritmo. Se está utilizando en muchas de las mejores escuelas, y es uno de los libros que se sugiere para la preparación de entrevistas en Google.

    El otro libro, que también se sugiere para la preparación de la entrevista de Google, es el Algorithm Design Manual , escrito por Steven Sol Skiena, profesor de informática distinguido de la Universidad de Stony Brook.

    Finalmente, este es un sitio web llamado Dorado List que tiene una lista de los mejores libros en diferentes áreas de ciencias de la computación e ingeniería eléctrica pensadas en las mejores universidades, o sugerido por algunos de los profesores más conocidos.

    Hay tantos libros para un estudiante de ciencias de la computación que están clasificados como los mejores a lo largo de la historia.

    Aquí hay tres de ellos que han sido calificados con 4.4 de 5 por Goodreads.

    El primero se llama “Estructura e interpretación de programas de computadora-2da edición por Abelson y Sussman”.

    Este libro es verdaderamente uno de los clásicos de la programación. SICP no solo mejora y te hace más fuerte en la codificación sin importar el idioma que uses, sino que también te enseña nuevos idiomas y técnicas para aprender.

    Los cinco capítulos de este libro le enseñarán cómo pensar y comprender los programas y el proceso computacional. He visto a muchos lectores decir cómo este libro ha cambiado su perspectiva sobre la computadora.

    De todos modos, es un libro que vale la pena leer si realmente estás buscando uno de los mejores libros para programar.

    Aquí está el enlace para que pueda revisar el libro y comprarlo: https://www.amazon.com/gp/produc

    Otro buen libro se llama “Código: el lenguaje oculto del hardware y software de la computadora” de Charles Petzold. Este libro no solo trata sobre cómo codificar o qué hacer con el código, sino que también incluye el historial y el alcance. Si usted es uno de los que realmente está interesado en saber de dónde provienen los métodos científicos y por qué, este libro está escrito exactamente para usted.

    Este es el enlace que puede revisar y comprar: https://www.amazon.com/gp/produc

    Finalmente, el último se llama “El lenguaje de programación C”, escrito por Brain Kernighan y Dennis Ritchie. Esto fue escrito para ayudar al lector a aprender a programar en C, pero tenga en cuenta que este libro no es para principiantes, por lo que lo menos que necesita el lector es tener antecedentes sobre Estructura de datos. Algunos dicen que este libro es como una Biblia para la programación en C.

    Aquí está el enlace para usted: https://www.amazon.com/gp/produc

    La informática es un campo realmente amplio, por lo que agregaré un par de libros relacionados con la ingeniería de software:

    • Tipos y lenguajes de programación por Benjamin C. Pierce
    • Estructura e interpretación de programas de computadora por Abelson, Sussman, Sussman
    • Patrones de diseño: elementos de software orientado a objetos reutilizables por Gamma et. Alabama. (_el_ libro clásico sobre patrones de diseño, aunque hay muchos más libros realmente buenos y patrones como, por ejemplo, la serie POSA)
    • Construcción de software orientado a objetos por Bertrand Meyer (buena introducción de bajo nivel en lenguajes de programación orientados a objetos, no realmente en diseño orientado a objetos)
    • Programación extrema explicada: abrazar el cambio por Kent Beck
    • Desarrollo Ágil de Software. Principios, patrones y prácticas de Robert Martin

    Aquí hay algunos libros excelentes para algoritmos y sistemas operativos
    Libros generales:

    1. A. Silberschatz, PB Galvin y G. Gagne. Conceptos del sistema operativo. John Wiley & Sons, Hoboken, NJ, octava edición, 2010.
    2. W. Stallings. Sistemas operativos: aspectos internos y principios de diseño. Pearson Education, Upper Saddle River, NJ, sexta edición, 2009.
    3. AS Tanenbaum. Sistemas operativos modernos. Pearson Education, Upper Saddle River, NJ, tercera edición, 2009.

    Libros sobre sistemas operativos específicos:

    1. El diseño del sistema operativo UNIX por Maurice J. Bach
    2. Desarrollo del kernel de Linux (3a edición) por Robert Love
    3. UNIX Internals: Las nuevas fronteras Uresh Vahalia
    4. Arquitectura del kernel de Linux por Wolfgang Mauerer
    5. Sistemas UNIX para Arquitectura Moderna

    Algo :

    1. Clásico: Introducción a los algoritmos – Thomas H. Cormen
    2. También bueno: diseño de algoritmo – Jon Kleinberg, Éva Tardos
      El mejor libro para aprender sobre gráficos.
    3. Algoritmos en Java: Algoritmos gráficos – Robert Sedgeick, Michael Schidlowsky

    Diseño de algoritmo por John Kleinberg y Eva Tardos
    Geometría computacional: algoritmos y aplicaciones por M. Van Krevald et. Alabama
    Complejidad computacional, un enfoque moderno por Sanjeev arora y Boaz barak
    Algoritmos aleatorizados por R. Motwani y Prabhakar Raghavan

    Hay algunos buenos libros que dan trabajo a principiantes en ciencias de la computación y particularmente en automatización de pruebas de software:

    Las herramientas de prueba automatizadas son capaces de ejecutar pruebas , informar resultados y comparar resultados con ejecuciones de pruebas anteriores. Las pruebas realizadas con estas herramientas se pueden ejecutar repetidamente, a cualquier hora del día. El método o proceso que se utiliza para implementar la automatización se denomina marco de automatización de prueba .

    La prueba de automatización de software es el proceso de verificación de software en el que las herramientas para la prueba automática realizan la función básica y los pasos de prueba , como la ejecución, la inicialización, la ejecución, el análisis y la entrega de resultados.

    Selenium Webdriver: WebDriver es una herramienta para automatizar las pruebas de aplicaciones web y, en particular, para verificar que funcionan como se espera. Su objetivo es proporcionar una API amigable que sea fácil de explorar y comprender, más fácil de usar que la API Selenium -RC (1.0), que ayudará a que sus pruebas sean más fáciles de leer y mantener.

    Selenium proporciona una herramienta de grabación / reproducción para crear pruebas sin aprender un lenguaje de secuencias de comandos de prueba ( Selenium IDE). También proporciona un lenguaje específico de dominio de prueba (Selenese) para escribir pruebas en varios lenguajes de programación populares, incluidos Java, C #, Groovy, Perl, PHP, Python y Ruby.

    Los mejores libros que debes leer: