language-learning-educator
Domain expertise for teaching English language learning with audio, exercises, and progressive difficulty
- Category: discovered
- Tags: github, community
- Version: 1.0.0
- Author: walid
- Downloads: 0
- Updated: 2025-11-22
Download the latest version (v1.0.0) from this page.
SKILL.md
---
skill_name: language-learning-educator
description: Domain expertise for teaching English language learning with audio, exercises, and progressive difficulty
version: 1.0.0
author: Educational Notebook System
tags: [language-learning, english, ESL, audio, exercises, CEFR, education]
activation_keywords: [english learning, language, ESL, CEFR, grammar, vocabulary, pronunciation, audio]
dependencies: [gtts, pyttsx3, soundfile, pandas]
---
# Language Learning Educator Skill
## Purpose
Provides domain expertise for creating educational content for English language learning, following CEFR standards with audio generation, interactive exercises, and progressive difficulty.
## CEFR Levels Overview
### A1 (Beginner)
- **Can Do**: Introduce self, ask/answer basic questions, simple phrases
- **Grammar**: Present simple, basic pronouns, singular/plural
- **Vocabulary**: ~500 words (everyday topics)
- **Sentence Length**: 3-7 words
### A2 (Elementary)
- **Can Do**: Describe background, immediate needs, simple exchanges
- **Grammar**: Past simple, future with "going to", comparatives
- **Vocabulary**: ~1000 words (routine activities)
- **Sentence Length**: 5-10 words
### B1 (Intermediate)
- **Can Do**: Handle travel situations, describe experiences, explain opinions
- **Grammar**: Present perfect, conditionals, modal verbs
- **Vocabulary**: ~2000 words (familiar topics)
- **Sentence Length**: 8-15 words
### B2 (Upper Intermediate)
- **Can Do**: Interact fluently, understand complex texts, argue viewpoints
- **Grammar**: Passive voice, reported speech, advanced tenses
- **Vocabulary**: ~4000 words (abstract topics)
- **Sentence Length**: 12-20 words
## Teaching Patterns
### Pattern 1: Vocabulary Introduction
```markdown
## Vocabulary: [Topic]
### New Words
| Word | Part of Speech | Pronunciation | Definition | Example |
|------|----------------|---------------|------------|---------|
| example | noun | /ɪɡˈzæmpəl/ | A thing characteristic of its kind | This is an *example* of good writing. |
### Audio Practice
```python
from gtts import gTTS
import IPython.display as ipd
def create_audio(text, lang='en'):
\"\"\"Generate and play audio for vocabulary\"\"\"
tts = gTTS(text=text, lang=lang, slow=False)
tts.save('temp_audio.mp3')
return ipd.Audio('temp_audio.mp3', autoplay=False)
# Listen to each word
for word in vocabulary_list:
print(f"🔊 {word}")
display(create_audio(word))
```
### Comprehension Check
1. Match words to definitions
2. Fill in the blanks
3. Create your own sentence
```
### Pattern 2: Grammar Module
```markdown
## Grammar: [Structure Name]
### Form
**Positive**: [Subject] + [Verb form] + [Object]
**Negative**: [Subject] + don't/doesn't + [Verb] + [Object]
**Question**: Do/Does + [Subject] + [Verb] + [Object]?
### Examples
✅ **Correct**:
- She *studies* English every day.
- They *don't* speak French.
- *Do* you *like* pizza?
❌ **Common Mistakes**:
- ~~She study English~~ → She *studies* English (add -s for third person)
- ~~She doesn't studies~~ → She doesn't *study* (don't add -s after doesn't)
### Practice Exercises
#### Exercise 1: Fill in the Gaps
Complete the sentences with the correct form:
1. He _____ (work) in a bank.
2. They _____ (not/have) a car.
3. _____ she _____ (speak) Spanish?
#### Exercise 2: Correction
Find and fix the errors:
1. She don't like coffee. → ___________
2. Does they live here? → ___________
#### Exercise 3: Create Sentences
Write 3 sentences using this grammar structure about your daily routine.
```
### Pattern 3: Listening Comprehension
```markdown
## Listening: [Topic Title]
### Pre-Listening
**Warm-up Question**: [Activate prior knowledge]
**Vocabulary to Know**:
- [Word 1]: [Definition]
- [Word 2]: [Definition]
### Listen
```python
# Generate listening passage
passage = \"\"\"
[Appropriate-level text with target grammar/vocabulary]
\"\"\"
display(create_audio(passage))
```
**Listen once**: Get the general idea
**Listen again**: Answer the questions below
### Questions
**General Understanding**:
1. What is the main topic?
2. Who are the speakers?
**Specific Details**:
3. [Specific fact question]
4. [Inference question]
**Vocabulary in Context**:
5. What does "[word]" mean in this context?
### Answers
[Provide answers for self-checking or in instructor version]
```
### Pattern 4: Speaking Practice
```markdown
## Speaking: [Activity Name]
### Preparation
**Topic**: [Topic]
**Key phrases to use**:
- [Phrase 1]
- [Phrase 2]
- [Phrase 3]
### Task
[Clear speaking task description]
### Model Example
```python
# Listen to example first
model_response = "[Example response at appropriate level]"
display(create_audio(model_response))
```
### Your Turn
1. Prepare your response (write notes below)
2. Practice saying it aloud
3. Record yourself (optional)
4. Compare to model example
### Self-Assessment
- [ ] Did I use the key phrases?
- [ ] Was my pronunciation clear?
- [ ] Did I speak for the target time?
- [ ] Did I answer completely?
```
## Audio Generation Best Practices
### Using gTTS (Google Text-to-Speech)
```python
from gtts import gTTS
import IPython.display as ipd
from pathlib import Path
def generate_audio_example(text, filename='audio', slow=False, lang='en'):
\"\"\"
Generate audio file for language learning.
Parameters
----------
text : str
Text to convert to speech
filename : str
Output filename (without extension)
slow : bool
If True, speaks slower for beginners
lang : str
Language code ('en' for English)
Returns
-------
IPython.display.Audio
Audio player widget
\"\"\"
# Create audio object
tts = gTTS(text=text, lang=lang, slow=slow)
# Save to file
output_path = f'audio/{filename}.mp3'
Path('audio').mkdir(exist_ok=True)
tts.save(output_path)
# Return audio player
return ipd.Audio(output_path, autoplay=False)
# Usage examples
# Normal speed for B1+ levels
audio_normal = generate_audio_example(
"This is an example sentence.",
filename="example_normal",
slow=False
)
display(audio_normal)
# Slow speed for A1-A2 levels
audio_slow = generate_audio_example(
"This is an example sentence.",
filename="example_slow",
slow=True
)
display(audio_slow)
```
### Creating Vocabulary Audio Lists
```python
def create_vocabulary_audio(vocabulary_dict):
\"\"\"
Create audio for vocabulary list.
Parameters
----------
vocabulary_dict : dict
{word: definition} pairs
Returns
-------
list
Audio player objects
\"\"\"
audio_files = []
for word, definition in vocabulary_dict.items():
# Create audio for word
word_audio = generate_audio_example(word, f'vocab_{word}')
# Create audio for example sentence with word
sentence = f"Example: {definition}"
sentence_audio = generate_audio_example(sentence, f'example_{word}')
audio_files.append({
'word': word,
'word_audio': word_audio,
'sentence_audio': sentence_audio
})
return audio_files
```
## Exercise Types by Level
### A1 Exercises
1. **Picture Matching**: Match words to images
2. **Multiple Choice**: Choose correct word/form
3. **Fill in the Blank**: Complete with provided words
4. **True/False**: Simple comprehension
5. **Matching**: Connect related items
6. **Simple Substitution**: Replace words in sentences
### A2 Exercises
1. **Short Gap Fills**: Complete with correct form
2. **Sentence Reordering**: Put words in correct order
3. **Error Correction**: Find and fix mistakes
4. **Simple Transformations**: Change tense/form
5. **Dialogue Completion**: Fill missing responses
6. **Short Answer Questions**: 1-2 sentence responses
### B1 Exercises
1. **Extended Gap Fills**: Multiple words missing
2. **Paraphrasing**: Rewrite with same meaning
3. **Sentence Combining**: Join using conjunctions
4. **Controlled Writing**: Write using prompts
5. **Comprehension Questions**: Detailed answers
6. **Role Play Scenarios**: Interactive tasks
### B2 Exercises
1. **Essay Writing**: Structured compositions
2. **Debate Preparation**: Argue both sides
3. **Summary Writing**: Condense longer texts
4. **Critical Analysis**: Evaluate arguments
5. **Formal vs Informal**: Register transformation
6. **Idiomatic Expressions**: Natural language use
## Progress Tracking
### Module Completion Checklist
```markdown
## Progress Tracker
### Module [X]: [Topic]
**Completion Status**:
- [ ] Vocabulary learned (___/20 words)
- [ ] Grammar exercises (___/10 completed)
- [ ] Listening comprehension (___% correct)
- [ ] Speaking practice (completed: Y/N)
- [ ] Writing assignment (completed: Y/N)
**Self-Assessment**:
- I can [learning objective 1]: ⭐⭐⭐⭐⭐
- I can [learning objective 2]: ⭐⭐⭐⭐⭐
- I can [learning objective 3]: ⭐⭐⭐⭐⭐
**Notes**: [Personal observations, difficult points, questions]
**Next Steps**: Review [specific areas] before moving to Module [X+1]
```
### Batch Organization
For multi-module courses (like your A1, A2, B1 batches):
```python
# Batch metadata
batch_info = {
'batch_name': 'A2 Batch 1',
'modules': [1, 2, 3, 4, 5],
'focus_areas': ['Present Simple', 'Daily Routines', 'Question Formation'],
'estimated_hours': 10,
'prerequisites': ['A1 Complete'],
'learning_outcomes': [
'Can describe daily routines',
'Can ask and answer about habits',
'Can use present simple confidently'
]
}
```
## Common Learner Errors to Address
### Grammar Errors
1. **Third Person -s**: *He work* → He works
2. **Article Usage**: *I am teacher* → I am a teacher
3. **Word Order**: *I like very much pizza* → I like pizza very much
4. **Tense Consistency**: Mixed tenses in narration
5. **Preposition Choice**: *Interested about* → Interested in
### Pronunciation Challenges
1. **TH sounds**: /θ/ (think) vs /ð/ (this)
2. **Vowel length**: ship /ɪ/ vs sheep /iː/
3. **Silent letters**: knight, climb, psychology
4. **Word stress**: PHOtograph vs phoTOGraphy
5. **Sentence stress**: Content vs function words
### Vocabulary Issues
1. **False friends**: *Embarrassed* vs *pregnant* (for Spanish speakers)
2. **Overuse of cognates**: Assuming similarity means same usage
3. **Literal translation**: Idioms from native language
4. **Register confusion**: Formal vs informal context
## Cultural Notes Integration
Include cultural context for authentic communication:
```markdown
## Cultural Note: [Topic]
### In English-speaking countries...
[Cultural practice/norm related to language use]
### Language Tips:
- In formal situations, use: [formal version]
- With friends, you can say: [informal version]
- Avoid: [what not to say and why]
### Example Situations:
[Real-world scenarios showing appropriate language use]
```
## Assessment Design
### Formative Assessment (During Learning)
- Quick comprehension checks after each section
- Self-assessment rubrics
- Error identification exercises
- Peer review activities
### Summative Assessment (End of Module)
- Comprehensive vocabulary test
- Grammar application tasks
- Listening comprehension passage
- Speaking prompt (record and submit)
- Writing composition
### Auto-Grading Where Possible
```python
def check_answer(user_answer, correct_answer, partial_credit=True):
\"\"\"
Check student answer with feedback.
Parameters
----------
user_answer : str
Student's response
correct_answer : str or list
Correct answer(s)
partial_credit : bool
Allow partial credit for close answers
Returns
-------
dict
Score, feedback, and correctness
\"\"\"
user_clean = user_answer.lower().strip()
# Handle multiple correct answers
if isinstance(correct_answer, list):
correct_answers = [ans.lower().strip() for ans in correct_answer]
else:
correct_answers = [correct_answer.lower().strip()]
# Check for exact match
if user_clean in correct_answers:
return {
'correct': True,
'score': 1.0,
'feedback': '✅ Correct!'
}
# Check for partial credit (minor spelling errors)
if partial_credit:
from difflib import SequenceMatcher
for correct in correct_answers:
similarity = SequenceMatcher(None, user_clean, correct).ratio()
if similarity > 0.85:
return {
'correct': 'partial',
'score': 0.5,
'feedback': f'⚠️ Close! Check your spelling. The answer is: {correct}'
}
return {
'correct': False,
'score': 0.0,
'feedback': f'❌ Not quite. The correct answer is: {correct_answers[0]}'
}
```
## Success Criteria
Language learning educational content should:
- ✅ Follow CEFR guidelines for level
- ✅ Include audio for all examples (pronunciation critical)
- ✅ Provide immediate feedback on exercises
- ✅ Progress logically from simple to complex
- ✅ Use authentic, natural language examples
- ✅ Address common learner errors explicitly
- ✅ Include cultural context where relevant
- ✅ Offer varied exercise types (reading, listening, writing, speaking)
- ✅ Enable self-paced learning with clear objectives
- ✅ Track progress and celebrate milestones