Welcome to the Free Computer Science Books repository! This collection provides a curated list of freely available books covering various computer science topics. The resources are organized by category to help you find relevant materials for learning and reference.
The books are organized into the following categories:
-
Computer Hardware
Books on computer systems and architecture.- Computer Systems: A Programmer's Perspective - Randal E. Bryant & David R. O’Hallaron, 1st ed.
- Computer Systems: A Programmer's Perspective - Randal E. Bryant & David R. O’Hallaron, 3rd ed.
-
Computer Networks
Resources on networking principles, protocols, and performance.- An Introduction to Computer Networks - Peter L Dordal, 2023
- Computer Networking: Principles, Protocols and Practice - Olivier Bonaventure, 2012
- Computer Networks: A Systems Approach - Peterson & Davie, 2019
- Computer Networks: Performance and Quality of Service - Ivan Marsic, 2010
-
Databases
Guides to database concepts and management.- Concise Guide to Databases - Peter Lake, Paul Crowther, 2013
-
GUI Libraries
Tutorials and guides for graphics and GUI programming.- OpenGL
- Learn OpenGL Graphics Programming
- SDL2
- Utiliser la SDL en langage C
- Vulkan
- Vulkan
- OpenGL
-
Operating Systems
Books on operating system concepts, Linux, and system programming.- Linux
- Linux Command Line (Cover All Essential Linux Commands) - Ray Yao, 2014
- Linux Device Drivers - Jonathan Corbet, Alessandro Rubini, & Greg Kroah-Hartman, 3rd ed. 2005
- Linux in a Nutshell
- Linux Kernel in a Nutshell - Greg Kroah-Hartman
- System Programming with C and Unix - Adam Hoover
- Operating System Concepts - Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, 9th ed.
- Operating Systems: Three Easy Steps - Remzi Arpaci-Dusseau & Andrea Arpaci-Dusseau, 2018
- The Little Book About OS Development - Erik Helin & Adam Renberg, 2015
- Think OS: A Brief Introduction to Operating Systems - Allen B. Downey, 2015
- Linux
-
Programming Languages
Resources for learning various programming languages and competitive programming.- C
- The C Programming Language - K&R
- C++
- Beginning C++ Programming - Packt, 2017
- Competitive Programmer’s Handbook
- Guide to Competitive Programming - Antti Laaksonen, 1st ed. 2017
- Python
- Python Programming Fundamentals - Kent D. Lee, 2nd ed. 2014
- C
-
Software Engineering
Guides to software development practices.- Concise Guide to Software Engineering - Gerard O'Regan, 1st ed. 2017
-
Version Control System
Resources for learning version control with Git.- Git
- Pro Git
- Git
-
Web Development
Books on web development frameworks.- ReactJS
- Pro React
- React and React Native
- ReactJS
- Browse by Category: Navigate through the folders to find books relevant to your area of interest.
- Download Books: All books are in PDF format and can be downloaded directly from the repository.
- Contribute: If you have additional free computer science books to share, see the Contributions section below.
Want to add more free books? Fork the repo, add them under the right folder, and open a pull request.
Guidelines:
- Only include books that are freely and legally available.
- Keep naming consistent:
Title - Author(s), Edition Year.pdf
If you find this repo useful, consider giving it a star ⭐ so others can discover it too!
This repository only includes links to or copies of freely available books. Each book may have its own licensing terms, so please check the individual book for its license.
Thank you to all authors and publishers who make these resources freely available to the community. This repository aims to promote accessible education in computer science.
Happy learning!