Zum Inhalt springen

100 Days of Code – Python Roadmap

I started to learn Python, so I decided to create a 100 Days of Code guide for myself to avoid confusion about what to study or practice each day. There’s a lot of information out there, and I often found myself jumping between tutorials and topics without a clear path. That’s why I built this structured roadmap — to give myself clarity and stay motivated.

To add an extra layer of discipline and growth, I challenged myself not to use ChatGPT or other AI tools for writing code. Instead, I will rely on them only to understand difficult concepts or get unstuck. This way, I’m truly learning by doing, not just copying code that works.

If you’re also learning Python or want a clear roadmap to follow for 100 days, feel free to adapt this guide. It’s beginner-friendly, project-focused, and gradually builds into advanced topics like web development and machine learning.

Week 1–2: Python Basics and Core Concepts

  • Day 1: Install Python and write your first script.

    • Project: Print “Hello, World!” and your name using a script.
  • Day 2: Variables and data types.

    • Project: Create a script that stores your age, name, and calculates your age in 5 years.
  • Day 3: User input and output.

    • Project: Ask for a user’s name and age, then display a greeting with their future age.
  • Day 4: Arithmetic operators.

    • Project: Build a basic calculator for +, –, ×, and ÷ operations.
  • Day 5: Conditional statements.

    • Project: Check if a number is even, odd, positive, negative, or zero.
  • Day 6: While and for loops.

    • Project: Create a number guessing game.
  • Day 7: Functions.

    • Project: Write a factorial calculator using a function.
  • Day 8: Lists and list operations.

    • Project: Make a to-do list that lets users add, remove, and view tasks.
  • Day 9: Tuples.

    • Project: Store coordinates of points and print them out.
  • Day 10: Dictionaries.

    • Project: Build a contact book that maps names to phone numbers.

Week 3–4: Intermediate Python Concepts

  • Day 11: Sets and duplicate detection.

    • Project: Identify and remove duplicate names in a list.
  • Day 12: String manipulation.

    • Project: Check if an input string is a palindrome.
  • Day 13: List comprehensions.

    • Project: Generate a list of squares from 1 to 20.
  • Day 14: Error handling with try-except.

    • Project: Build a calculator that gracefully handles division by zero.
  • Day 15: File handling.

    • Project: Create a daily journal that appends entries to a .txt file.
  • Day 16: Date and time.

    • Project: Calculate days remaining until your birthday.
  • Day 17: Regular expressions.

    • Project: Validate emails and phone numbers using regex.
  • Day 18: Lambda expressions.

    • Project: Sort a list of student records by grade using a lambda function.
  • Day 19: Map, filter, and reduce.

    • Project: Process a list of marks to find the average score after filtering out fails.
  • Day 20: Exception chaining and custom exceptions.

    • Project: Create custom errors for a grading system (e.g., „InvalidScoreError“).

Week 5–6: Object-Oriented Programming in Python

  • Day 21: Introduction to classes.

    • Project: Create a Book class with title, author, and year.
  • Day 22: Methods and object instantiation.

    • Project: Build a Car class with start() and stop() methods.
  • Day 23: Class vs instance variables.

    • Project: Track total number of Student instances created.
  • Day 24: Inheritance.

    • Project: Create an Animal superclass and inherit into Dog and Cat.
  • Day 25: Polymorphism.

    • Project: Override a make_sound() method in different animal classes.
  • Day 26: Encapsulation.

    • Project: Use getters and setters in a BankAccount class.
  • Day 27: Abstract classes.

    • Project: Create an abstract Shape class with subclasses like Circle and Square.
  • Day 28: Method overloading.

    • Project: Create a class that computes area based on number/type of arguments.
  • Day 29: Method overriding.

    • Project: Create a base Employee class with overridden calculate_salary() in subclasses.
  • Day 30: Build an ATM simulation.

    • Project: Login, check balance, deposit, and withdraw (using OOP principles).

