🔹 Month 1: Python Fundamentals
Week 1: Introduction to Python
Installing Python & IDEs (PyCharm, VS Code, Jupyter)
Python syntax and indentation
Variables, data types, input/output
Comments and basic operators
Week 2: Control Flow & Loops
if, elif, else statements
Logical operators
for loops and while loops
range(), break, continue
Week 3: Functions and Error Handling
Defining and calling functions
Parameters, return values
Variable scope and default arguments
Try/except blocks and common exceptions
Week 4: Data Structures I
Lists and list methods
Tuples and tuple operations
Sets and basic set operations
Dictionaries (keys, values, methods)
📝 Mini Project 1: Command-line Calculator or To-Do List App
🔹 Month 2: Intermediate Concepts & OOP
Week 5: Strings and File Handling
String manipulation, slicing, formatting
Reading/writing text files
Working with CSV files using csv module
Week 6: Modules and Packages
Importing built-in modules
Exploring math, random, datetime
Creating custom modules
Python Package Index (PyPI) and pip
Week 7: Object-Oriented Programming (OOP)
Classes and objects
__init__, instance vs class variables
Inheritance and polymorphism
Encapsulation and private attributes
Week 8: Data Structures II & Practice
Advanced dictionary/list usage
Nested data structures
List comprehension
Practice problems integrating functions and data structures
📝 Mini Project 2: Contact Book / Student Management System (using OOP + file I/O)
🔹 Month 3: Advanced Concepts & Capstone Project
Week 9: Working with External Libraries
Installing packages with pip
Working with requests, json
Intro to tkinter for basic GUI (or CLI if preferred)
API consumption basics
Week 10: Debugging and Testing
Using print() vs logging
assert statements
Intro to unit testing with unittest
Debugging tips and tools
Week 11: Final Project Planning
Choose a project idea (e.g., Expense Tracker, Notes App, Weather App)
Design features, data flow, file structure
Version control with Git and GitHub
Week 12: Final Project Execution & Presentation
Build and test the final project
Code review and optimization
Prepare documentation and README
Final presentations or demos