Git Product home page Git Product logo

python-learning-by-projects's Introduction

Project-Based Python Learning Course

Welcome to the Project-Based Python Learning Course! This repository, curated by dsj7419, is designed to provide a hands-on and engaging approach to learning Python through practical projects. This is a constant work in progress, and is evolving quickly!

Python Learning By Projects

About The Course

This course is structured into different modules, each focusing on a particular topic in Python and associated with a project to provide a practical application of the concepts learned.

How to Use This Repository

  • Learners: Navigate through the modules, read the concepts, and work on projects on the course website. Each lesson is available as a separate page, and quizzes are integrated into the web interface for a seamless learning experience.
  • Contributors: Feel free to improve existing content, add new projects, or enhance documentation by interacting with the GitHub repository.

Getting Started

Start your Python journey here by setting up your development environment and working on the first project!

Course Structure

Beginning Python

  1. Getting Started

    • Environment Setup, Writing a Python Script
    • Project: Hello, World! & Magic 8-Ball Simulator
  2. Variables and Data Types

    • Variables, Data Types
    • Project: Greeting Card
  3. Control Flow

    • Conditionals, Loops
    • Project: Adventure Game
  4. Data Structures

    • Lists, Dictionaries, Sets
    • Project: To-Do List Application
  5. Modular Programming

    • Benefits, Creating Modules, Importing Modules
    • Project: Calculator
  6. File Operations

    • File I/O, Working with Paths
    • Project: Note-Keeping App
  7. Regular Expressions

    • Pattern Matching, Data Extraction
    • Project: Data Scraper
  8. Exception Handling

    • Try/Except, Raising Exceptions
    • Project: Basic Data Entry System
  9. Object-Oriented Programming

    • Classes, Objects, Inheritance
    • Project: Library Management System
  10. External Libraries and Visualization

    • Using Libraries, Basic Data Visualization
    • Project: Data Visualization with Matplotlib
  11. Testing and Debugging

    • Unit Tests, Debugging Techniques
    • Project: Testing a Shopping Cart System
  12. Version Control with Git

    • Git Basics, GitHub, Collaboration
    • Project: Collaborative Document Editor
  13. Final Project

    • Integrating Learned Concepts
    • Project: Automated Report Generation and Distribution System

Intermediate Python (Courses currently being developed)

  1. Advanced Data Types and Algorithms

    • In-depth comprehension, Iterators, Generators
    • Sorting and Searching Algorithms
    • Project: Password Generator and Manager
  2. Functional Programming

    • First-Class Functions, Higher-Order Functions
    • Lambda Functions, map, filter, reduce
    • Project: Batch File Renamer
  3. Decorators and Closures

    • Understanding and writing decorators
    • Using closures for maintaining state
    • Project: User Authentication System
  4. Context Managers and the with Statement

    • Creating your own context managers
    • Practical usage of context managers
    • Project: Resource Management Tool
  5. Advanced Object-Oriented Programming

    • MetaClasses, Abstract Base Classes
    • Multiple Inheritance, Method Resolution Order
    • Project: Plugin System Design
  6. Advanced Control Flow

    • Advanced unpacking, *args, **kwargs
    • The itertools and operator modules
    • Project: Command-line Calculator
  7. Exception Handling In-Depth

    • Creating custom exception classes
    • Advanced exception handling techniques
    • Project: File Parser with Robust Error Handling
  8. File Operations and Data Serialization

    • Working with binary files
    • JSON, YAML, Pickle
    • Project: Cross-Format Data Converter
  9. Database Interaction

    • Python DB-API
    • ORM with SQLAlchemy
    • Project: Inventory Control System
  10. Network Programming

    • Basics of the socket module
    • Client-server application development
    • Project: Peer-to-peer Chat Application
  11. Concurrency and Parallelism

    • Threading and Multiprocessing
    • AsyncIO
    • Project: Asynchronous Web Scraper
  12. Web Development with Flask

    • Flask Framework Fundamentals
    • Flask Extensions
    • Project: Personal Portfolio Website
  13. Testing and Debugging

    • Unit testing with unittest and pytest
    • Debugging and Profiling
    • Project: Testing and Performance Optimization
  14. Automating Daily Tasks

    • Scripting for File System Management
    • Task Scheduling
    • Project: System Backup and Task Scheduling
  15. Final Intermediate Project

    • An integration of the concepts covered
    • Developing a web service with user authentication, database interaction, API and a front-end interface
    • Project: Full-stack Task Management Tool

Contributing

Contributions are always welcome! Please read CONTRIBUTING for guidelines on how to get started with contributing.

License

This project is licensed under the MIT License.

Connect and Discuss

Happy Coding! ๐Ÿš€

python-learning-by-projects's People

Contributors

dsj7419 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.