Skip to content

ANJI1026/Python-Learning-Notes

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š Free Programming Books

Join WhatsApp channel for any doubts

Contributors Issues Stars Forks License

A comprehensive collection of free programming and technical e-books for developers, students, and tech enthusiasts

πŸ“– About

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.

✨ Why This Repository?

  • 🎯 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

πŸ“‚ Repository Structure

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

πŸš€ Quick Start Guide

For Learners

  1. Browse: Navigate to your area of interest
  2. Download: Click on any PDF to view or download
  3. Learn: Start your learning journey
  4. Practice: Apply what you learn in projects
  5. Share: Help others by sharing this resource

For Contributors

We welcome all contributions! See our Contributing Guidelines below.

🀝 Contributing Guidelines

Contributions are what make the open-source community amazing. Any contributions you make are greatly valued and appreciated!

βœ… Before You Contribute

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

πŸ“˜ How to Add a Book


1️⃣ Fork the Repository

Fork via GitHub UI, then clone

git clone https://github.com/YOUR_USERNAME/Free-programming-books.git cd Free-programming-books


2️⃣ Create a Feature Branch

git checkout -b add-book-category-name

Example: git checkout -b add-python-cookbook


3️⃣ Add Your Book

  • 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

4️⃣ Update the Code in src/data/books.ts

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"
]

4️⃣ Add a New Book Entry

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).

🏷️ 5️⃣ If Category or Programming Language Doesn’t Exist

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.

6️⃣ Validate Your Syntax

Before committing, ensure your JSON/TS file is valid:

npm run lint

or use an online JSON/TS validator


5️⃣ Commit with a Clear Message

git add . git commit -m "Add [Book Name] by [Author] to [Category] folder"

Example:

git commit -m "Add Clean Code by Robert Martin to Java folder"


6️⃣ Push and Create a Pull Request

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 βœ…

πŸ› Reporting Issues

Help us maintain quality by reporting:

  • πŸ“Ž Corrupted or broken files
  • βš–οΈ Copyright violations
  • πŸ”„ Duplicate books
  • πŸ“ Miscategorized content
  • πŸ”— Dead links or missing files

Report an Issue β†’

πŸ“‹ Contribution Best Practices

  • πŸ† 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!

🌟 Hall of Fame - Top Contributors

We appreciate everyone who helps build this knowledge base:

View All Contributors β†’

πŸ“Š Repository Statistics

Metric Count
πŸ“š Total Books 100+
πŸ“ Categories 15
πŸ‘₯ Contributors Growing Daily
⭐ Stars Increasing
🍴 Forks Active

πŸ’¬ Community & Support

Get Help

Stay Updated

  • ⭐ Star this repository to stay notified
  • πŸ‘οΈ Watch for new book additions
  • πŸ”” Follow @avinash201199 for updates

πŸ“œ Legal Information

License

This repository structure and organization is available under the MIT License. Individual books maintain their original licenses and copyrights.

βš–οΈ Copyright Disclaimer

  • 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

DMCA Notice

If you believe any content violates your copyright, please immediately:

  1. Open an issue with details
  2. Contact the repository maintainer
  3. We will remove the content within 24 hours of verification

πŸ—ΊοΈ Roadmap & Future Plans

  • 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

🎯 Learning Paths (Coming Soon)

πŸš€ Beginner Developer Path

  1. Programming Fundamentals (C/Python)
  2. Data Structures & Algorithms
  3. Web Development Basics
  4. Version Control with Git
  5. First Project Ideas

πŸ’Ό Full-Stack Developer Path

  1. Frontend (HTML, CSS, JavaScript)
  2. Backend (Node.js/Python/Java)
  3. Databases (SQL & NoSQL)
  4. DevOps Basics
  5. Cloud Deployment

πŸ™ Acknowledgments

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

πŸ“£ Spread the Word

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

🌟 Star this repository to help others find these free resources! 🌟

Happy Learning & Happy Coding! πŸ’»πŸ“š

Building a world where quality programming education is free for everyone


Made with ❀️ by Avinash and Contributors

About

Free programming books pdf

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 94.5%
  • HTML 4.2%
  • Other 1.3%