Skip to content

SBAI-Youness/Free_Computer_Science_Books

Repository files navigation

Free Computer Science Books

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.

Repository Structure

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
  • 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
  • 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
  • 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
  • Web Development
    Books on web development frameworks.

    • ReactJS
      • Pro React
      • React and React Native

How to Use This Repository

  1. Browse by Category: Navigate through the folders to find books relevant to your area of interest.
  2. Download Books: All books are in PDF format and can be downloaded directly from the repository.
  3. Contribute: If you have additional free computer science books to share, see the Contributions section below.

🤝 Contributions

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

⭐ Support

If you find this repo useful, consider giving it a star ⭐ so others can discover it too!

License

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.

Acknowledgments

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!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published