← Back to LMS • Print with Ctrl+P → Save as PDF
Duration: 24 weeks • Contact time: 4.5 h/week (Lecture 90 min, Lab 120 min, Studio 60 min) • Self-study: ~6 h/week • Total learning hours: 252.0
Each week can be delivered by a real instructor (use the lesson plans below), by the AI tutor (students follow the self-paced script in the LMS 'This Week' view), or blended (instructor runs the lecture; AI tutor supports labs and studio).
| Component | Weight |
|---|---|
| Individual auto-graded labs | 15% |
| Weekly quizzes (24) | 5% |
| Weekly written assignments (24) | 5% |
| Chapter worksheets | 10% |
| Chapter certification-style assessments (best attempt) | 20% |
| Course enterprise projects (Courses 1–4) — individual and team | 20% |
| Mid-course team engagement — role deliverables (weeks 13–16) | 5% |
| Capstone engagement — project, role deliverables and presentation | 10% |
| Capstone individual viva (week 24) | 10% |
Team deliverables are graded per role. Each student's team-phase average is multiplied by a peer-evaluation factor (their mean peer rating ÷ the team's mean, limited to 0.8–1.1, applied once at least two teammates have rated them). The Week 24 viva is recorded as its own score (0–100) in LMS → Peer Evaluation & Viva.
Owns the client relationship, the requirements and the decision to go live.
Deliverables: BRD + ADRs + steering-committee deck (document); Leads the team presentation
Turns the client's messy data into clean, validated, auditable records.
Deliverables: Data component code (auto-tested); Short data-contract note
Makes sure no data leaks, no role escalates and the CISO can sign off.
Deliverables: Security component code (auto-tested); Threat model (document)
Owns the decision/ranking logic and keeps LLMs away from maths they can't be trusted with.
Deliverables: Decision/ranking component code (auto-tested); Decision-logic note
Integrates every component into one working prototype and proves it works.
Deliverables: Integrated prototype code (auto-tested against all Jira tickets); UAT report (document)
Makes the prototype deployable, observable, affordable and recoverable.
Deliverables: Deployment runbook + SLA/TCO model (document)
| Criterion | Points | Guide |
|---|---|---|
| Correctness (auto-tests) | 60 | Proportion of acceptance tests passing. |
| Robustness & edge cases | 15 | Handles missing keys, zero/negative values, empty inputs without crashing. |
| Readability | 15 | Clear names, small functions, comments where the business rule is non-obvious. |
| Security & compliance | 10 | No PII leaks in outputs/logs, no unsafe constructs. |
| Criterion | Points | Guide |
|---|---|---|
| Completeness | 35 | All required sections present and specific to the client. |
| Technical accuracy | 30 | Numbers, thresholds and trade-offs are correct and justified. |
| Client-readiness | 20 | Clear for executives: BLUF, no jargon without explanation. |
| Risks & next steps | 15 | Honest risks with mitigations and owners. |
| Criterion | Points | Guide |
|---|---|---|
| Storyline & decision request | 25 | Problem → solution → evidence → risks → clear ask. |
| Evidence from the prototype | 25 | Live metrics and test results, not claims. |
| Security, cost & SLA coverage | 20 | Addresses CISO and CFO concerns with numbers. |
| Q&A handling | 20 | Accurate, concise, honest answers to executive questions. |
| Delivery & timing | 10 | Within time, every member contributes. |
Course 1 — Foundations • Modules 1
| Min | Segment | What to do |
|---|---|---|
| 10 | Welcome & course contract | Explain the 24-week arc: Foundations → AI core → Applied FDE → Enterprise hardening → Capstone. Show the grading scheme and team-role model. |
| 20 | What is an FDE? | Contrast FDE vs SWE vs Solutions Architect using a real scenario: a bank wants AI loan triage in 6 weeks. Who talks to the CRO? Who touches the dirty data? (The FDE does both.) |
| 25 | Python containers | Live-code list/dict/set/tuple. Emphasise mutability, hashability and why dict keys must be immutable. |
| 25 | Big-O with a stopwatch | Time `x in list` vs `x in set` for 1,000,000 items. Students predict before you run it. |
| 10 | Exit ticket | Each student writes one sentence: 'An FDE is different from a SWE because…'. Collect for Week 2 discussion. |
| Min | Segment | What to do |
|---|---|---|
| 15 | Environment check | Students open the portal, run the Module 1 examples, and confirm the sandbox blocks `import os`. |
| 60 | Guided exercises | Dedupe 10,000 customer IDs with a set; build an invoice lookup dict; group invoices by vendor with `dict.setdefault`. |
| 30 | Debugging clinic | Instructor injects a KeyError; students fix it with `.get()` and explain the difference. |
| 15 | Wrap-up | Students push their notebook/script and note one question for the AI Tutor. |
| Min | Segment | What to do |
|---|---|---|
| 20 | Meet your future teams | Explain the 6 FDE roles (Lead, Data, Security, AI, QA/Integration, SRE). Students self-rate skills 1–5 per role (used by the AI instructor to form teams in Week 13). |
| 40 | Case reading | In pairs, read the CrestFin client inbox (Tab 6) and list every requirement hidden in the messages. |
Open Portal Tab 1 → Module 1. Run the Big-O live example with 10k, then 100k, then 1M items. Ask students to predict the list timing before each run, then show the set timing staying flat.
Draw a hash table with 8 buckets. Insert 'INV-01', 'INV-02', 'INV-09' via hash(key) % 8. Show lookup = compute bucket + compare. Then draw a list scan touching every element. Conclude: O(1) average vs O(N).
Q: Why would an FDE, not a data scientist, be the one to fix a duplicate-invoice bug at a client site?
A: Because the FDE owns the end-to-end deployment at the client: integration, data quality, and the business outcome. The bug sits between the client's system and the AI pipeline, which is exactly the FDE's surface area.
Q: When would you use a tuple instead of a list?
A: When the record is fixed-shape and should not change (e.g. (vendor, amount) pairs), or when you need it as a dict key/set member because tuples are hashable.
In 250–400 words: describe the FDE role to a non-technical friend, then explain with one concrete example why choosing a set over a list mattered for a business process.
Look for: Role definition; Concrete example; Big-O reasoning
quiz:w1, essay:w1
Course 1 — Foundations • Modules 1
| Min | Segment | What to do |
|---|---|---|
| 15 | Week 1 exit-ticket debrief | Read 3 anonymous exit tickets aloud; refine the FDE definition together. |
| 25 | Exceptions as contracts | Show bad `except: pass` vs targeted `except (KeyError, ValueError) as e` with logging and a quarantine list. |
| 20 | JSON in, JSON out | Load an ERP export, show what happens with a trailing comma, show `encoding='utf-8'` for Spanish vendor names. |
| 25 | Regex for KYC | Build the taxpayer ID regex `TP\d{8}` character by character; then national ID with optional spaces; then tax ID. |
| 5 | Preview lab | Show the Lab F1 TODO template and explain progressive hints. |
| Min | Segment | What to do |
|---|---|---|
| 10 | Lab briefing | Explain auto-grader: 4 unit tests, sandboxed execution, unlimited resubmits. |
| 80 | Lab F1 — KYC cleaner | Students complete Lab F1 in the LMS. Instructor circulates; AI Tutor available for hints. |
| 30 | Peer code review | Pairs swap code and review against: naming, error handling, regex anchors (`\b`). |
| Min | Segment | What to do |
|---|---|---|
| 60 | Regex golf | Teams race to write the shortest correct tax ID regex, then discuss why readability beats brevity in client code. |
Paste a messy KYC note into the Module 1 regex example. Run without `\b`, show a false match inside a longer string, then add `\b` and rerun.
Write the taxpayer ID format on the board: TP78738832. Map each block to regex tokens: [A-Z]{5} → \d{4} → [A-Z]. Then add \b at both ends and explain what 'boundary' means between \w and \W characters.
Q: Is it ever OK to use a bare `except:`?
A: Almost never in production. It hides KeyboardInterrupt/SystemExit and real bugs. Catch specific exceptions and log the context.
Q: Why separate extraction (regex) from validation?
A: Regex only checks shape. A taxpayer ID-shaped string can still be invalid or belong to someone else; validation needs business rules or external verification.
Write a 300-word 'data quality incident note' for a client: a nightly KYC job failed because of malformed JSON and unexpected taxpayer ID formats. Explain root cause, the fix (exceptions + regex), and how you prevent recurrence.
Look for: Root cause; Fix; Prevention
lab:lab_f1, quiz:w2, essay:w2
Course 1 — Foundations • Modules 2
| Min | Segment | What to do |
|---|---|---|
| 15 | Why objects at a client? | Show a 400-line dict-soup script from a real pilot; ask students where bugs hide. |
| 25 | Classes & ABCs | Define `ExecutionSandbox(ABC)` with subclasses — mirror the course's own sandbox_engine.py. |
| 20 | Dataclasses | Convert an invoice dict into `@dataclass Invoice`; show __repr__, defaults, frozen=True. |
| 25 | Validation | Write `validate()` raising ValueError for negative amounts and bad currency; compare with Pydantic models. |
| 5 | Wrap | Connect to Week 13: schemas are how we force LLM output into structured JSON. |
| Min | Segment | What to do |
|---|---|---|
| 100 | Guided build | Students build `Invoice`, `Vendor`, `LedgerEntry` dataclasses with validation, then load the ERP sample and count valid vs invalid records. |
| 20 | Show & tell | Two students demo how their validator reports errors. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Design critique | Groups design the class model for the MedShield claims engagement and present a 3-minute diagram. |
Open sandbox_engine.py in the repo and walk through `ExecutionSandbox` and `create_sandbox()`. Show how changing `mode` swaps the implementation without changing the caller.
Draw a UML box: ExecutionSandbox (abstract execute_python) with three arrows to LocalPrototypeSandbox, DockerContainerSandbox, E2BCloudSandbox. Label it 'Strategy pattern'.
Q: When would inheritance be the wrong choice?
A: When subclasses don't truly share behaviour ('is-a'); prefer composition, e.g. a Pipeline that HAS a Redactor instead of IS a Redactor.
Q: Why validate LLM outputs with a schema?
A: LLMs are probabilistic; a schema turns 'probably right' into 'guaranteed shape or rejected', which downstream systems require.
Design (in prose + a simple class list) the data model for a hospital claims pipeline. Justify one inheritance decision and one composition decision, and list 3 validation rules.
Look for: Class design; Inheritance vs composition; Validation rules
quiz:w3, essay:w3
Course 1 — Foundations • Modules 3
| Min | Segment | What to do |
|---|---|---|
| 15 | Why SQL still runs the enterprise | SAP, LedgerOne, core banking — all relational. FDEs must read them. |
| 25 | Keys & joins | Build vendors + invoices tables; show INNER vs LEFT JOIN results on vendors with no invoices. |
| 20 | Aggregation | Total spend per vendor, HAVING to filter big vendors. |
| 20 | SQL injection live | Concatenate user input into SQL and drop a table; then fix with `?` placeholders. |
| 10 | Transactions | Transfer funds between two ledgers; crash mid-way; show ROLLBACK keeps books balanced. |
| Min | Segment | What to do |
|---|---|---|
| 10 | Lab briefing | Lab F2 overview. |
| 80 | Lab F2 — vendor spend aggregation | Students complete Lab F2 in the LMS. |
| 30 | Stretch | Add a LEFT JOIN report of vendors with zero spend; discuss why the CFO cares. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Schema review | Teams draw the ledger schema for IndoAuto's purchase orders and identify which column is the idempotency key. |
In Module 3, run the SQL injection example first in its vulnerable form (explain), then the parameterized version. Ask: 'which version would pass the bank's CISO review?'
Draw two tables vendors(id PK, name) and invoices(id PK, vendor_id FK, amount). Draw the INNER JOIN result vs the LEFT JOIN result showing NULL rows for vendors without invoices.
Q: Why is `INSERT OR REPLACE` useful but dangerous?
A: Useful for idempotent upserts on retries; dangerous because it silently overwrites — you need to be sure the key truly identifies the same business event.
Q: What does ACID give a bank?
A: Atomicity, Consistency, Isolation, Durability — e.g. a payout and its ledger entry either both happen or neither does.
A client asks: 'Can your AI just read our database directly?' Write a 300-word reply covering read-only access, parameterized queries, least privilege, and transactions for any writes.
Look for: Access control; Injection safety; Transactions
lab:lab_f2, quiz:w4, essay:w4
Course 1 — Foundations • Modules 4
| Min | Segment | What to do |
|---|---|---|
| 20 | Anatomy of a request | Use browser dev tools on the portal itself: show the POST to /api/grade-lab, headers, body, status. |
| 20 | Status codes as a language | Map each code to an FDE action: 429 → back off; 503 → retry later; 401 vs 403. |
| 20 | Idempotency | Act out a payment retry with two students; show how an idempotency key prevents a double charge. |
| 25 | JWT | Decode a JWT, change one claim, show the signature check failing. |
| 5 | Wrap | Preview Week 12 resilience patterns. |
| Min | Segment | What to do |
|---|---|---|
| 90 | Build a mini API client | Students write functions to classify status codes into actions and verify JWTs using the Module 4 examples as reference. |
| 30 | Debug session | Instructor hands out 5 real-looking error responses; students diagnose each. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Client call role-play | One student plays the SAP basis admin reporting 503s; the team must ask the right questions. |
Open the browser network tab on http://localhost:8080 and submit a lab. Walk through the request headers, JSON body and response timing. Then run the Module 4 JWT tamper example.
Draw JWT = base64(header).base64(payload).HMAC(secret, header.payload). Show that changing the payload changes the expected signature, so verification fails without the secret.
Q: Can you put a national ID number in a JWT payload?
A: No — JWT payloads are only base64-encoded, not encrypted. Anyone holding the token can read it.
Q: Why is PUT idempotent but POST is not?
A: PUT sets a resource to a state (same result if repeated); POST typically creates something new each time.
Write an integration design note (300 words) for calling a bank's loan API: endpoints, status code handling table, idempotency strategy, and how you verify tokens.
Look for: Status handling; Idempotency; Auth
quiz:w5, essay:w5
Course 1 — Foundations • Modules 5
| Min | Segment | What to do |
|---|---|---|
| 20 | Why async at a client | A RAG call needs vector search + keyword search + policy lookup; sequential = slow. |
| 25 | Event loop | Visualise one waiter serving many tables. Live-code coroutines with asyncio.sleep. |
| 20 | gather & Semaphore | Run 10 fake API calls sequentially vs gathered; then cap at 3 with a Semaphore for a rate-limited client API. |
| 25 | Assessment review | Rapid recap of Modules 1–4 with cold-call questions. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Async lab | Students rewrite a sequential 3-source retrieval into asyncio.gather and measure speedup. |
| 60 | Course 1 assessment (practical) | Timed: students re-solve Lab F1 and F2 from a blank template without hints. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Course 1 retrospective | What was hardest? Collect feedback; instructor adjusts pacing for Course 2. |
Run the Module 5 gather example. Show 3 × 1s calls finishing in ~1s. Then wrap them in a Semaphore(1) and show it reverts to ~3s.
Draw a timeline: three bars sequentially (350 + 280 + 180 ms = 810 ms) vs stacked concurrently (max = 350 ms). Label the saved time.
Q: Would async speed up computing DSCR for 1,000 loans?
A: No, that's CPU-bound arithmetic; async helps waiting on I/O. Use vectorisation or multiprocessing for CPU work.
Q: Why cap concurrency against a client's SAP gateway?
A: To avoid triggering 429/503 and to respect their capacity — overloading the client's system can cause an outage you are blamed for.
Course 1 reflection (300 words): which foundation skill do you expect to use most as an FDE, and give one concrete client scenario where async concurrency would save the SLA.
Look for: Skill reflection; Async scenario; SLA awareness
quiz:w6, essay:w6
Course 2 — AI & LLM Core • Modules 6
| Min | Segment | What to do |
|---|---|---|
| 15 | AI vs ML vs DL | Classify 6 products (spam filter, ChatGPT, rule-based fraud check…) as AI/ML/DL. |
| 25 | A single neuron | y = activation(w·x + b) with numbers; students compute on paper. |
| 25 | Loss & gradient descent | Plot loss vs weight on the board; take 3 gradient steps with learning rate 0.1. |
| 20 | Overfitting | Show a model memorising training data; introduce train/validation/test splits. |
| 5 | Wrap | Bridge: LLMs are the same idea with billions of weights. |
| Min | Segment | What to do |
|---|---|---|
| 90 | Train a neuron | Students modify the Module 6 example to learn a loan-default rule from 20 rows and report final loss. |
| 30 | Learning-rate experiment | Try lr = 0.001, 0.1, 5.0 and describe convergence vs divergence. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Explain it to the CFO | Each student gives a 2-minute non-technical explanation of 'training' to a peer playing a CFO. |
Run the Module 6 neuron-training example and print loss every 10 epochs. Then set the learning rate to 5.0 and show the loss exploding.
Draw a parabola L(w) = (w − 3)². Start at w = 0, gradient = 2(w − 3) = −6, step w ← w − 0.1·(−6) = 0.6. Repeat twice: 1.08, 1.464. Show convergence toward 3.
Q: Why can't we evaluate a model on its training data?
A: It may have memorised it; performance on unseen data is what matters at the client.
Q: Is a rules engine 'AI'?
A: Under a broad definition yes, but not ML — it doesn't learn from data. Many FDE solutions wisely combine rules with ML.
Explain gradient descent to a bank's credit committee in 300 words using a loan-scoring example. Include what could go wrong (overfitting, bias) and how you would detect it.
Look for: Clear explanation; Risks; Detection
quiz:w7, essay:w7
Course 2 — AI & LLM Core • Modules 7
| Min | Segment | What to do |
|---|---|---|
| 25 | Tokens are money | Show token counts for an English vs Spanish vs JSON sentence; connect to API pricing. |
| 20 | BPE by hand | Merge the most frequent pair in 'low lower lowest' three times on the board. |
| 25 | Embeddings | Words as points in space; 'invoice' near 'bill', far from 'holiday'. |
| 20 | Cosine similarity | Derive cos θ = a·b/(|a||b|); compute for 2-D vectors. |
| Min | Segment | What to do |
|---|---|---|
| 10 | Lab briefing | Lab F3 overview and zero-vector edge case. |
| 90 | Lab F3 | Students implement rank_documents_by_cosine in the LMS. |
| 20 | Extension | Rank 5 policy snippets for a query using toy embeddings. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Cost estimation drill | Teams estimate monthly token cost for MedShield (25,000 claims/day × 2,000 tokens) and present assumptions. |
Run the Module 7 BPE example, then the cosine example. Change one vector to [0,0] and show the guard preventing ZeroDivisionError.
Draw vectors a = (1,0), b = (1,1). a·b = 1, |a| = 1, |b| = √2 → cos = 0.7071 (45°). Then c = (0,5): a·c = 0 → orthogonal → 0.
Q: Why might Spanish text cost more tokens than English?
A: Tokenizers are trained mostly on English, so Spanish splits into more subword pieces — higher cost and shorter effective context.
Q: Why cosine instead of Euclidean distance?
A: Cosine ignores vector magnitude (document length) and focuses on direction (meaning).
Write a cost memo (300 words) for a client: estimate monthly token costs for a document Q&A system, explain the fertility tax on Spanish documents, and propose two cost reductions.
Look for: Estimate; Fertility tax; Reductions
lab:lab_f3, quiz:w8, essay:w8
Course 2 — AI & LLM Core • Modules 8
| Min | Segment | What to do |
|---|---|---|
| 25 | Attention intuition | 'The bank of the river' vs 'the bank approved the loan' — context changes meaning. |
| 25 | Q, K, V maths | Compute a 2-token attention matrix on the board. |
| 20 | KV-cache | Why generating token 500 doesn't recompute tokens 1–499; memory cost per user. |
| 20 | Sampling | Temperature 0.1 vs 1.5 on the same logits; when to use T=0 for enterprise extraction. |
| Min | Segment | What to do |
|---|---|---|
| 90 | Lab F4 | Students implement sample_token_distribution in the LMS. |
| 30 | Experiment | Plot probabilities at T = 0.2, 1.0, 2.0 and write two sentences on enterprise implications. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Teach-back | Each team teaches attention to another team using only a whiteboard (no slides). |
Run the Module 8 attention example and print the attention matrix. Then run the temperature example at T = 0.2 and T = 2.0.
Write logits [4.2, 2.1, −1.5]. Compute softmax at T = 1 and at T = 0.5 (divide logits by 0.5 first). Show the top probability rising from ~0.89 to ~0.98.
Q: Why does a bank's extraction pipeline use temperature 0?
A: To make outputs as deterministic and reproducible as possible for audit.
Q: Why does a longer context cost more GPU memory?
A: The KV-cache stores keys and values for every token in context, for every layer and every concurrent user.
Write a 300-word explainer for a client CISO on why the system uses temperature 0, what nondeterminism remains, and how you make outputs auditable.
Look for: Temperature; Residual risk; Auditability
lab:lab_f4, quiz:w9, essay:w9
Course 2 — AI & LLM Core • Modules 9
| Min | Segment | What to do |
|---|---|---|
| 20 | Prompt anatomy | Role, task, constraints, examples, output format. Rewrite a vague prompt live. |
| 25 | Few-shot & CoT | When examples help; why hidden reasoning is still not a guarantee. |
| 25 | ReAct & tools | Thought → Action → Observation; the LLM asks a calculator for DSCR. |
| 20 | Provider adapters | One interface, many vendors (OpenAI, Anthropic, Gemini, local vLLM). |
| Min | Segment | What to do |
|---|---|---|
| 90 | Build a ReAct tool loop | Students extend the Module 9 example with a tax ID validator tool and a DSCR calculator tool. |
| 30 | Red-team your prompt | Pairs try to inject 'ignore previous instructions' into each other's agent. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Prompt review board | Teams submit their best extraction prompt; the class scores clarity, constraints and schema. |
Run the Module 9 ReAct example and print each Thought/Action/Observation step. Then change the tool to return an error and show the agent recovering.
Draw the ReAct loop as a cycle: LLM → (Action: tool name + args) → Tool executes in sandbox → Observation → back to LLM → final answer. Mark the trust boundary around the tool.
Q: Why is 'Please do not reveal PII' in a system prompt insufficient?
A: Prompts can be overridden by injection; PII must be removed deterministically before the model sees it.
Q: When is few-shot prompting worse than zero-shot?
A: When examples are unrepresentative or bias the model toward copying their surface form.
Submit a production extraction prompt for invoice JSON (system + user + schema), then in 200+ words explain each design choice and one injection risk you mitigated outside the prompt.
Look for: Prompt structure; Design rationale; Injection mitigation
quiz:w10, essay:w10
Course 3 — Applied FDE Systems • Modules 10
| Min | Segment | What to do |
|---|---|---|
| 25 | Compound reliability | 0.9⁵ = 59%. Why demos work and production fails. |
| 20 | Retries change the maths | 1 − 0.1³ = 0.999 per stage; recompute end to end. |
| 25 | Latency budgets | Auth 35 ms + retrieval + rerank + LLM; parallelise retrieval. |
| 20 | Course 2 review | Rapid-fire questions on tokens, embeddings, attention, prompting. |
| Min | Segment | What to do |
|---|---|---|
| 40 | Playground 1 | Students use the SLA playground to hit 99% reliability and < 2 s latency. |
| 80 | Course 2 assessment (practical) | Re-solve Labs F3 and F4 from blank templates, timed, no hints. |
| Min | Segment | What to do |
|---|---|---|
| 60 | SLA negotiation role-play | A client demands 99.9% accuracy in 1 s; teams negotiate a realistic SLA with evidence. |
Open Playground 1 (Tab 4). Start with 5 stages at 0.90 and 1 attempt; then 3 attempts; then toggle parallel retrieval. Narrate each number's business meaning.
Write R = p^n. With p = 0.9, n = 5 → 0.59. With retries, p' = 1 − (1 − p)^k = 1 − 0.1³ = 0.999 → R = 0.999⁵ ≈ 0.995.
Q: Why do impressive demos fail in production?
A: Demos test one happy path; production compounds small per-stage error rates across thousands of requests and dirty inputs.
Q: What do you do if the SLA can't be met?
A: Reduce stages, add deterministic steps, cache, parallelise, or renegotiate scope with data.
Write an SLA proposal (300 words) for MedShield's discharge triage: target latency, reliability maths, retries/self-correction plan, and what you will NOT promise.
Look for: Reliability math; Latency budget; Honest scope
quiz:w11, essay:w11
Course 3 — Applied FDE Systems • Modules 11
| Min | Segment | What to do |
|---|---|---|
| 20 | War story | A retry loop charges a customer twice. Walk through the incident timeline. |
| 25 | Idempotency store | Key → cached result; return cache on repeat. |
| 25 | Circuit breaker | State machine on the board; fail fast to protect the client's mainframe. |
| 20 | Backoff & jitter | Why synchronized retries cause thundering herds. |
| Min | Segment | What to do |
|---|---|---|
| 10 | Lab briefing | FDE Lab 1 overview. |
| 90 | FDE Lab 1 | Students complete Lab 1 in the LMS. |
| 20 | Chaos preview | Run Playground 6B with 429/503 injection. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Team formation prep | Students review the 6 FDE roles and update their skill self-ratings; next week the instructor/AI instructor forms project teams. |
Run the Module 11 circuit-breaker example, printing state transitions. Then run Playground 6B with fail_count = 3.
Draw the state machine: CLOSED --failures ≥ threshold--> OPEN --cooldown--> HALF_OPEN --success--> CLOSED / --failure--> OPEN.
Q: Should a cached idempotent result be returned when the breaker is OPEN?
A: Yes — no downstream call is needed, so serving the cached result is safe and correct.
Q: Where should idempotency keys come from?
A: From the business event (e.g. PO number or a client-generated UUID), not from a timestamp generated on each retry.
Write a post-incident review (300 words) for a duplicate PO incident at IndoAuto: timeline, root cause, fix (idempotency + breaker), and follow-up actions with owners.
Look for: Timeline & root cause; Fix; Actions
lab:lab1, quiz:w12, essay:w12
Course 3 — Applied FDE Systems • Modules 12 • Project: Mid-course engagement — Week 1 of 4: Kickoff & discovery
| Min | Segment | What to do |
|---|---|---|
| 20 | Medallion architecture | Bronze = raw, Silver = cleaned & validated, Gold = business-ready aggregates. |
| 25 | Schema drift healing | 'id' vs 'inv_no', 'supplier_title' vs 'vendor' — alias maps and why they must be logged. |
| 20 | Quarantine design | Every rejected row gets a reason code; quarantine is an audit artefact, not a bin. |
| 25 | Engagement kickoff | Announce teams and roles (instructor or AI instructor). Walk through the 4-week project calendar and grading rubric. |
| Min | Segment | What to do |
|---|---|---|
| 80 | FDE Lab 2 | Students complete Lab 2 in the LMS. |
| 40 | Team charter | Teams meet, confirm roles, agree a stand-up time and a definition of done. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Discovery workshop | The Lead runs a 45-minute requirements session; the instructor plays the client CRO/CISO using the inbox messages. Teams leave with open questions logged. |
Open Playground 2 (Tab 4). Run the default dirty batch; then add a row with 'supplier_title' and an amount like '$3,000' and narrate how it is healed and converted.
Draw three boxes Bronze → Silver → Gold with a side arrow from Silver to a red 'Dead-Letter Quarantine' box. Annotate each arrow with the rules (dedupe, alias map, FX, sales tax imputation).
Q: Why not just drop bad rows?
A: Dropped rows disappear from audit trails; the client must be able to see and fix them upstream.
Q: Who should decide the alias map?
A: The FDE proposes it from data profiling, but the client's data owner must sign it off.
Individual: write your role charter (300 words): your responsibilities on this engagement, the deliverables you own, who you depend on, and how you'll know you're done.
Look for: Responsibilities; Dependencies; Definition of done
lab:lab2, quiz:w13, essay:w13, project:mid
Course 3 — Applied FDE Systems • Modules 13 • Project: Mid-course engagement — Week 2 of 4: Sprint 1 (component build) & ADR review
| Min | Segment | What to do |
|---|---|---|
| 25 | Context engineering | Static prefix first, dynamic content last; why order matters for caching. |
| 20 | Structured output | Schema → generation → validation → repair. |
| 25 | Self-correction loops | Attempt, validate maths, feed errors back, cap retries, escalate to human. |
| 20 | Sprint 1 stand-up | Each role reports: done, next, blocked. |
| Min | Segment | What to do |
|---|---|---|
| 60 | FDE Lab 3 | Students complete Lab 3 in the LMS. |
| 60 | Team sprint | Role owners work on their component code; QA starts integration scaffolding. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Architecture review | Each Lead presents 2 ADRs (5 minutes); the instructor plays CISO/CFO and approves or rejects. |
Run the Module 13 self-correction example. Show attempt 1 failing the balance-sheet check, attempt 2 passing, then a case escalating to HITL.
Draw the loop: Generate → Validate (sum(line_items)+tax == total?) → if fail and attempts < N: add error to context → Generate; else → HITL queue.
Q: How many retries should a self-correction loop allow?
A: Usually 2–3; beyond that, success rarely improves while cost and latency grow — escalate instead.
Q: Why place the policy rubric before the user document in the prompt?
A: The rubric is identical across requests, so it forms a cacheable prefix.
Sprint 1 status report (250 words) from your role: what you completed, test results, blockers, and what you need from teammates.
Look for: Progress; Evidence; Blockers & needs
lab:lab3, quiz:w14, essay:w14
Course 3 — Applied FDE Systems • Modules 14 • Project: Mid-course engagement — Week 3 of 4: Integration & client UAT
| Min | Segment | What to do |
|---|---|---|
| 25 | Chunking | Fixed vs semantic vs table-aware chunking; overlap trade-offs. |
| 25 | Dense vs BM25 | Run Playground 3 with an exact circular code vs a conceptual query. |
| 20 | RRF | Score = Σ 1/(k + rank); compute for two documents. |
| 20 | Integration stand-up | QA reports integration status; Lead updates the client. |
| Min | Segment | What to do |
|---|---|---|
| 60 | FDE Lab 4 | Students complete Lab 4 in the LMS. |
| 60 | Integration & UAT | QA integrates all components into the team prototype; the team runs UAT edge cases and logs bugs. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Client UAT session | The instructor (as client) brings 3 surprise edge cases; teams must run them live and explain the results. |
Run Playground 3 with 'CB-2026-44 SME 45 day vendor payment rule', then 'employee vacation leave policy'. Show which engine wins each time and how RRF picks the consensus document.
Doc A: dense rank 2, BM25 rank 1 → 1/62 + 1/61 = 0.016129 + 0.016393 = 0.032522. Doc B: ranks 1 and 1 → 2/61 = 0.032787. B wins.
Q: Why k = 60 in RRF?
A: It dampens the influence of top ranks so one engine's #1 doesn't dominate; 60 is an empirically robust default.
Q: What if UAT reveals a bug the day before the demo?
A: Log it, assess severity, fix if critical, otherwise disclose it transparently with a mitigation plan in the presentation.
UAT report (300 words, written by the whole team, submitted individually): test cases run, pass/fail, bugs found, severity, and fixes or mitigations.
Look for: Test cases; Results; Bugs & severity
lab:lab4, quiz:w15, essay:w15
Course 3 — Applied FDE Systems • Modules 15 • Project: Mid-course engagement — Week 4 of 4: Demo day & retrospective
| Min | Segment | What to do |
|---|---|---|
| 25 | MCP | Servers expose tools/resources; clients call tools/call over JSON-RPC 2.0. Use Playground 4. |
| 20 | Sandbox tiers | AST scan, subprocess timeouts, containers with --network none, microVMs for multi-tenant. |
| 45 | Demo Day (part 1) | Teams present (10 min + 5 min Q&A). Instructor + peers score with the presentation rubric. |
| Min | Segment | What to do |
|---|---|---|
| 60 | FDE Lab 5 | Students complete Lab 5 in the LMS. |
| 60 | Demo Day (part 2) | Remaining teams present. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Retrospective | Each team runs a blameless retro: what went well, what didn't, what we'll change for the capstone. Each student submits the peer evaluation in LMS → My Team & Role; check completion in Peer Evaluation & Viva. |
Use Playground 4 to call calculate_vendor_dscr and show the JSON-RPC request/response. Then run Sandbox Mission 3 (red-team escape) to show the AST scanner blocking `import os`.
Draw: Agent (LLM) → MCP client → JSON-RPC → MCP server → [tool] → enterprise DB. Draw the sandbox box around any code-execution tool.
Q: Why not just run agent code with exec() on the server?
A: It would give the model (and any injected attacker) full host access — secrets, files, network.
Q: What should the last slide of a steering-committee deck contain?
A: A clear recommendation and decision request (go/no-go, budget, next phase) with risks.
Individual retrospective (300 words): your contribution to the engagement, one thing you'd do differently, and feedback for one teammate (constructive and specific).
Look for: Contribution; Improvement; Peer feedback
lab:lab5, quiz:w16, essay:w16
Course 4 — Enterprise Hardening • Modules 16
| Min | Segment | What to do |
|---|---|---|
| 25 | Threat model | Who are the attackers? Insider, other tenant, malicious document, curious employee. |
| 25 | RBAC before retrieval | Why post-retrieval filtering leaks via the LLM context. |
| 20 | Data-protection law | Consent, purpose limitation, data fiduciary duties; tokenisation vs masking. |
| 20 | Prompt injection | Direct vs indirect (inside PDFs); defence in depth. |
| Min | Segment | What to do |
|---|---|---|
| 70 | FDE Lab 6 | Students complete Lab 6 in the LMS. |
| 50 | Red team | Pairs attack Playground 5 with injections and role escalation; document findings. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Security review board | The instructor plays CISO; each student presents one STRIDE threat and its control in 3 minutes. |
In Playground 5, run as intern, then cfo; show RBAC trails and redaction. Then click 'Load Red-Team Injection Attack' and show the block.
Draw: User → OIDC token (tenant, role) → policy filter on vector DB query → only authorized chunks → PII redactor → LLM. Mark where a post-retrieval filter would leak.
Q: Why is post-retrieval filtering dangerous?
A: Unauthorized text may already be in the prompt or logs, and the model can paraphrase it.
Q: Masking vs tokenisation?
A: Masking is irreversible; tokenisation replaces PII with tokens that an authorised vault can reverse when legally required.
Write a threat model (350 words) for your team's capstone candidate client: assets, actors, top 5 threats (STRIDE), controls, and residual risk.
Look for: Assets & actors; Threats; Controls & residual risk
lab:lab6, quiz:w17, essay:w17
Course 4 — Enterprise Hardening • Modules 17
| Min | Segment | What to do |
|---|---|---|
| 25 | Network topology | Public vs private subnets, egress control, private model endpoints. |
| 25 | Containers | Multi-stage builds, distroless images, read-only FS, --network none for sandboxes. |
| 20 | Vector DB ops | HNSW M/ef parameters; backup and re-index strategy. |
| 20 | Runbooks | What an on-call engineer at the client needs at 2 a.m. |
| Min | Segment | What to do |
|---|---|---|
| 120 | Deployment design lab | Students draw a deployment diagram and write a Dockerfile for the course's own portal (non-root, read-only), then review a peer's. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Ops tabletop | Instructor announces: 'The vector DB node died at 2 a.m.' Teams walk through their runbook. |
Show the DockerContainerSandbox command in sandbox_engine.py: --network none, --read-only, --memory, --pids-limit. Explain each flag.
Draw a VPC: private subnet with app + vector DB + self-hosted model, a NAT-less design, a bastion for admins, and a private link to the client's data center.
Q: Why run the model inside the client's VPC?
A: Data residency and data-protection/central-bank requirements; no PII leaves the boundary.
Q: What goes in a runbook?
A: Architecture summary, health checks, alerts, common failures with step-by-step fixes, escalation contacts, rollback procedure.
Write a deployment & incident runbook (350 words) for your team's prototype: architecture, health checks, 3 failure scenarios with fixes, rollback, and escalation.
Look for: Architecture & health; Failure scenarios; Rollback & escalation
quiz:w18, essay:w18
Course 4 — Enterprise Hardening • Modules 18 • Project: Capstone — Week 1 of 6: Kickoff, role rotation & discovery
| Min | Segment | What to do |
|---|---|---|
| 25 | RAG triad | Faithfulness, context recall, answer relevancy — definitions and golden datasets. |
| 20 | CI gates | Fail the build if faithfulness < threshold. |
| 20 | Chaos engineering | Playground 6B; hypothesis → inject → observe → fix. |
| 25 | Capstone kickoff | New teams and rotated roles (nobody repeats their mid-course role). Capstone calendar and rubric. |
| Min | Segment | What to do |
|---|---|---|
| 70 | FDE Lab 7 | Students complete Lab 7 in the LMS. |
| 50 | Capstone discovery | Teams read the client inbox and draft open questions. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Capstone discovery workshop | Instructor plays the client stakeholders; Leads facilitate. |
Run Playground 6B with 429 + drift, then 503 with fail_count = 3. Narrate the hypothesis, observation and recovery log.
Draw the CI pipeline: commit → unit tests → eval on golden set (faithfulness ≥ 0.90, recall ≥ 0.85) → deploy; red arrow back to developer if the gate fails.
Q: Who should write the golden dataset?
A: Domain experts at the client with the FDE; engineers alone will miss real-world edge cases.
Q: Is a chaos drill safe in production?
A: Start in staging; graduate to controlled production experiments with blast-radius limits and approval.
Write an evaluation plan (300 words) for your capstone: golden dataset, metrics and thresholds, chaos scenarios, and how results reach the steering committee.
Look for: Dataset & metrics; Thresholds & gates; Chaos scenarios
lab:lab7, quiz:w19, essay:w19, project:capstone
Course 4 — Enterprise Hardening • Modules 19 • Project: Capstone — Week 2 of 6: Architecture review & component build
| Min | Segment | What to do |
|---|---|---|
| 25 | Build vs buy | Decision matrix: data sensitivity, latency, cost, quality. |
| 25 | LoRA/QLoRA | W' = W + BA with rank r; parameter savings; 4-bit NF4. |
| 20 | VRAM sizing | params × bytes/param + KV-cache, × 1.15 overhead. |
| 20 | Capstone stand-up | Roles report; Lead lists decisions needed. |
| Min | Segment | What to do |
|---|---|---|
| 60 | FDE Lab 8 | Students complete Lab 8 in the LMS. |
| 60 | Capstone sprint | Component build continues; QA writes integration tests. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Capstone architecture review | Each Lead defends ADRs; instructor plays CISO + CFO and records approve/reject. |
In Playground 6A, size an 8B model at int4, int8 and fp16; then 70B int4. Read out the recommended GPU each time.
8B × 0.55 GB/B = 4.4 GB weights; × 1.15 overhead = 5.06 GB. LoRA: a 4096×4096 matrix has 16.8M params; rank-8 LoRA adds 2 × 4096 × 8 = 65,536 (0.39%).
Q: When is fine-tuning the right answer?
A: When you need consistent format/style or domain behaviour that prompting can't achieve, and you have quality labelled data — not to add frequently-changing knowledge.
Q: Why does a CFO care about quantisation?
A: It can let a model fit on one cheaper GPU instead of several, cutting infrastructure cost dramatically.
Write a model-selection ADR (300 words) for your capstone: options considered, decision, VRAM/cost maths, and consequences.
Look for: Options; Maths; Decision & consequences
lab:lab8, quiz:w20, essay:w20
Course 4 — Enterprise Hardening • Modules 20 • Project: Capstone — Week 3 of 6: Sprint 1 & client change request
| Min | Segment | What to do |
|---|---|---|
| 25 | Scope governance | Statement of work, change-request process, impact analysis. |
| 25 | TCO & ROI | Tokens, infra, people; hours saved × rate; payback period. |
| 20 | Client communication | BLUF (bottom line up front) emails; never surprise the client. |
| 20 | Change request drop | Instructor emails each team a client change request; teams must respond by Week 22. |
| Min | Segment | What to do |
|---|---|---|
| 120 | Capstone sprint | Teams build; the Lead drafts the change-request impact analysis with the SRE's TCO numbers. |
| Min | Segment | What to do |
|---|---|---|
| 60 | CFO meeting role-play | Teams present a 5-minute TCO/ROI summary; the instructor plays a sceptical CFO. |
Use Playground 6A: vary cache hit rate 0 → 0.8 and show monthly token savings; then change minutes saved per query and show ROI sensitivity.
Monthly cost = queries × (uncached_in + cached_in + output) prices. ROI = (hours saved × rate) / (tokens + infra + support). Payback = setup cost / monthly net benefit.
Q: The client asks for a new feature 2 weeks before go-live. What do you do?
A: Acknowledge, analyse impact (time/cost/risk), offer options (defer to phase 2, swap scope, extend timeline) and get a written decision.
Q: How do you make an ROI number credible?
A: Use client-provided baselines, show assumptions, give ranges, and avoid double-counting benefits.
Respond to your team's client change request (300 words): BLUF summary, impact analysis (time/cost/risk/quality), options, and your recommendation.
Look for: BLUF; Impact analysis; Options
quiz:w21, essay:w21
Capstone • Modules 22 • Project: Capstone — Week 4 of 6: Integration & UAT
| Min | Segment | What to do |
|---|---|---|
| 30 | Observability | Structured logs, metrics (latency, error rate), traces; what to show the client. |
| 30 | Integration patterns | Data contracts between components; contract tests. |
| 30 | Instructor office hours | Teams bring blockers; instructor triages. |
| Min | Segment | What to do |
|---|---|---|
| 120 | Integration & UAT | QA integrates; the team runs UAT in Tab 6 Stage 4 with at least 5 new edge cases; defects logged and fixed. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Code review | Cross-team code review: each team reviews another team's integrated prototype using the code rubric. |
Show the LMS review queue: a submission with auto-test results, AI review comments, and the instructor's rubric scoring.
Draw the team's component diagram with interfaces labelled by data contract (function name, input schema, output schema).
Q: What makes a good data contract between components?
A: Explicit function signature, input/output schemas, error behaviour, and a contract test.
Q: What should you log in a regulated system?
A: Request IDs, decisions, timings, redaction counts — never raw PII.
Sprint 2 status (250 words) from your role: integration status, UAT results, defects fixed, remaining risks.
Look for: Integration; UAT; Risks
quiz:w22, essay:w22
Capstone • Modules 23 • Project: Capstone — Week 5 of 6: Hardening & rehearsal
| Min | Segment | What to do |
|---|---|---|
| 45 | Security review | Each team's Security Engineer presents controls; instructor (CISO) probes. |
| 45 | Chaos drill | Instructor injects faults; SRE leads recovery; team logs timeline. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Fix sprint | Fix findings from the security review and chaos drill. |
| 60 | Presentation rehearsal | Full dry run; another team gives feedback using the presentation rubric. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Viva preparation | Students practise answering individual technical questions on their role's component. |
Run Playground 6B live with 503 + drift and have the class narrate the recovery like an incident commander.
Draw an incident timeline: detect → triage → mitigate → resolve → review, with timestamps from the drill.
Q: How do you present a security finding you haven't fixed yet?
A: Transparently: severity, compensating control, fix date and owner.
Q: What makes a rehearsal useful?
A: Real timing, a critical audience, and a written list of changes afterwards.
Chaos drill & security review report (300 words): faults injected, detection time, recovery steps, findings, and fixes made.
Look for: Faults & detection; Recovery; Findings & fixes
quiz:w23, essay:w23
Capstone • Modules 24 • Project: Capstone — Week 6 of 6: Final presentations & viva
| Min | Segment | What to do |
|---|---|---|
| 90 | Final presentations (part 1) | 15 min presentation + 10 min executive Q&A per team; panel scores with the presentation rubric. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Final presentations (part 2) | Remaining teams. |
| 60 | Individual viva | 5–7 minutes per student on their role component. Record each score (0–100) and notes in LMS → Peer Evaluation & Viva; it counts as its own gradebook component. |
| Min | Segment | What to do |
|---|---|---|
| 60 | Course retrospective & portfolio | Students submit the capstone peer evaluation in LMS → My Team & Role, run a blameless retrospective and draft their portfolio entry; the instructor shares cohort results and next steps. |
Show an example generated deck from Tab 6 Stage 5 and point out the live-metrics slide and the decision slide.
Draw the presentation arc: Hook (client pain) → Solution → Live evidence → Security & cost → Risks → Ask.
Q: What if the committee says 'no-go'?
A: Capture the reasons, propose a remediation plan with dates, and request a follow-up review — a professional no-go is still a successful engagement outcome.
Q: How do you write a portfolio entry?
A: Context, your role, what you built, measurable outcomes, technologies, and a link to code or a demo.
Final portfolio entry (400 words): client context, your role(s) across both engagements, what you built, measurable outcomes, what you learned, and what you'd do next.
Look for: Context & role; Outcomes; Learning
quiz:w24, essay:w24