Skip to content

Latest commit

 

History

History
455 lines (303 loc) · 12.7 KB

File metadata and controls

455 lines (303 loc) · 12.7 KB

1) Install Python 3 & PATH

Summary: Install Python 3, verify python --version, and fix PATH on your OS. Difficulty: ★☆☆☆☆ Prerequisites: None

2) PyCharm for Python

Summary: Install PyCharm, interpreter selection, run “Hello, world”. Difficulty: ★☆☆☆☆ Prerequisites: 1

3) REPL, Scripts & Notebooks

Summary: Use the REPL, run .py files, and try Jupyter notebooks. Difficulty: ★☆☆☆☆ Prerequisites: 1–2

4) Virtual Environments & pip

Summary: Create/activate venv, install packages, freeze requirements.txt. Difficulty: ★☆☆☆☆ Prerequisites: 1–3

5) Project Layout & Git Basics

Summary: Folder structure, .gitignore, commit/run small script. Difficulty: ★☆☆☆☆ Prerequisites: 1–4

6) Python Syntax: Variables & Types

Summary: Numbers, strings, booleans, None, dynamic typing. Difficulty: ★☆☆☆☆ Prerequisites: 1–5

7) Operators & Expressions

Summary: Arithmetic, comparison, logical, assignment, precedence. Difficulty: ★☆☆☆☆ Prerequisites: 6

8) Branching with if/elif/else

Summary: Truthiness, guard clauses, nested conditions. Difficulty: ★☆☆☆☆ Prerequisites: 6–7

9) Loops: for & while

Summary: Iterate with for/while, break/continue, range(). Difficulty: ★★☆☆☆ Prerequisites: 7–8

10) Collections I: list & tuple

Summary: Index, slice, mutate lists; immutable tuples. Difficulty: ★★☆☆☆ Prerequisites: 7–9

11) Collections II: dict & set

Summary: Key–value dicts, unique sets, common methods. Difficulty: ★★☆☆☆ Prerequisites: 7–10

12) Strings & F-strings

Summary: Slicing, methods, formatting, f-strings. Difficulty: ★★☆☆☆ Prerequisites: 6, 10–11

13) Functions & Parameters

Summary: Define functions, default/keyword args, docstrings. Difficulty: ★★☆☆☆ Prerequisites: 6–12

14) Modules & Imports

Summary: Create modules/packages, relative vs absolute imports. Difficulty: ★★☆☆☆ Prerequisites: 13

15) Errors & Exceptions

Summary: try/except/else/finally, raising, custom exceptions. Difficulty: ★★☆☆☆ Prerequisites: 8, 13–14

16) Files & Paths (pathlib)

Summary: Read/write files safely, encodings, path ops. Difficulty: ★★☆☆☆ Prerequisites: 12–15

17) JSON & CSV

Summary: Parse/serialize JSON & CSV; simple validation. Difficulty: ★★☆☆☆ Prerequisites: 14–16

18) Dates, Times & Numbers

Summary: datetime, timezones basics, Decimal, statistics. Difficulty: ★★☆☆☆ Prerequisites: 7, 12, 17

19) Comprehensions

Summary: List/dict/set comprehensions; readability trade-offs. Difficulty: ★★★☆☆ Prerequisites: 9–12

20) Iterators & Generators (yield)

Summary: Lazy pipelines with iterators and yield. Difficulty: ★★★☆☆ Prerequisites: 13, 19

21) OOP Basics

Summary: Classes, attributes, methods, instances, __init__. Difficulty: ★★★☆☆ Prerequisites: 13, 15

22) Inheritance & Polymorphism

Summary: Reuse, override, abstract interfaces-in-spirit. Difficulty: ★★★☆☆ Prerequisites: 21

23) Dataclasses & Special Methods

Summary: @dataclass, __repr__, equality, ordering. Difficulty: ★★★☆☆ Prerequisites: 21–22

24) Type Hints & Static Checking

Summary: typing basics, mypy/pyright quick pass. Difficulty: ★★★☆☆ Prerequisites: 13, 21–23

25) Testing with pytest (Core)

Summary: Test discovery, assertions, fixtures, run in PyCharm. Difficulty: ★★☆☆☆ Prerequisites: 13–24

26) Logging & Configuration

Summary: logging levels/handlers, .env settings pattern. Difficulty: ★★☆☆☆ Prerequisites: 14–17, 25

27) CLI Apps (argparse → Typer)

