Join WhatsApp channel for any doubts
A comprehensive collection of free programming and technical e-books for developers, students, and tech enthusiasts
Welcome to the Free Programming Books Repository! This is a community-driven collection of free educational resources designed to help anyone learn programming, advance their technical skills, or explore new technologies. Our mission is to democratize access to quality programming education materials for learners worldwide.
- π― Career Development: Master skills to showcase in your professional journey
- π Open Access: Free resources available to everyone, everywhere
- π€ Community-Driven: Built by developers, for developers
- π Continuous Growth: Regularly updated with new contributions
- π‘ Diverse Topics: From basics to advanced programming concepts
Our repository is organized into the following categories:
| Category | Description | Topics Covered |
|---|---|---|
| Android Development | Mobile app development for Android | Kotlin, Java for Android, Material Design |
| Artificial Intelligence | AI concepts and implementations | Neural Networks, Deep Learning, NLP, Computer Vision |
| C Programming | System programming with C | Fundamentals, Memory Management, Embedded Systems |
| C++ Programming | Object-oriented programming | STL, Modern C++, Game Development |
| Cloud Computing | Cloud platforms and services | AWS, Azure, GCP, Serverless, Kubernetes |
| Competitive Programming | Problem-solving and algorithmic challenges | Data Structures, Algorithms, Time Complexity, Code Optimization |
| Computer Networking | Network fundamentals and protocols | TCP/IP, HTTP/HTTPS, Network Security |
| Cyber Security | Information security | Ethical Hacking, Cryptography, Security Auditing |
| Data Science | Data analysis and visualization | Python/R for Data Science, Statistics, Big Data |
| Data Structures & Algorithms | DSA fundamentals | Sorting, Searching, Dynamic Programming |
| Interview Preparation | Technical interview resources | Coding Problems, System Design, Behavioral |
| Java Programming | Enterprise Java development | Core Java, Spring Boot, Microservices |
| Machine Learning | ML algorithms and applications | Supervised/Unsupervised Learning, Deep Learning |
| Python Programming | Python from basics to advanced | Django, Flask, Data Analysis, Automation |
| Web Development | Full-stack web development | HTML/CSS/JS, React, Node.js, Databases |
| Novels & Others | Non-technical and leisure reading | Tech Biographies, Soft Skills, Fiction |
- Browse: Navigate to your area of interest
- Download: Click on any PDF to view or download
- Learn: Start your learning journey
- Practice: Apply what you learn in projects
- Share: Help others by sharing this resource
We welcome all contributions! See our Contributing Guidelines below.
Contributions are what make the open-source community amazing. Any contributions you make are greatly valued and appreciated!
Ensure your contribution meets these criteria:
- π Add only legally free resources
β οΈ No pirated or copyrighted material- π» Must be relevant to programming/tech
- π PDF preferred, under 100MB
- π Content should add real value
git clone https://github.com/YOUR_USERNAME/Free-programming-books.git cd Free-programming-books
git checkout -b add-book-category-name
- Navigate to the appropriate category folder
- Add your PDF with a clear, descriptive name
- Use this naming convention:
BookTitle_Author_Year.pdf - Example:
CleanCode_RobertMartin_2008.pdf
Inside, it usually looks like this:
export const books = [
{
id: "python-1",
title: "Learning Python",
author: "Mark Lutz",
category: "Python Programming",
language: "Python",
year: 2020,
pages: 1600,
level: "Advanced",
description: "Comprehensive guide to Python programming.",
downloadLink: "https://example.com/learning-python.pdf",
tags: ["Python", "Reference", "Advanced"]
}
]
export const categories = [
"Web Development",
"Machine Learning",
"Python Programming",
"Data Science"
]
export const languages = [
"Python",
"Java",
"JavaScript",
"C",
"C++",
"Kotlin",
"HTML/CSS",
"General"
]
Scroll to the books array and add your new book below its category for example if you are adding python books:
{
"id": "python-S.NO",
"title": "Learning Python the Hard Way",
"author": "Zed A. Shaw",
"category": "Python Programming",
"language": "Python",
"pages": 320,
"year": 2024,
"level": "Beginner",
"description": "Learn Python through practical exercises and examples.",
"downloadLink": "https://example.com/python-hard-way.pdf", // Github book link
"tags": ["Python", "Hands-on", "Beginner"],
"featured": false
}
π‘ Tip:
- Use
"language"to specify the programming language (e.g.,"Python","Java","JavaScript"). - Keep the description concise (1β2 sentences).
If your book belongs to a new category or uses a programming language not yet listed, add them inside the same file:
Example:
export const categories = [
"Web Development",
"Machine Learning",
"Python Programming",
"AI Ethics" // newly added category
]
export const languages = [
"Python",
"Java",
"JavaScript",
"C",
"C++",
"Kotlin",
"HTML/CSS",
"Rust" // newly added programming language
]
β‘ Make sure:
- The programming language name matches standard naming (
"Python", not"python"). - There are no duplicates.
Before committing, ensure your JSON/TS file is valid:
npm run lint
git add .
git commit -m "Add [Book Name] by [Author] to [Category] folder"
git commit -m "Add Clean Code by Robert Martin to Java folder"
git push origin add-book-category-name
Then go to GitHub β Pull Requests β New Pull Request
and add a short description of your contribution β¨
β Final Checklist
| Task | Status |
|---|---|
Correct file naming (BookTitle_Author_Year.pdf) |
β |
Updated src/data/books.ts properly |
β |
| Commit message is descriptive | β |
| Book is free to distribute | β |
| PR created with details | β |
Help us maintain quality by reporting:
- π Corrupted or broken files
- βοΈ Copyright violations
- π Duplicate books
- π Miscategorized content
- π Dead links or missing files
- π Quality over Quantity: Submit only valuable books
- π Check Before Adding: Avoid duplicates
- βοΈ Respect Copyright: Only share legal resources
- π Stay Organized: Use proper categories
- π Descriptive Naming: BookTitle_Author_Year.pdf
π Thank you for helping us make programming knowledge free and accessible to all!
We appreciate everyone who helps build this knowledge base:
- @avinash201199 - Repository Founder & Maintainer
| Metric | Count |
|---|---|
| π Total Books | 100+ |
| π Categories | 15 |
| π₯ Contributors | Growing Daily |
| β Stars | Increasing |
| π΄ Forks | Active |
- π§ Issues: GitHub Issues
- π Discussions: GitHub Discussions
- π± Instagram: @lets__code - Follow for coding tips and updates
- β Star this repository to stay notified
- ποΈ Watch for new book additions
- π Follow @avinash201199 for updates
This repository structure and organization is available under the MIT License. Individual books maintain their original licenses and copyrights.
- All books are believed to be freely distributable
- We respect intellectual property rights
- Books are either:
- In public domain
- Shared with explicit permission
- Licensed for free distribution (Creative Commons, etc.)
- Open-source educational materials
If you believe any content violates your copyright, please immediately:
- Open an issue with details
- Contact the repository maintainer
- We will remove the content within 24 hours of verification
- Add search functionality via GitHub Pages
- Create learning paths for different technologies
- Add book ratings and reviews system
- Implement automated quality checks
- Create mobile-friendly web interface
- Add multi-language book support
- Build recommendation engine based on skill level
- Add video tutorial links for books
- Programming Fundamentals (C/Python)
- Data Structures & Algorithms
- Web Development Basics
- Version Control with Git
- First Project Ideas
- Frontend (HTML, CSS, JavaScript)
- Backend (Node.js/Python/Java)
- Databases (SQL & NoSQL)
- DevOps Basics
- Cloud Deployment
Special thanks to:
- π All authors who make their knowledge freely available
- π₯ Every contributor who has shared resources
- β Everyone who has starred and shared this repository
- π The global programming community
Help others discover these free resources:
- β Star this repository
- π Share with your network
- π Write about it in your blog
- π¦ Tweet about it
- π¬ Tell your fellow developers
Happy Learning & Happy Coding! π»π
Building a world where quality programming education is free for everyone
Made with β€οΈ by Avinash and Contributors