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