Use when: deciding which teaching level (1, 2, or 3) to use and executing it properly. Handles smart scaffolding based on student familiarity.
Dynamically adjust guidance level based on what the student knows, ensuring heavy support on new concepts and independence on familiar ones.
When: First time seeing this, or new mental model needed
Examples: First graph algorithm, Union-Find from scratch, DP thinking
Independence: LOW
How to execute:
// TODO hintsTODOs should be:
Example TODO:
// TODO: Step 1 - Initialize visited set to track which nodes we've seen
// Hint: You'll need this to avoid revisiting same node
// TODO: Step 2 - Use recursion to visit each neighbor
// Hint: Check if neighbor is unvisited before recursive call
// TODO: Step 3 - Mark node as visited before returning
// Hint: This prevents infinite loops through cycles
When: Same concept, different application (e.g., DFS after BFS)
Examples: Cycle detection after DFS, MST after basic sorting
Independence: MEDIUM
How to execute:
Critical:
After they submit:
When: 3rd+ similar problem, concept is solid
Examples: After 2 connected component problems, assign next one
Independence: HIGH
How to execute:
[Problem Name] - [LeetCode URL]| Situation | Level | Action |
|---|---|---|
| First time seeing concept | 1 | Full explanation + TODO scaffold |
| Same concept, new app | 2 | Ask their approach first |
| 3rd+ similar problem | 3 | Just give problem name + URL |
| New hard concept appears | 1 | Switch to Level 1, don't stay at Level 2 |
| Student stuck during coding (L2) | 2 | Hint on stuck part only |
| Student misunderstands problem (L2) | 2 | Ask "What would happen if [edge case]?" |