# Recommended books Due to copyright reasons, in addition to the open source resources provided in the books listed below, please use [libgen](http://libgen.is/) or [z-lib](https://z-lib .org/) lookup. ## Resource Summary - [Free Programming Books](https://github.com/EbookFoundation/free-programming-books): Summary of open source programming books - [CS Textbook Recommendations](https://4chan-science.fandom.com/wiki/Computer_Science_and_Engineering): List of recommended textbooks for computer science - [C Book Guide and List](https://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list): Recommended list of programming books related to C language - [C++ Book Guide and List](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list): Recommended list of programming books related to C++ language - [Python Book Guide and List](https://pythonbooks.org/): Recommended list of programming books related to Python language - [Computer Vision Textbook Recommendations](https://www.folio3.ai/blog/best-computer-vision-books/): List of recommended textbooks for computer vision - [Deep Learning Textbook Recommendations](https://www.mostrecommendedbooks.com/lists/best-deep-learning-books): List of recommended textbooks for deep learning ## Getting started with the system - Computer Systems: A Programmer's Perspective [[Douban](https://book.douban.com/subject/26912767/)] - Principles of Computer System Design: An Introduction [[豆瓣](https://book.douban.com/subject/3707841/)] ## operating system - [Modern Operating System: Principles and Implementation](https://ipads.se.sjtu.edu.cn/mospi/) [[豆瓣](https://book.douban.com/subject/35208251/)] - [Operating Systems: Three Easy Pieces](https://pages.cs.wisc.edu/~remzi/OSTEP/) [[豆瓣](https://book.douban.com/subject/19973015/)] - Modern Operating Systems [[Douban](https://book.douban.com/subject/27096665/)] - Operating Systems: Principles and Practice [[Douban](https://book.douban.com/subject/25984145/)] ## computer network - [Computer Networks: A Systems Approach](https://book.systemsapproach.org/foreword.html) [[豆瓣](https://book.douban.com/subject/26417896/)] - [Computer Networking: A Top-Down Approach](https://www.ucg.ac.me/skladiste/blog_44233/objava_64433/fajlovi/Computer%20Networking%20_%20A%20Top%20Down%20Approach,%207th,% 20converted.pdf) [[Douban](https://book.douban.com/subject/30280001/)] - How Networks Work [[Douban](https://book.douban.com/subject/26941639/)] ## Distributed Systems - [Patterns of Distributed System (Blog)](https://github.com/dreamhead/patterns-of-distributed-systems) - [Distributed Systems for Fun and Profit (Blog)](http://book.mixu.net/distsys/index.html) - [Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems](https://github.com/Vonng/ddia) [[豆瓣](https://book.douban.com/subject/ 26197294/)] ## database system - [Architecture of a Database System](https://dsf.berkeley.edu/papers/fntdb07-architecture.pdf) [[豆瓣](https://book.douban.com/subject/17665384/)] - [Readings in Database Systems](http://www.redbook.io/) [[豆瓣](https://book.douban.com/subject/2256069/)] - Database System Concepts [[Douban](https://book.douban.com/subject/10548379/)] ## Compilation principle - Engineering a Compiler [[Douban](https://book.douban.com/subject/5288601/)] - Compilers: Principles, Techniques, and Tools [[豆瓣](https://book.douban.com/subject/1866231/)] ## Computer programming language - Construction and Interpretation of Computer Programs [[豆瓣](https://book.douban.com/subject/1148282/)] - [Essentials of Programming Languages](https://eopl3.com/) [[Douban](https://book.douban.com/subject/3136252/)] - [Practical Foundations for Programming Languages](https://www.cs.cmu.edu/~rwh/pfpl.html) [[豆瓣](https://book.douban.com/subject/26782198/)] - [Software Foundations](https://softwarefoundations.cis.upenn.edu/) [[Douban](https://book.douban.com/subject/25712292/)] [[Peking University related courses](https:/ /xiongyingfei.github.io/SF/2021/)] - [Types and Programming Languages](https://www.cis.upenn.edu/~bcpierce/tapl/) [[Douban](https://book.douban.com/subject/1761910/)] [[Peking University Related courses](https://xiongyingfei.github.io/DPPL/2021/main.htm)] ## Architecture - Superscalar Processor Design: Superscalar RISC Processor Design [[豆瓣](https://book.douban.com/subject/26293546/)] - Computer Organization and Design RISC-V Edition [[豆瓣](https://book.douban.com/subject/27103952/)] - Computer Organization and Design: The Hardware/Software Interface [[豆瓣](https://book.douban.com/subject/26604008/)] - Computer Architecture: A Quantitative Approach [[Douban](https://book.douban.com/subject/6795919/)] ## Theoretical Computer Science - Introduction to the Theory of Computation [[豆瓣](https://book.douban.com/subject/1852515/)] ## Cryptography - Cryptography Engineering: Design Principles and Practical Applications [[Douban](https://book.douban.com/subject/26416592/)] - Introduction to Modern Cryptography [[豆瓣](https://book.douban.com/subject/2678340/)] ## Reverse Engineering - Core Principles of Reverse Engineering [[豆瓣](https://book.douban.com/subject/25866389/)] - Encryption and decryption [[Douban](https://book.douban.com/subject/30288807/)] ## Computer Graphics - [Monte Carlo theory, methods and examples](https://artowen.su.domains/mc/)[[豆瓣](https://book.douban.com/subject/6089923/)] - Advanced Global Illumination [[Douban](https://book.douban.com/subject/2751153/)] - Fundamentals of Computer Graphics [[豆瓣](https://book.douban.com/subject/26868819/)] - [Fluid Simulation for Computer Graphics](http://wiki.cgt3d.cn/mediawiki/images/4/43/Fluid_Simulation_for_Computer_Graphics_Second_Edition.pdf) [[豆瓣](https://book.douban.com/subject/2584523/ )] - [Physically Based Rendering: From Theory To Implementation](https://research.quanfita.cn/files/Physically_Based_Rendering_Third_Edition.pdf) [[Douban](https://book.douban.com/subject/4306242/)] - [Real-Time Rendering](https://research.quanfita.cn/files/Real-Time_Rendering_4th_Edition.pdf) [[Douban](https://book.douban.com/subject/30296179/)] ## Game Engine - Game Programming Patterns: Game Programming Patterns [[Douban](https://book.douban.com/subject/26880704/)] - Real-time collision detection algorithm technology [[Douban](https://book.douban.com/subject/4861957/)] - [Game AI Pro Series](http://www.gameaipro.com/) [[Douban](https://search.douban.com/book/subject_search?search_text=Game+AI+Pro&cat=1001)] - Artificial Intelligence for Games [[Douban](https://book.douban.com/subject/3836472/)] - Game Engine Architecture [[Douban](https://book.douban.com/subject/25815142/)] - Game Programming Gems Series [[Douban](https://search.douban.com/book/subject_search?search_text=Game+Programming+Gems&cat=1001)] ## Software Engineering - [Software Engineering at Google](https://abseil.io/resources/swe-book) [[豆瓣](https://book.douban.com/subject/34875994/)] ## Design Patterns - Design Patterns: The Foundation of Reusable Object-Oriented Software [[豆瓣](https://book.douban.com/subject/1052241/)] - Big talk design pattern [[Douban](https://book.douban.com/subject/2334288/)] - [Head First Design Pattern](https://awesome-programming-books.github.io/design-pattern/HeadFirst%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC% 8F.pdf) [[Douban](https://book.douban.com/subject/2243615/)] ## deep learning - [Hands-on deep learning](https://zh.d2l.ai) [[Douban](https://book.douban.com/subject/33450010/)] - [Neural Network and Deep Learning](https://nndl.github.io/) [[Douban](https://book.douban.com/subject/35044046/)] - Introduction to Deep Learning [[Douban](https://book.douban.com/subject/30270959/)] - [Simple and rude TensorFlow 2 (Tutorial)](https://tf.wiki/) - [Speech and Language Processing](https://web.stanford.edu/~jurafsky/slp3/) [[豆瓣](https://book.douban.com/subject/5373023/)] ## Computer Vision - [Multiple View Geometry in Computer Vision](https://github.com/DeepRobot2020/books/blob/master/Multiple%20View%20Geometry%20in%20Computer%20Vision%20(Second%20Edition).pdf) [[豆瓣 ](https://book.douban.com/subject/1841346/)] ## robot - [Probabilistic Robotics](https://docs.ufpr.br/~danielsantos/ProbabilisticRobotics.pdf) [[豆瓣](https://book.douban.com/subject/2861227/)] ## interview - Jianzhi Offer: Famous company interviewers give detailed lectures on typical programming questions [[豆瓣](https://book.douban.com/subject/27008702/)] - Cracking The Coding Interview [[豆瓣](https://book.douban.com/subject/10436668/)]