Summary: Build ergonomic CLI tools and entry points. Difficulty: ★★★☆☆ Prerequisites: 13–17, 25–26

28) Packaging with pyproject.toml

Summary: src/ layout, build wheel, local install. Difficulty: ★★★☆☆ Prerequisites: 14, 24–27

29) Lint & Format (Black, Ruff)

Summary: Auto-format, lint, pre-commit hooks. Difficulty: ★★☆☆☆ Prerequisites: 5, 25, 28

30) HTTP Clients (requests/httpx)

Summary: Call APIs, timeouts/retries, parse JSON robustly. Difficulty: ★★★☆☆ Prerequisites: 15, 17, 26

31) Asyncio Fundamentals

Summary: Event loop, async/await, tasks, gather. Difficulty: ★★★★☆ Prerequisites: 13–15, 30

32) Async HTTP (httpx/aiohttp)

Summary: Parallel API calls, rate limiting, error handling. Difficulty: ★★★★☆ Prerequisites: 30–31

33) Concurrency (Threads/Processes)

Summary: concurrent.futures, GIL basics, CPU vs I/O work. Difficulty: ★★★★☆ Prerequisites: 15, 20

34) Performance & Profiling

Summary: timeit, cProfile, optimize hot paths, lru_cache. Difficulty: ★★★☆☆ Prerequisites: 19–20, 27, 30–33

35) SQLite & SQLAlchemy Core

Summary: Run SQL, connections, transactions. Difficulty: ★★★☆☆ Prerequisites: 16–18, 30

36) SQLAlchemy ORM & Alembic

Summary: Model entities, query ORM, migrations. Difficulty: ★★★★☆ Prerequisites: 35

37) FastAPI: First API

Summary: Build minimal REST endpoints, path/query params, responses. Difficulty: ★★★★☆ Prerequisites: 24–26, 30

38) Pydantic v2 Validation

Summary: Request/response models, parsing, validation errors. Difficulty: ★★★☆☆ Prerequisites: 24, 37

39) Auth with JWT

Summary: Sign/verify JWT, protected routes, password hashing. Difficulty: ★★★★☆ Prerequisites: 37–38

40) Background Tasks & Schedulers

Summary: FastAPI BackgroundTasks, APScheduler basics. Difficulty: ★★★★☆ Prerequisites: 31–33, 37

41) Testing APIs with pytest

Summary: TestClient/httpx, fixtures, coverage for routes. Difficulty: ★★★☆☆ Prerequisites: 25, 37–40

42) Dockerize Your API

Summary: Multi-stage Dockerfile, environment variables, Compose. Difficulty: ★★★★☆ Prerequisites: 28–29, 37–41

43) Streaming Responses (SSE/WebSocket)

Summary: Stream tokens/logs to clients; backpressure basics. Difficulty: ★★★★☆ Prerequisites: 31–32, 37

44) .NET ↔ Python via HTTP

Summary: Call FastAPI from .NET (HttpClient), handle streaming. Difficulty: ★★★☆☆ Prerequisites: 37, 43

45) .NET ↔ Python via gRPC

Summary: Define proto, generate clients/servers for high-perf RPC. Difficulty: ★★★★☆ Prerequisites: 21–24, 37

46) Redis for Caching & Queues

Summary: Cache API results, simple rate limiters, basic Pub/Sub. Difficulty: ★★★☆☆ Prerequisites: 37, 42

47) Task Workers (Celery/RQ)

Summary: Offload jobs to workers with Redis; retries/backoff. Difficulty: ★★★★☆ Prerequisites: 31–33, 46

48) OpenAI/Azure OpenAI: First Chat

Summary: Create chat completions; model/config basics; streaming tokens. Difficulty: ★★★★☆ Prerequisites: 30–33, 37

49) Prompt Engineering Essentials

Summary: Roles, constraints, style, few-shot patterns, safety notes. Difficulty: ★★★☆☆ Prerequisites: 48

50) Structured Outputs & Tool Calling

Summary: Get JSON outputs with schemas; function/tool calling patterns. Difficulty: ★★★★☆ Prerequisites: 24, 37–38, 48–49

51) Embeddings 101

Summary: Generate embeddings; vector similarity; use cases. Difficulty: ★★★★☆ Prerequisites: 48, 50

52) Local Vector Store (FAISS/Chroma)

Summary: Store/query embeddings locally; persist index. Difficulty: ★★★★☆ Prerequisites: 51

53) pgvector with PostgreSQL

Summary: Create vector columns, index, hybrid filtering with metadata. Difficulty: ★★★★☆ Prerequisites: 35–36, 51

