Skip to content

Latest commit

 

History

History
315 lines (185 loc) · 4.4 KB

File metadata and controls

315 lines (185 loc) · 4.4 KB

Great—this is exactly the right move. A tight checklist removes decision fatigue and keeps you from drifting or restarting.

Below is a 7-day, execution-focused plan. Treat it like a contract: don’t skip, don’t restart—just move forward.


🧠 Ground Rules (read once)

  • Spend ~70% coding, 30% reading
  • If stuck >20 minutes → search or ask, then continue
  • Finish imperfect code > restarting perfect code
  • Every day ends with a working program

📅 DAY 1 — Core Basics + First Program

Goal: Be comfortable writing simple logic

Learn (quickly, don’t overdo)

  • Variables, strings, numbers
  • Lists, dictionaries
  • if/else, for, while

✅ Exercises

  1. Create variables:

    • Name, age, is_student → print sentence
  2. List practice:

    • Store 5 numbers → print sum
  3. Dictionary:

    • Store name → phone
    • Print a phone number by name

🛠 Mini Project: “Simple Calculator”

Requirements:

  • Ask user for:

    • number1
    • number2
    • operation (+, -, *, /)
  • Print result

👉 Stretch:

  • Handle invalid input

📅 DAY 2 — Functions (no quitting here)

Goal: Stop writing everything in one block


Learn

  • def, parameters, return values

✅ Exercises

  1. Function to add two numbers
  2. Function to check if number is even
  3. Function that takes a list and returns the max

🛠 Mini Project: “Calculator v2 (with functions)”

Refactor yesterday’s calculator:

  • Each operation = its own function
  • Main program calls functions

👉 Stretch:

  • Loop so user can calculate multiple times

📅 DAY 3 — File Handling (your missing piece)

Goal: Persist data (this unlocks real apps)


Learn

  • open()
  • Modes: "r", "w", "a"
  • Reading & writing text

✅ Exercises

  1. Write “Hello” to a file
  2. Read it back and print
  3. Append new lines

🛠 Mini Project: “Contact Saver (no classes yet)”

Requirements:

  • Ask user for name + phone
  • Save to file
  • Load and display all contacts

👉 Format suggestion:

John,12345
Mary,67890

📅 DAY 4 — Intro to Classes (don’t overthink)

Goal: Understand why classes exist


Learn

  • class
  • __init__
  • Instance variables
  • Methods

✅ Exercises

  1. Create a Dog class:

    • name, age
    • method: bark()
  2. Create 2 dog objects and call methods


🛠 Mini Project: “Contact Class”

Convert yesterday’s idea:

  • Create Contact class:

    • name
    • phone
    • method: display()

👉 Don’t use files yet—just objects


📅 DAY 5 — OOP Applied (this is where it clicks)

Goal: Structure a real system


Learn

  • Multiple objects
  • Basic composition (class inside another)

🛠 Mini Project: “ContactBook System”

Create:

  • Contact class

  • ContactBook class:

    • list of contacts

    • methods:

      • add_contact
      • show_contacts

✅ Exercises

  • Add 3 contacts
  • Print all contacts using class methods

👉 Stretch:

  • Add search by name

📅 DAY 6 — Combine OOP + File Handling 🔥

Goal: Build something real


🛠 Main Project: “CLI Contact Manager”

Features:

  • Add contact
  • View contacts
  • Save to file
  • Load from file

Structure Hint:

  • Contact class

  • ContactBook class

  • Functions:

    • save_to_file()
    • load_from_file()

Menu Example:

1. Add contact
2. View contacts
3. Save
4. Load
5. Exit

👉 This is your “I understand Python” moment


📅 DAY 7 — Reinforce + Upgrade

Goal: Lock it in (most important day)


✅ Tasks

  1. Add 2 features:

    • Delete contact
    • Search contact
  2. Refactor:

    • Clean messy code
    • Improve naming
  3. Rebuild ONE part from memory:

    • e.g., recreate Contact class without looking

🛠 Final Challenge

Add:

  • Error handling (try/except)
  • Prevent duplicate contacts

🧭 What success looks like after 7 days

You can:

  • Write structured Python programs
  • Use functions properly
  • Read/write files
  • Build and use classes
  • Understand basic OOP flow

If you feel stuck at any point

Don’t restart. Instead:

  • Shrink the task
  • Make it work badly first
  • Then improve it

If you want, I can:

  • Review your Day 1 or Day 3 code
  • Or walk you through Day 4 (classes) in a way that actually clicks

Just send what you’ve written 👍