Week 7–8: Advanced Python Features

  • Day 31: Decorators.

    • Project: Create a logging decorator that prints the function name and arguments.
  • Day 32: Generators.

    • Project: Implement a Fibonacci sequence generator.
  • Day 33: Custom iterators.

    • Project: Build a countdown iterator class.
  • Day 34: Built-in functions like zip, enumerate, all, any.

    • Project: Create a zipped inventory of products and prices.
  • Day 35: Multithreading.

    • Project: Create a program that fetches multiple URLs in parallel.
  • Day 36: Multiprocessing.

    • Project: Perform simultaneous factorial calculations on multiple numbers.
  • Day 37: Context managers.

    • Project: Write a custom context manager for opening and closing a file.
  • Day 38: Metaclasses.

    • Project: Restrict class creation based on custom rules using metaclasses.
  • Day 39: Garbage collection.

    • Project: Track memory usage before and after deleting objects.
  • Day 40: Design patterns – Singleton.

    • Project: Create a Singleton Logger class.

Week 9–10: Databases and APIs

  • Day 41: Connect to MySQL.

    • Project: Query user data from a MySQL database using Python.
  • Day 42: SQLite.

    • Project: Build a student record system using SQLite.
  • Day 43: Using mysql-connector.

    • Project: Add and update employee records.
  • Day 44: SQLAlchemy ORM.

    • Project: Build a blog model with relationships using SQLAlchemy.
  • Day 45: Consuming an API.

    • Project: Display real-time weather using an open weather API.
  • Day 46: JSON parsing.

    • Project: Parse API data into usable Python objects (dictionary/lists).
  • Day 47: Intro to Flask.

    • Project: Create a „Hello Flask!“ web app with two routes.
  • Day 48: Form handling.

    • Project: Build a contact form that sends data to a backend script.
  • Day 49: Templating with Flask.

    • Project: Create a dynamic webpage that displays blog posts from a list.
  • Day 50: User authentication.

    • Project: Add login and registration forms using Flask and sessions.

Week 11–12: Web Development with Django

  • Day 51: Create a Django project.

    • Project: Start your personal blog project.
  • Day 52: Models and migrations.

    • Project: Define blog post model and migrate to database.
  • Day 53: Django views.

    • Project: Create views to display posts and handle logic.
  • Day 54: Django templates.

    • Project: Add HTML templates to show blog post details.
  • Day 55: Django admin.

    • Project: Customize the admin dashboard for post management.
  • Day 56: User registration and authentication.

    • Project: Allow users to register and log in.
  • Day 57: URL routing.

    • Project: Create navigation and route links between views.
  • Day 58: Django REST Framework.

    • Project: Build a basic API for retrieving blog posts.
  • Day 59: Deployment.

    • Project: Deploy your Django site on Render/Heroku with a PostgreSQL DB.
  • Day 60: Testing.

    • Project: Write unit tests for views, models, and forms.

Week 13–14: Data Science and Machine Learning

  • Day 61: NumPy basics.

    • Project: Perform matrix multiplication and array reshaping.
  • Day 62: Pandas.

    • Project: Analyze a CSV dataset (e.g., Titanic or iris dataset).
  • Day 63: Matplotlib.

    • Project: Visualize data with pie charts, line plots, and histograms.
  • Day 64: Data cleaning.

    • Project: Clean missing or incorrect data in a dataset.
  • Day 65: Linear regression.

    • Project: Predict student grades based on study hours.
  • Day 66: Logistic regression.

    • Project: Classify if a patient has diabetes based on medical data.
  • Day 67: Clustering with K-Means.

    • Project: Group customers based on purchase behavior.
  • Day 68: Model evaluation.

    • Project: Evaluate predictions using accuracy and confusion matrix.
  • Day 69: TensorFlow intro.

    • Project: Build a basic neural network for image classification (MNIST).
  • Day 70: Real-world ML project.

    • Project: Predict house prices using regression and clean dataset.

Week 15: Final Projects

  • Day 71–75: Django portfolio/blog website.

    • Project: Full-stack web app with CRUD blog post system.
  • Day 76–80: Flask dashboard.

    • Project: Visualize COVID data or financial data using charts.
  • Day 81–85: ML app.

    • Project: Deploy a machine learning model via Flask or Streamlit.
  • Day 86–90: Capstone project.

    • Project: Budget tracker, resume parser, or e-commerce platform.
  • Day 91–95: Coding interview prep.

    • Project: Solve 5+ LeetCode/Codewars problems daily using Python.
  • Day 96–100: Documentation and deployment.

    • Project: Polish code, write README, and upload projects to GitHub/portfolio.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert