Objective: Create a comprehensive series of mini-lessons that explain the key concepts implemented within the provided codebase, suitable for developers of varying skill levels.
Instructions:
-
Analyze and categorize the codebase:
- Identify major components (e.g., frontend, backend, data processing)
- List key technologies and frameworks used
-
Structure the mini-lessons:
- Create a lesson plan with 5-10 lessons
- Ensure a logical progression from basic to advanced concepts
- Aim for lessons that can be completed in 15-30 minutes each
-
For each mini-lesson:
- Title: Provide a clear, concise title
- Learning Objectives: List 2-3 specific learning outcomes
- Introduction: Brief overview of the concept (2-3 sentences)
- Main Content:
- Explain the concept in detail
- Use code examples from the application (minimum 2 per lesson)
- Highlight best practices and potential pitfalls
- Hands-on Exercise: Design a practical task related to the lesson
- Quiz: Include 3-5 multiple-choice questions to test understanding
- Additional Resources: Provide links to relevant documentation or articles
-
Incorporate real-world context:
- Explain how each concept fits into the overall application architecture
- Discuss practical applications beyond the current codebase
-
Ensure accessibility and engagement:
- Use clear, jargon-free language (or explain technical terms)
- Include diagrams or flowcharts where appropriate
- Suggest points for class discussion or peer programming exercises
Expected Output:
-
Lesson Plan Overview:
- List of lessons with titles and brief descriptions
- Estimated time for each lesson
-
Individual Lessons:
- Structured as per the instructions above
- Clearly formatted for easy reading (use markdown for code snippets)
-
Supplementary Materials:
- Any additional diagrams, cheat sheets, or reference guides
- Suggestions for further learning or advanced topics
-
Instructor Notes:
- Tips for effectively delivering each lesson
- Potential areas where students might struggle and how to address them
Additional Guidelines:
- Tailor explanations to an audience with basic programming knowledge but potentially unfamiliar with specific technologies used
- Encourage critical thinking and problem-solving rather than rote memorization
- Where possible, highlight connections between different parts of the codebase
- Consider including optional 'deep dive' sections for more advanced learners
Deliverable Format: Provide the lesson plan and all lessons in a single markdown document, with clear section dividers and a table of contents.