The Lead Teacher’s role is the role of the director. You are tasked with taking control of the flow of the class and making sure it proceeds in a way that is beneficial not only to students but to volunteers as well. In the classroom, people will look to you as a figure of authority and leadership. As a Lead Teacher, you are ultimately responsible for what is taught in the class, the pace and the involvement of our other volunteers. It is an important and impactful role where you can have a huge impact on our student’s education.
Your responsibility as a Lead Teacher is to teach the learning goals for each week and make sure that all students can keep up with the class.
At HackYourFuture we give our teachers lots of freedom to teach the way they want to. The only thing you need to do is teach the learning goals for each week. That is because the homework is based on these learning goals and we don't want our students to struggle too much with doing homework.
The class can be run in two different ways:
- 1.Flipped classroom. Here the students watch the class teachings before class. That means that the class can be used for clearing up things, questions, exercises and homework. This approach is about maximizing active learning which has been found to increase student learning
- 2.Normal approach. The students come to class and are taught the topics of the week. When the teaching is over the students have time for exercises.
It's up to you what approach you want to use. But we would like to encourage using flipped classroom, as most students report prefering this way of learning.
The same goes for experiential learning (hands-on work) and peer-assisted learning (students helping one another). This has also shown to work well for our students. In practice this means that we try to use as few powerpoint slides as possible (ideally none) and focus on Live coding examples, group exercises and anything else that keeps people's hands on their keyboards and makes them apply their skills and practice them.
Here are some things we learned from having all classes online:
- When you do exercises, make small groups of 3 people in breakout rooms
- In BBB you can raise your hand. Use that to figure out if people are following or if people have questions
Recording of sessions. In BigBlueButton remember to record the session and post the recorded video on the class' Slack channel.
Talk with your teacher assistant Before class try and talk to your teacher assistant about how you want to work together. Should the teacher assistant fx. help teach some topics, is it okay if the teacher assistant interrupts, etc.
Homework status Get an overview of how the class is doing. Use the Homework Checker tool to get a bit of an overview of how the class is doing, or scroll through the class' Slack channel. With an overview you can teach more targeted towards clearing out misconceptions in the class.
Breaks We take a long break around 14:00, to have lunch. (About 20 minutes). Otherwise, make sure to remember to take short breaks about every 45 minutes as it is a lot to take in for students and concentration will understandably drop if we don't take breaks.
Don't forget about the fun If you have an idea about how to combine the teaching with some more fun exercises - do it. Our curriculum is challenging and sometimes dry (it has to be), but that doesn't mean we can't take some digressions to have some fun and get the energy levels in the class up. Mitigating 'code scare' or demystifying the world of programming can be super important, especially in the start. A good resource for fun exercises is the teaching_tips_and_tricks repo. It's a collaborative effort between all HYF chapters and Pull Requests are more than welcome!
As a class you should work through a programming problem together. Ideally you should be the ‘hands’
and the students should be the ‘brain’
. They should direct every keystroke of the solution. This is a great way of de-mystifying the coding process and slowly taking students through a concept or problem. The speed of your typing will limit the speed that you can deliver content and so is an ideal tool for pacing the lesson.
Bring a programming problem that you thoroughly understand and have prepared for. Your job as a teacher is to slowly reveal sections of the solution as students understand the different parts of it. It is important to move slowly and not reveal too much.
Peer instruction is an interactive teaching method in which students discuss underlying concepts with each other during the lecture. Learning comes from the students helping each other explain concepts. Read more here.