Coursera:
Adaptive Assignment Coach
Designing an in-context AI tutoring system that transforms the "I'm stuck" moment from a point of abandonment into a deeper learning opportunity — without giving away the answer.
The Problem
Learners in technical courses hit a wall during graded coding assignments. Coursera's current support options — forum posts and static hints — are asynchronous, generic, and slow. When a learner gets stuck at 11pm on a data structures problem, there's no one to help them.
This creates two failure modes:
Abandonment: Learner closes the tab, loses momentum, and eventually churns from the course entirely.
Integrity Violation: Learner copies a solution from GitHub, Chegg, or Stack Overflow — completing the assignment without learning anything.
Both outcomes hurt Coursera's core mission: providing universal access to world-class learning. And both are preventable if the right kind of help is available at the right moment.
Learners in technical STEM courses reach a "Cognitive Wall" during graded assignments. Current support is asynchronous and non-personalized, leading to course abandonment or academic dishonesty — at the exact moment learners are closest to a breakthrough.
Market Context
The problem is concentrated in STEM and professional data/development specializations — the highest-value, highest-dropout-rate courses on Coursera's platform.
Competitive Analysis
| Competitor | Approach | Gap |
|---|---|---|
| Codecademy "Get Unstuck" | Hint system | Often reveals full solution — reduces cognitive load too much, no learning |
| Khan Academy (Khanmigo) | Socratic AI tutor | Strong model but no deep integration with Coursera's grading infrastructure or instructor solution graphs |
| Generic LLM wrappers | ChatGPT-style chat | Will generate complete solutions on request — destroys assessment integrity |
| Adaptive Assignment Coach | Socratic + AST comparison | Compares learner's code to instructor's solution graph — provides precise nudges, never answers |
The key differentiation: our coach doesn't just "guess" based on the prompt. It ingests the instructor's solution and converts it into a logic flow, then maps the learner's attempt against it to pinpoint exactly where reasoning diverged.
User Personas
Studies around a full-time job. Understands videos conceptually but freezes at the blank code editor.
"I understand the video, but the blank code editor is terrifying."
Needs efficient debugging help. Gets the logic right but loses hours on syntax errors he can't diagnose.
"I have the logic right, but I've been stuck on a NoneType error for two hours."
Secondary: Course Author
"I can't manually hint 10,000 students, but I don't want AI to give them the answers." The coach must scale their intent — not replace their pedagogy.
The Solution: Socratic Logic Engine
A "Need Help?" floating action button triggers an AI tutoring side panel that lives inside the Coursera Lab interface — non-intrusive, contextual, and hard-coded to never generate complete solutions.
Four Help Modes
| Mode | What It Does | When Used |
|---|---|---|
| Plain Language | Rephrases the assignment prompt in simple terms | Learner isn't sure what they're being asked to build |
| Similar Pattern | "Brother Problems" — shows a structurally similar solved example | Learner understands the task but doesn't know where to start |
| Approach Analysis | Maps learner's attempt line-by-line against instructor's solution path, identifies exact divergence point | Learner has written code but it's wrong |
| Practice Mode | Generates 3 variant problems with different variables to cement the concept | After passing — verify real understanding, not lucky guesses |
The system is hard-coded to strip any "Full Solution" strings from its output. It provides scaffolding and hints only. This is non-negotiable — the moment it generates answers, the product destroys its own value proposition.
Technical Architecture
Canonical Solution Graph: Course authors provide their solution. The system ingests it and converts it into a logic flow (Abstract Syntax Tree). Every learner hint is grounded in this — not in the LLM's general knowledge.
State Management: The coach maintains full history of the current assignment session to avoid repetitive hints and track learner progress toward the solution.
Model Strategy: Gemini 1.5 Flash for speed on simple task clarification. GPT-4o for complex code analysis. Rate limited to 5 hints per assignment per hour to prevent brute-forcing.
Privacy: User-pasted code is anonymized before being sent to any LLM API.
Grader Integration: Hooks into Coursera's Judge0 (or equivalent) grader so the coach can see submission history and tailor hints accordingly.
User Stories
| ID | User Story | Acceptance Criteria |
|---|---|---|
| US.1 | As a learner, I want the coach to rephrase the prompt so I can verify I haven't misunderstood the task | Plain-language restatement appears within 3 seconds of clicking "Plain Language" mode |
| US.2 | As a learner, I want to know where my logic failed without seeing the answer written for me | System identifies divergence point (e.g., "Line 14 handles the loop incorrectly") — no corrected code provided |
| US.3 | As a learner, I want similar example problems to map concepts to new contexts | 3 structurally similar problems generated with distinct variables/scenarios, all auto-gradeable |
| US.4 | As a course author, I want the AI to never reveal my solution | Zero full solution strings in any API output — enforced at system prompt and output filter layer |
Success Metrics
| Metric | Definition | Why It Matters |
|---|---|---|
| Stuck-to-Submit Rate | % of users who submit within 24h of clicking "I'm Stuck" | Primary signal that the coach is actually unblocking learners |
| Hint Efficacy | % who pass after <3 AI interactions | Validates that hints are genuinely helpful, not just increasing usage |
| Practice Set Conversion | % who engage with "Generate 3 Similar Problems" | Signals genuine learning intent vs. just wanting to pass |
| Hint Abuse Rate | % attempting to extract solutions via prompt manipulation | Guardrail effectiveness monitoring |
Rollout Strategy
| Phase | Scope | Goal |
|---|---|---|
| Alpha (Wk 1–4) | Internal testing · "Python for Everybody" only | Validate guardrails and hint quality |
| Beta (Wk 5–9) | A/B test on 10% of learners in 3 high-traffic STEM specializations | Measure Stuck-to-Submit lift vs. control |
| GA (Wk 12+) | All auto-graded coding and math assignments | Full rollout based on beta signal |
Risks & Mitigations
| Risk | Impact | Mitigation |
|---|---|---|
| Hallucination | High | Ground AI exclusively in Canonical Solution — restrict knowledge to specific assignment parameters only |
| Hint Abuse | Medium | "Hint Credit" system — 5 hints per assignment per hour with cooldown timer |
| Model Latency | Low | Flash model for simple clarification, larger model only for code analysis |