美微书签收藏的网页

美微书签和网页 https://github.com/tagnja/resources-of-learning/blob/master/%23cs-foundations.md 的作者无关,不对其内容负责。美微书签快照谨为网络故障时之索引,不代表被收藏的网页即时页面。
resources-of-learning/#cs-foundations.md at master · tagnja/resources-of-learning · GitHub
Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
1 contributor

Users who have contributed to this file

135 lines (90 sloc) 5.51 KB

CS Foundations Books

Mathematics

  • Concrete Mathematics: Foundation for Computer Science by Ronald L. Graham, Donald E. Knuth and Oren Patashnik
    ACM竞赛必读书之一,几乎包含了所有计算机科学里涉及到的数学问题,里面有众多的经典问题与经典解法,对开拓人的数学思路有极大的帮助。

C/C++

  • The C Programming Language by Brian W. Kernighan, Denis M. Ritchie (TCPL)
  • C++ Primer by Josée Lajoie and Stanley B. Lippman
  • The C++ Programming Language by Bjarne Stroustrup
  • The C++ Standard Library, 2nd Edition by Nikolai Josuttis
  • Effective C++ by Scott Meyers
  • More Effective C++ by Scott Meyers
  • Effective STL by Scott Meyers
  • Large-Scale C++ Software Design by John Lakos

Algorithms

  • Algorithms by Robert Sedgewick
  • Introduction to Algorithms by Charles E. Leiserson, Clifford Stein, Ronald Rivest, and Thomas H. Cormen (CLRS: authors abbreviation)
  • Algorithms by Sanjoy Dasgupta

Some More

  • The Art of Computer Programming vol 1,2,3 by Donald.E.Knuth (TAOCP)
  • Programming Pearls by Jon Bentley

For Interview

  • 剑指Offer by 何海涛
  • 编程之美 by 《编程之美》小组
  • 程序员代码面试指南:IT名企算法与数据结构题目最优解 by 左程云
  • Cracking the coding interview:150 programming questions and solutions by Gayle Laakmann McDowell 程序员面试金典

For ACM

  • 挑战程序设计竞赛 by 秋叶拓哉
  • 算法竞赛入门经典(第2版)by 刘汝佳
  • 信息学奥赛一本通 by 董永建

Computer Architecture

  • Computer Organization and Design: the Hardware/Software Interface by David A Patterson John L Hennessy and John L. Hennessy
  • Computer Architecture: A Quantitative Approach by David A Patterson John L Hennessy and John L. Hennessy
  • Computer Systems: A Programmer‘Perspective by Randal E.Bryant, David O'Hallaron (CSAPP)
  • Computer Organization and Architecture: Designing for Performance by William Stallings

For Compiler

  • Compilers: Principles, Techniques, and Tools by Alfred V. Aho / Monica S. Lam
  • Structure and Interpretation of Computer Programs by Harold Abelson

Operating System

Must Read

  • Operating System Concepts (2012) by Silberschatz, Galvin and Gagne.
  • Operating Systems (2003) by D. R. Choffnes, Harvey Deitel, and Paul Deitel
  • Modern Operating Systems by Andrew S. Tanenbaum

For Programming

  • Linux Kernel Development (2010) by Robert Love
  • Advanced Programming in the UNIX Environment, Third Edition by W. Richard Stevens (APUE)
  • The Art of Unix Programming by Eric S. Raymond
  • The Linux Programming Interface by Michael Kerrisk
  • UNIX Systems for Modern Architectures (1994) by Schimmel.
  • Windows Internals (2009) by Russinovich and Solomon
  • Programming Windows by Charles Petzold
  • Programming Applications for Microsoft Windows by Jeffrey Richter

Computer Network

Must Read

  • Computer Networking: A Top Down Approach by Kurose, Ross
    Best for a beginner. You will fall in love with this book once you get hold of it :P. No prerequisites required. It is written marvelously for anyone to get interested in networking)
  • Computer Networks by Tanenbaum
    Good but dry. Well formed contents, should have some basic understanding of data communications before reading this book)
  • TCP/IP illustrated Vol 1 by Richard Stevens

Some More

  • Data Communications and Networking by Behrouz A. Forouzan
  • Computer Networks: A System Approach Larry L. Peterson and Bruce S. Davie
  • Data and Computer Communications by William Stallings

For programming

  • Unix Network Programming Vol 1 Sockets API - Richard Stevens
  • Unix Network Programming Vol 2 Inter process Communication - Richard Stevens

Databases

Must Read

  • Database System Concepts by Sudarshan, Korth
  • Fundamentals of Database System By Elmasari & Navathe

Some More

  • DATABASE MANAGEMENT SYSTEMS by Raghu Ramakrishnan, Johannes Gehrke
  • Fundamentals of Relational Database Management Systems by S. Sumathi, S. Esakkirajan
  • Database Systems concepts, languages & architectures by Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone
  • Database Systems: A Practical Approach to Design, Implementation, and Management by THOMAS M. CONNOLLY, CAROLYN E. BEGG
  • Database Modeling & Design: Logical Design by TOBY TEOREY, SAM LIGHTSTONE, TOM NADEAU

Design Patterns

  • Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
  • Head First Design Patterns by Elisabeth Freeman
  • Clean Code : A Handbook of Agile Software Craftsmanship by Robert C. Martin / Prentice Hall
  • Refactoring : Improving the Design of Existing Code by Martin Fowler, Kent Beck
  • Test Driven Development: By Example by Kent Beck

Security & Cryptography

  • The Code Book by Simon Singh
  • Understanding Cryptography: A Textbook for Students and Practitioners by Christof Paar, Jan Pelzl
  • Applied Cryptography: Protocols, Algorithms, and Source Code in C by Bruce Schneier
  • Cryptography Engineering: Design Principles and Practical Applications by Niels Ferguson, Bruce Schneier, Tadayoshi Kohno
  • Introduction to Modern Cryptography, Second Edition (Chapman & Hall/CRC Cryptography and Network Security Series) by Jonathan Katz
  • Serious Cryptography: A Practical Introduction to Modern Encryption by Jean-Philippe Aumasson
  • Practical Cryptography by Niels Ferguson, Bruce Schneier
  • Cryptography and Network Security: Principles and Practice by William Stallings
You can’t perform that action at this time.