54) RAG v1: Build a Retriever

Summary: Chunk docs, embed, retrieve top-k, answer with citations. Difficulty: ★★★★☆ Prerequisites: 50–53

55) RAG v2: Better Chunking & Ranking

Summary: Overlap, semantic split, re-rank basics, prompt context windows. Difficulty: ★★★★☆ Prerequisites: 54

56) RAG Evaluation (Golden Sets)

Summary: Build small eval set; measure accuracy, hallucinations. Difficulty: ★★★★☆ Prerequisites: 54–55

57) Agents & Orchestration (Lightweight)

Summary: Multi-tool flows without over-engineering; planner/executor idea. Difficulty: ★★★★☆ Prerequisites: 50, 54–56

58) Guardrails & Moderation

Summary: Input/output checks, allow-lists, PII masking patterns. Difficulty: ★★★☆☆ Prerequisites: 48–50

59) Observability: Logs, Metrics, Traces

Summary: Structure logs, expose metrics, basic OpenTelemetry tracing. Difficulty: ★★★★☆ Prerequisites: 26, 37, 42

60) Feature Flags & Config Strategy

Summary: Toggle models/prompts/thresholds safely per environment. Difficulty: ★★★☆☆ Prerequisites: 26, 37

61) CI in Azure DevOps for Python

Summary: Pipeline YAML to lint/test/build; artifact publishing. Difficulty: ★★★★☆ Prerequisites: 25, 28–29, 42

62) CD to Containers (ACR/Registry)

Summary: Build/push Docker images; tag/semver; deploy script. Difficulty: ★★★★☆ Prerequisites: 42, 61

63) Secrets & Key Management

Summary: Env vars, vaults, key rotation; avoid hard-coding. Difficulty: ★★★☆☆ Prerequisites: 26, 42, 61

64) Publish Private Packages

Summary: Build wheel and publish to a private feed (e.g., Azure Artifacts). Difficulty: ★★★★☆ Prerequisites: 28–29, 61

65) n8n Integration I: Webhooks

Summary: Expose Python tool as FastAPI webhook; receive JSON; return results. Difficulty: ★★★☆☆ Prerequisites: 37–41, 48–50

66) n8n Integration II: Auth & Secrets

Summary: Secure endpoints (API key/JWT), verify requests, handle retries. Difficulty: ★★★★☆ Prerequisites: 39, 59, 63, 65

67) n8n Integration III: Streaming

Summary: Use SSE/WebSocket for progress logs and token streaming to n8n. Difficulty: ★★★★☆ Prerequisites: 43, 65–66

68) Automation Scripts for CI/CD

Summary: Build small CLIs (Typer) for data cleanup, API calls, and reports. Difficulty: ★★★☆☆ Prerequisites: 27–29, 30

69) File Workflows: Excel & PDFs

Summary: Parse Excel (openpyxl) and basic PDF text; produce summaries. Difficulty: ★★★☆☆ Prerequisites: 16–17, 27

70) OCR Basics

Summary: Add OCR step for scanned PDFs/images; confidence checks. Difficulty: ★★★★☆ Prerequisites: 69

71) Audio: STT (Transcription)

Summary: Transcribe audio (e.g., Whisper/API) and segment into chunks. Difficulty: ★★★★☆ Prerequisites: 30–32, 54

72) TTS & Summaries

Summary: Generate speech from text and produce meeting/action summaries. Difficulty: ★★★★☆ Prerequisites: 48–50, 59

73) Image Utilities for AI Pipelines

Summary: Use Pillow for basic transforms; prep images for OCR/LLM. Difficulty: ★★★☆☆ Prerequisites: 69–70

74) Deploy to Azure App Service/Container Apps

Summary: Package FastAPI container, configure health probes, scale out. Difficulty: ★★★★☆ Prerequisites: 42, 59, 62–63

75) Capstone: AI-Powered Backend for .NET & n8n

Summary: Ship an authenticated FastAPI service with RAG, tool calling, streaming; consumed by .NET and n8n, with CI/CD, logs, and metrics. Difficulty: ★★★★★ Prerequisites: 37–44, 48–59, 61–67, 74


Want me to tune the capstone toward (A) enterprise RAG over SharePoint/Drive, (B) AI “ops bot” for CI/CD & incident automation, or (C) sales/support assistant with streaming to your .NET app? Also: which OS are you on (Windows/macOS/Linux)? That’ll help me tailor Lesson 1’s install steps.