The following material isn’t meant as rules but as guidelines. Feel free to pick and choose advice from different points as you see fit for the mentors and student audience alike. The material also aims for an explorative learning approach (sometimes called the hard way). This puts emphasis on letting students discover things by themselves, then helping them through what it means.
There is a fundamental difference between a coach and a teacher. The goal isn’t to stand in front of a class and lecture them about Rust but to stand beside them and help them discover the language by themselves. Some things to consider are specific to teaching programming (or other tech related fields) and having experience with that is always a plus.
- Stand on the sidelines but be ready to help
- Focus on the students
- Have sympathy and patience for their (in-)abilities
- Be positive and encouraging
- It’s okay to make mistakes
- And take breaks if they get frustrated!
- Leave time for experimentation and “playing around”
- If people are getting “off the path”, don’t force them back on!
- Make sure people are having fun
General teaching advice
Generally good advice when teaching anything (even in a more hands-off approach):
- Create a friendly and welcoming environment
- Use students’ names and pronouns
- Smile at them, make eye contact
- Admit if you don’t know something; that’s okay!
- When explaining, try to avoid jargon, especially on tech subjects
- Don’t assume pre-existing knowledge
- Try to rephrase things in case of misunderstandings
- Don’t accept students self-deprecation
- Tell them that they can do it
- Congratulate them on achievements
- Let people show off their work if they want to
Dealing with questions
Be sure to be engaged with the students problems. Just because someone isn’t asking questions that doesn’t mean they’re not having problems.
- They might be too afraid to ask.
- Check in with people once in a while and ask “Hey, how is it going? Anything I can help you with?”
- This helps shy learners, builds connection and increass engagement
- Alternatively: Sit next to them and talk about what they are doing.
- Generally encourage the asking of questions
- Building the right atmosphere is important but also sometimes difficult
- Emphasize that there’s no such thing as a “dumb” question
- Positively respond to questions
- If a lot of people are struggling with a certain subject, be sure to adjust your material
- This isn’t about you, it’s about the students; go at their pace
- Talk slowly, leave space after saying something
- When answering questions be sure to leave them time to think about it. Then make sure they understood it
- Follow the code of conduct of your event, be an example that students can follow!
- This means no harassment, no sexual advances, no slurs or violating participants boundries
- If you see any of this happening, confront the offenders immediately. This also counts for event staff.
- Don’t roll your eyes at questions, don’t be annoyed by misunderstanding, don’t be impatient
- Don’t start debates about programming languages, toolkits, etc.
- Avoid being opinionated
- Don’t touch their keyboards!