mirror of
https://github.com/PKUFlyingPig/cs-self-learning.git
synced 2026-06-25 10:56:55 +08:00
9 KiB
9 KiB
Recommended books
Due to copyright reasons, in addition to the open source resources provided in the books listed below, please use libgen or [z-lib](https://z-lib .org/) lookup.
Resource Summary
- Free Programming Books: Summary of open source programming books
- CS Textbook Recommendations: List of recommended textbooks for computer science
- C Book Guide and List: Recommended list of programming books related to C language
- C++ Book Guide and List: Recommended list of programming books related to C++ language
- Python Book Guide and List: Recommended list of programming books related to Python language
- Computer Vision Textbook Recommendations: List of recommended textbooks for computer vision
- Deep Learning Textbook Recommendations: List of recommended textbooks for deep learning
Getting started with the system
- Computer Systems: A Programmer's Perspective [Douban]
- Principles of Computer System Design: An Introduction [豆瓣]
operating system
- Modern Operating System: Principles and Implementation [豆瓣]
- Operating Systems: Three Easy Pieces [豆瓣]
- Modern Operating Systems [Douban]
- Operating Systems: Principles and Practice [Douban]
computer network
- Computer Networks: A Systems Approach [豆瓣]
- [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]
- How Networks Work [Douban]
Distributed Systems
- Patterns of Distributed System (Blog)
- Distributed Systems for Fun and Profit (Blog)
- Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems [[豆瓣](https://book.douban.com/subject/ 26197294/)]
database system
- Architecture of a Database System [豆瓣]
- Readings in Database Systems [豆瓣]
- Database System Concepts [Douban]
Compilation principle
Computer programming language
- Construction and Interpretation of Computer Programs [豆瓣]
- Essentials of Programming Languages [Douban]
- Practical Foundations for Programming Languages [豆瓣]
- Software Foundations [Douban] [[Peking University related courses](https:/ /xiongyingfei.github.io/SF/2021/)]
- Types and Programming Languages [Douban] [Peking University Related courses]
Architecture
- Superscalar Processor Design: Superscalar RISC Processor Design [豆瓣]
- Computer Organization and Design RISC-V Edition [豆瓣]
- Computer Organization and Design: The Hardware/Software Interface [豆瓣]
- Computer Architecture: A Quantitative Approach [Douban]
Theoretical Computer Science
- Introduction to the Theory of Computation [豆瓣]
Cryptography
- Cryptography Engineering: Design Principles and Practical Applications [Douban]
- Introduction to Modern Cryptography [豆瓣]
Reverse Engineering
Computer Graphics
- Monte Carlo theory, methods and examples[豆瓣]
- Advanced Global Illumination [Douban]
- Fundamentals of Computer Graphics [豆瓣]
- Fluid Simulation for Computer Graphics [豆瓣]
- Physically Based Rendering: From Theory To Implementation [Douban]
- Real-Time Rendering [Douban]
Game Engine
- Game Programming Patterns: Game Programming Patterns [Douban]
- Real-time collision detection algorithm technology [Douban]
- Game AI Pro Series [Douban]
- Artificial Intelligence for Games [Douban]
- Game Engine Architecture [Douban]
- Game Programming Gems Series [Douban]
Software Engineering
Design Patterns
- Design Patterns: The Foundation of Reusable Object-Oriented Software [豆瓣]
- Big talk design pattern [Douban]
- [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]
deep learning
- Hands-on deep learning [Douban]
- Neural Network and Deep Learning [Douban]
- Introduction to Deep Learning [Douban]
- Simple and rude TensorFlow 2 (Tutorial)
- Speech and Language Processing [豆瓣]