Initial commit
This commit is contained in:
118
skills/pedagogy/teaching-principles.md
Normal file
118
skills/pedagogy/teaching-principles.md
Normal file
@@ -0,0 +1,118 @@
|
||||
# Data Science Teaching Principles
|
||||
|
||||
General pedagogical principles for teaching data science, machine learning, AI, and MLOps.
|
||||
|
||||
## Core Teaching Philosophy
|
||||
|
||||
### 1. Hands-On Learning
|
||||
Data science is learned by doing, not just reading:
|
||||
- Provide working code examples
|
||||
- Encourage experimentation and iteration
|
||||
- Use real or realistic datasets
|
||||
- Build confidence through successful execution
|
||||
- Learn from errors and debugging
|
||||
|
||||
### 2. Visual Learning
|
||||
Leverage visualizations to build intuition:
|
||||
- Plot data before analyzing
|
||||
- Visualize model behavior
|
||||
- Show distributions and patterns
|
||||
- Use interactive plots when possible
|
||||
- Make abstract concepts concrete through visuals
|
||||
|
||||
### 3. Incremental Complexity
|
||||
Build understanding step by step:
|
||||
- Start with simple, concrete examples
|
||||
- Introduce one concept at a time
|
||||
- Build on previously learned material
|
||||
- Avoid overwhelming with too many details upfront
|
||||
- Progress from intuition to theory
|
||||
|
||||
### 4. Theory Meets Practice
|
||||
Balance conceptual understanding with application:
|
||||
- Explain why, not just how
|
||||
- Connect math to code implementation
|
||||
- Show real-world applications
|
||||
- Validate theoretical concepts through code
|
||||
- Make abstract concepts tangible
|
||||
|
||||
### 5. Active Learning
|
||||
Engage students in the learning process:
|
||||
- Include practice problems
|
||||
- Design checkpoints for self-assessment
|
||||
- Encourage exploration and "what if" questions
|
||||
- Provide opportunities for discovery
|
||||
- Foster experimentation
|
||||
|
||||
## Content Structure Guidelines
|
||||
|
||||
### For Chapters
|
||||
1. **Start with motivation** - Why does this topic matter?
|
||||
2. **Provide intuition** - Concrete examples before formalism
|
||||
3. **Introduce concepts incrementally** - One idea at a time
|
||||
4. **Show, don't just tell** - Working examples with code
|
||||
5. **Practice and validate** - Exercises to reinforce learning
|
||||
6. **Summarize and connect** - Key takeaways and next steps
|
||||
|
||||
### For Assessments
|
||||
1. **Test understanding, not memorization** - Focus on concepts
|
||||
2. **Include application problems** - Not just recall
|
||||
3. **Mix question types** - Theory, code, interpretation
|
||||
4. **Provide partial credit opportunities** - Show reasoning
|
||||
5. **Include real-world scenarios** - Make it relevant
|
||||
|
||||
### For Notebooks
|
||||
1. **Clear learning objectives** - What will students learn?
|
||||
2. **Executable from top to bottom** - No hidden dependencies
|
||||
3. **Mix explanation and code** - Interleave markdown and code cells
|
||||
4. **Include validation** - Help students check their work
|
||||
5. **Encourage exploration** - Provide extension opportunities
|
||||
|
||||
### For Slides
|
||||
1. **One main idea per slide** - Don't overwhelm
|
||||
2. **Visual over text** - Use diagrams and examples
|
||||
3. **Live coding when possible** - Show the process
|
||||
4. **Build complexity gradually** - Layer concepts
|
||||
5. **Include discussion prompts** - Engage the audience
|
||||
|
||||
## Level Differentiation
|
||||
|
||||
### Undergraduate Students
|
||||
- Assume less mathematical background
|
||||
- Start with concrete before abstract
|
||||
- Provide more scaffolding and structure
|
||||
- Focus on intuition and practical application
|
||||
- Use relatable, accessible examples
|
||||
- Emphasize building confidence
|
||||
|
||||
### Graduate Students
|
||||
- Can handle more mathematical rigor
|
||||
- Expect understanding of prerequisites
|
||||
- Include theoretical foundations
|
||||
- Balance theory with implementation
|
||||
- Use research and industry examples
|
||||
- Encourage independence and depth
|
||||
|
||||
## Tool and Library Guidance
|
||||
|
||||
### Choosing the Right Tool
|
||||
- **Beginners**: Start with high-level libraries (pandas, sklearn)
|
||||
- **Intermediate**: Introduce lower-level concepts (numpy operations)
|
||||
- **Advanced**: Implement from scratch to understand internals
|
||||
|
||||
### Code Quality
|
||||
- Write clean, readable code
|
||||
- Include comments explaining non-obvious parts
|
||||
- Follow conventions (PEP 8 for Python)
|
||||
- Show both "quick and dirty" and "production-quality" approaches when relevant
|
||||
- Emphasize reproducibility
|
||||
|
||||
## Common Pitfalls to Avoid
|
||||
|
||||
1. **Math before intuition** - Build understanding first
|
||||
2. **Too much at once** - Break down complex topics
|
||||
3. **Passive learning** - Always include active elements
|
||||
4. **Disconnected theory** - Link concepts to practice
|
||||
5. **Ignoring prerequisites** - Know your audience
|
||||
6. **One-size-fits-all** - Adapt to student level
|
||||
7. **No real-world context** - Show why it matters
|
||||
Reference in New Issue
Block a user