Thank you for helping make programming easier to learn. You do not need to be an expert to contribute: a beginner's question can reveal a confusing explanation.
- Report an unclear sentence, missing prerequisite, or broken example.
- Add a prediction question, practice exercise, or debugging puzzle.
- Improve accessibility, navigation, or setup instructions.
- Add tests for runnable examples.
- Propose a lesson that fits the curriculum and teaching format.
- Assume no prior knowledge unless the lesson explicitly says otherwise.
- Explain new vocabulary before relying on it.
- Prefer small, runnable examples over long code dumps.
- Explain why, not just what to type.
- Include common mistakes and how to diagnose them.
- Never shame learners for mistakes or use artificial urgency.
- Keep examples inclusive, safe, and practical.
- Never claim a topic is mastered merely because a learner read it.
- Clear goal and prerequisite list
- Curiosity hook or practical reason to care
- Prediction prompt
- Correct, runnable code
- Plain-language explanation
- At least two practice tasks of different difficulty
- Graduated hints that do not immediately reveal the answer
- Solution with reasoning
- Retrieval question connected to an earlier lesson
- Accessibility and proofreading review
- Keep a pull request focused on one improvement.
- Explain the learner problem being solved.
- Test code examples when possible.
- Explain any new dependencies.
- Critique the material, not the person.
Be kind, constructive, patient, and inclusive. Harassment, discrimination, insults, and gatekeeping are not acceptable. We want learners to feel safe asking basic questions.