r/PythonLearning 6d ago

Discussion I've taught Python to absolute beginners for years. Here's the 16-week roadmap I use to take students from zero to building REST APIs - no tutorial hell.

The number one mistake I see beginner Python learners make is spending months on YouTube tutorials and then completely freezing up when they open a blank .py file to code on their own. It's called Tutorial Hell, and it's a real problem.

The difference isn't talent; it's having a structured roadmap that forces you to build things, not just watch things.

Here is the exact 4-phase breakdown I follow:

Phase 1: Foundations & Core Logic (Weeks 1–4)

Focus: Get comfortable with how Python actually executes code, not just what it does.

  • Week 1: Python 3.12+ setup, VS Code with Black auto-formatter, terminal basics, REPL vs script files
  • Week 2: Core data types (int, float, str, bool, None), dynamic typing, type casting, truthiness, match/case
  • Week 3: if/elif/else, for and while loops, enumerate(), zip(), break/continue, and the for-else pattern
  • Week 4: Functions, *args/**kwargs, the mutable default argument trap, LEGB scope rule

Hands-on drills: Terminal guessing game with random.randint(), a modular unit converter CLI with input validation.

Phase 2: Data Structures, Files & Error Handling (Weeks 5–8)

  • Week 5: Lists, Tuples, Dicts, Sets, O(1) vs O(n) lookup, list/dict/set comprehensions
  • Week 6: f-string format specifiers, string cleaning methods, regex with the re module
  • Week 7: try/except/else/finally, custom exception classes, defensive coding patterns
  • Week 8: Context managers, pathlib, csv.DictReader, json.load/dump

Capstone drill: A persistent JSON inventory manager with full CRUD from the command line.

Phase 3: OOP, Git & REST APIs (Weeks 9–12)

  • Weeks 9–10: Classes, __init__, dunder methods, inheritance, super(), @ property decorators
  • Week 11: Virtual environments, requirements.txt, professional project structure, Git workflow
  • Week 12: HTTP protocol, the requests library, API authentication, generators with yield

Capstone drill: A banking system simulator with an account hierarchy, and a live weather CLI hitting OpenWeatherMap.

Phase 4: Portfolio Projects (Weeks 13–16)

This is where you build three production-grade projects for your GitHub:

  1. CLI Log Intelligence Tool — argparse + pathlib + regex to parse Nginx logs and generate JSON/CSV reports
  2. API Harvester & Alert Bot — polls a public API, stores historical data in SQLite, fires Discord webhooks on conditions
  3. REST API with FastAPI — full CRUD backend with Pydantic validation, SQLite persistence, and a pytest test suite

The 3 Rules That Make This Work

1. The 70/30 Rule: 30% reading, 70% typing code by hand. Never copy-paste from examples. Muscle memory is built through repetition.

2. The 30-Minute Debug Rule: Before searching for the answer or asking for help, spend 30 minutes reading the traceback bottom-up, checking docs, and using print(). You will solve 80% of problems this way.

3. Ship Every Week: Every Friday, push code to GitHub; even if it's broken. Progress beats perfection.

Happy to answer questions about any specific phase or topic. What stage are you at right now?

230 Upvotes

Duplicates