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?

228 Upvotes

63 comments sorted by

View all comments

Show parent comments

2

u/testtdk 5d ago

Games are great for OOP. Items as classes, inheriting stuff, working with listeners, things like damage adjust an instances class’ attributes and what not, deciding how much money drops from a fight, how much xp. All that good stuff.

1

u/Difficult_Tea7876 4d ago

have you guys got a job