|
| 1 | +First, thanks for volunteering your time to teach a workshop. Here we've |
| 2 | +tried to capture tips to make your experience, and your student's, better. |
| 3 | + |
| 4 | +# First, Do No Harm |
| 5 | + |
| 6 | +The <strong>most important</strong> thing you can do as a teacher is to make |
| 7 | +people feel they are in a <strong>safe learning environment</strong>. The worst |
| 8 | +outcome is for a student to leave frustrated, confused, or belittled and never |
| 9 | +wanting to try programming again. |
| 10 | + |
| 11 | +# Plugging In, Setting Up |
| 12 | + |
| 13 | +## Teacher & TA Huddle |
| 14 | + |
| 15 | +It can be really helpful to talk with your TAs briefly before you begin and set |
| 16 | +the tone that your classroom will be a collaborative experience, not just a |
| 17 | +lecture. If any of them are up for it, you can have them teach a section or even |
| 18 | +just explain or diagram a tricky concept like databases. But don't push people |
| 19 | +if they aren't ready. |
| 20 | + |
| 21 | +## Laptop Setup |
| 22 | +* Get your screen on the monitor or projector. This is never 100% foolproof! |
| 23 | +* Zoom your browser and text editor fonts. |
| 24 | +* Disable any potential popups like work email, etc |
| 25 | + |
| 26 | +## Try to Put Yourself in a Student's Shoes |
| 27 | + |
| 28 | +If you code all day for your job, it's easy to switch windows without stating |
| 29 | +your intent, and use all sorts of timesaving shortcuts without even realizing |
| 30 | +it. |
| 31 | + |
| 32 | +* Always annouce keyboard shortcuts and commands, along with |
| 33 | +<strong>where</strong> to run them. Beginner students often get don't know |
| 34 | +the difference between bash, IRB, the Rails console, etc. |
| 35 | +* If you want, you can try |
| 36 | +[https://github.com/keycastr/keycastr](KeyCastr) which will display shortcuts as you |
| 37 | +type but be careful if you type passwords ;-) |
| 38 | +* Be explicit: "Let's go back to our <strong>text editor</strong> and find |
| 39 | +the <strong>topics.css</strong> file in the app/assets/stylesheets folder so we |
| 40 | +can change the style." |
| 41 | + |
| 42 | +# How to Begin the Class |
| 43 | + |
| 44 | +Go around the room and have people introduce themselves. You can use |
| 45 | +icebreaker techniques like having people name their favorite SF structure, |
| 46 | +to use one example. |
| 47 | + |
| 48 | +It's also tremendously helpful if everyone states what they want to learn. |
| 49 | +This can be really useful in higher levels to tailor the content to |
| 50 | +what the students want. |
| 51 | + |
| 52 | +If it's clear that the class is generally at a lower level that the color, slow |
| 53 | +down accordingly. It's also a good time to remind them that anyone is free to |
| 54 | +change levels at any time, especially if it sounds like some students are |
| 55 | +already at a higher level. |
| 56 | + |
| 57 | +# Roadmap |
| 58 | + |
| 59 | +* Many people like to know the destination before they begin the journey so |
| 60 | +don't skip the "Objectives" part of each session |
| 61 | +* The less advanced levels won't finish the entire curriculum so it's good to |
| 62 | +tell them that upfront and remind them they can come back next time or try the |
| 63 | +rest on their own |
| 64 | + |
| 65 | +# Pacing |
| 66 | +* Hint: almost all new teachers go <strong>too fast</strong> |
| 67 | +* Repeat, repeat, repeat |
| 68 | +* Stop a lot so that the slowest person can catch up to the fastest |
| 69 | +* If almost everyone is done, ask a TA to help any students who are stuck and |
| 70 | +move on |
| 71 | +* You can also use pauses while TAs are helping troubleshoot to ask questions |
| 72 | +or suggest things to try. |
| 73 | + |
| 74 | +# Ask Questions! |
| 75 | +* "What do you think will happen when I run this command?" |
| 76 | +* Give generous pauses (count to 10!) after asking questions |
| 77 | +* Don't be afraid to call on people by name |
| 78 | +* Simply asking "Does everyone understand?" or "Any questions?" tends to |
| 79 | +mask confusion. Be specific! |
| 80 | + |
| 81 | +# Whiteboards |
| 82 | +If you have whiteboards, take advantage of them. Ask a TA to write |
| 83 | +out new vocab there so it won't disappear as you move through slides. |
| 84 | + |
| 85 | +Many people are visual learners so diagrams can be very helpful too. |
| 86 | + |
| 87 | +# Breaks! |
| 88 | +* <strong>Don't forget about the breaks</strong>. It's easy to get into flow |
| 89 | +and forget. |
| 90 | +* Use a timer on your phone or ask one of the TAs to be a Timekeeper |
| 91 | +* Try to politely leave the room yourself. It can be easy to spend all the breaks |
| 92 | +answering questions. Teaching is a ton of work. Give yourself a break too! |
| 93 | + |
| 94 | +# Wrapping Up |
| 95 | + |
| 96 | +* Set aside 10-15 minutes at the end for questions |
| 97 | +* Hopefully you've got at least some students who are hooked by this whole |
| 98 | +world of coding and want to learn more so share your favorite resources |
| 99 | +* Ask the TAs and students to do the same |
| 100 | +* Many students use online tutorials and can recommend good ones |
| 101 | + |
| 102 | +## Final Words |
| 103 | + |
| 104 | +* Remind them how much they accomplished |
| 105 | +* Encourage students and volunteers to come to the after-party |
| 106 | +* Encourage everyone to come back again |
| 107 | +* Encourage them to stick around for the final presentation and retro |
| 108 | + |
| 109 | + |
| 110 | + |
| 111 | +# Prep |
| 112 | + |
| 113 | +The best prep is to read through the curriculum and do it yourself. |
| 114 | + |
| 115 | +# More Resources |
| 116 | + |
| 117 | +If you have time, you can read the full slide deck that this doc was adapted |
| 118 | +from, as well as these general links about teaching. |
| 119 | + |
| 120 | +* [Teacher & TA Training Slide Deck](more_teacher_training) |
0 commit comments