Skip to content

Commit ba77ce6

Browse files
committed
Work in progress 2016 teacher training
1 parent 75a7524 commit ba77ce6

File tree

2 files changed

+376
-0
lines changed

2 files changed

+376
-0
lines changed
Lines changed: 375 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,375 @@
1+
# RailsBridge Teacher and TA Training
2+
3+
# Why we are here?
4+
5+
* Get to know each other and RailsBridge
6+
* Know what will happen during a typical RailsBridge workshop
7+
* Be empowered as teachers and TAs
8+
9+
### RailsBridge Teacher and TA Training
10+
11+
# How is this going to happen?
12+
13+
* Introductions
14+
* Coverage of workshop logistics
15+
* Schedule
16+
* Student levels
17+
* Available curricula
18+
* Volunteer roles
19+
* Facilitated conversations about soft skills, teaching best practices and challenges, specifically for RailsBridge workshops.
20+
21+
# Introducing RailsBridge!
22+
23+
* Founded in 2009 as a variety of initiatives, including Rails Mentors, Rails Bug Smashes, and the Open Workshop Project.
24+
* The workshops project was led by Sarah Allen and Sarah Mei.
25+
* Bridge Foundry
26+
* Workshops not just Ruby on Rails, but also teaching Ruby, front-end and mobile development, Clojure, etc.
27+
28+
# Introducing RailsBridge!
29+
30+
### Current Level of Experience
31+
32+
* Have held super-welcoming, fun, free workshops all over the world, over 200 in total!
33+
34+
# Introducing RailsBridge!
35+
36+
### Goals for All Workshops Ever
37+
38+
* Make tech more diverse and welcoming!
39+
* Provide extremely welcoming and useful high quality instruction to students.
40+
* Provide hella networking opportunities for students and volunteers.
41+
* Provide an opportunity for our volunteers to give back while they are also gaining valuable skills and connections.
42+
* We throw super-welcoming, fun, free workshops.
43+
* We help our volunteers become more empathetic and better communicators.
44+
* Have fun!
45+
46+
# Introductions
47+
48+
* What is your name? What else would you like to share about yourself? Could be anything... work, hobbies, interests, education, favorite building or music, etc.
49+
* What is your current level of experience with the workshop topic and with teaching?
50+
* What would you like to get out of today's teacher training? Anything specific you want to learn or discuss?
51+
52+
# Typical RailsBridge Schedule
53+
54+
First, we get all the necessary technologies onto the students' computers aka the **Installfest**.
55+
56+
The next day we break into small groups and work through the curriculum.
57+
58+
# Installfest
59+
60+
#### Friday 6-10pm-ish
61+
62+
* Installfest: installing software over pizza & beer
63+
* No formal presentations, a bit like a party, get to know your students and fellow volunteers
64+
* Not necessary for Front-end workshops
65+
66+
### Keep in mind:
67+
68+
* There will be people with _all_ kinds of computers.
69+
* Even though Windows is not an ideal Rails development environment, we're here to encourage people and meet them wherever they are right now.
70+
* Do NOT say bad things about Windows, even if it's frustrating.
71+
* If you're not sure about something, grab another volunteer.
72+
* Do NOT just talk to other volunteers, interact with the students.
73+
74+
### Questions about the Installfest?
75+
76+
# Workshop
77+
78+
### Saturday 9-4:30pm-ish plus After-party
79+
80+
* 9-9:30am: Check-in, coffee, bagels
81+
* 9:30-10am: Opening presentation, student sorting and classroom assignment, volunteer huddle
82+
* 10am-12:30pm: Class!
83+
* 12:30-1:30pm: Lunch
84+
* 1:30pm-4:30pm: Class!
85+
* 4:30-5:00pm: Closing presentation and retros
86+
* 5:00pm-late: After-party
87+
88+
# Workshop - Start with Introductions!!!
89+
90+
* What is your name? Work, hobbies, interests, education, anything else you would like to share about yourself?
91+
* What is your current level of experience with writing code/technology in general/the material we are covering in the workshop today?
92+
* What would you like to get out of today's workshop? Anything specific you want to learn or discuss?
93+
94+
# Introductions - Things to Look For
95+
96+
* Make sure everyone participates, not just students.
97+
* Look for students who are in the wrong level and find out if they want to move.
98+
* Listen carefully to their goals so you can either realistically adjust them before class or meet them during class.
99+
* Don't rush, even if you have a big class. Getting people talking
100+
* If someone joins the class late, ask them to introduce themselves.
101+
* Get people talking. The more comfortable they are at talking, the more likely they'll speak up when they don't understand something, or to answer someone else's question.
102+
103+
# Workshop - Establish Ground Rules
104+
105+
* Questions are always welcome, there are no silly questions.
106+
* Explain that if someone has trouble (e.g., not getting the expected output), the TAs will help troubleshoot.
107+
* If anyone wants to switch classes, tell them they should feel TOTALLY COMFORTABLE switching at any point.
108+
109+
# Cover Classroom Logistics
110+
111+
* Planned breaks, lunch time
112+
* Remind students that there is a closing presentation and retrospective at the end
113+
* Make sure they know where the bathroom is
114+
* Encourage them to attend the after-party
115+
* Students might not want to take breaks, but it is best that they do.
116+
117+
# Student levels
118+
119+
**Blue** - Totally New to Programming
120+
121+
**Green** - Somewhat New to Programming
122+
123+
**Gold** - Some Rails Experience
124+
125+
**Orange** - Other Programming Experience
126+
127+
**Purple** - Ready for the Next Challenge
128+
129+
# Curricula
130+
131+
#### Where to find the curriculum: http://docs.railsbridge.org
132+
133+
### You need to read the curriculum through, beginning to end, before teaching or ta'ing it.
134+
135+
**Rails**
136+
137+
* Intro to Rails - Classic Suggestotron Curriculum - Blue/Green Levels
138+
139+
* Job Board - Build a Simple Job Board - Green/Gold levels
140+
141+
* Message Board - Orange/Purple Levels
142+
143+
**FrontEnd**
144+
145+
* Frontend Curriculum - HTML + CSS for beginners - Blue/Green levels
146+
147+
* JavaScript Snake Game - Beginner Specific Curriculum - Blue/Green level
148+
149+
* JavaScript To Do LIst - Gold/Orange Levels
150+
151+
* JavaScript To Do List With React - Orange/Purple Levels
152+
153+
#  
154+
155+
## Seriously! You need to read the curriculum through, beginning to end, before teaching or ta'ing it.
156+
157+
158+
159+
# What's a TA?
160+
161+
### First workshop? Be a TA!
162+
163+
* At RailsBridge, a TA is a volunteer who isn't leading the class.
164+
* If you're volunteering at your first RailsBridge workshop, you should probably be a TA.
165+
* Sometimes they are the technical experts (rather than the teacher), sometimes not.
166+
* TAs often explain specific concepts for the class or teach a couple of sections to give the teacher a break from talking.
167+
* TAs can ask questions to encourage students to speak up.
168+
* Teachers can ask your TA to explain a concept; they may be more technically advanced than you!
169+
* TAs can help people who get lost.
170+
* Co-teaching is also an option if you feel like you can tag-team. There doesn't have to be a hierarchy.
171+
* If someone falls behind, the TA can take them out of the room to do some 1-on-1, if there's another TA in the room.
172+
173+
174+
# RailsBridge Teacher Training - Soft Skills Edition
175+
176+
# How to make your class awesome
177+
178+
We've made three quasi-arbitrary categories of ways to make your class awesome:
179+
180+
##### We want our students to feel:
181+
182+
* Like you are approachable and can help solve their problems
183+
* Socially comfortable
184+
* Technically capable
185+
186+
#### Discussion is key! Don't let the presenter(s) do all the talking!
187+
188+
# Social Comfort - Establishing trust with students aka "Do you know what's up?"
189+
190+
#### Discussion points
191+
192+
* How can you help people feel like you know what's going on?
193+
* What are things you can do to help the students trust you?
194+
* What are some things to avoid?
195+
196+
197+
# Know What's Up: Ideas
198+
199+
#### Don't be afraid to:
200+
* Call on people! By name!
201+
* Correct people if they're wrong. Be polite and encouraging. For instance:
202+
* "Well, this might work better and this is why."
203+
* "Can you explain how you came to that conclusion?"
204+
* "Does anyone have a different answer?"
205+
* Ask yourself questions and answer them.
206+
* Be vulnerable yourself, discuss your learning process
207+
208+
# Know What's Up: Even More Ideas
209+
#### Pace yourself!
210+
* Don't go too fast. You will probably go too fast. Check in occasionally to ensure everyone is still with you.
211+
* You can say the same thing THREE TIMES and it will not be boring yet.
212+
* When you ask a question, wait TEN WHOLE SECONDS before saying anything else. People need time to think.
213+
* Don't let the most advanced students dictate the pacing or answer all the questions.
214+
* Get people talking. The more comfortable they are at talking, the more likely they'll speak up when they don't understand something, or to answer someone else's question.
215+
* Allow students time to write and play with code!
216+
217+
# Social Comfort - Absolutes
218+
* Try to be more aware of your (possible and understandable) culturally-influenced sexism so you don't express it during a class
219+
* Don't hit on people. No sexual advances. None. Even at the after-party.
220+
* DO NOT ask for student contact information. Feel free to share yours, in a non aggressive way, so students can take initiative to contact you.
221+
* Don't make sexist jokes. Or racist, classist, or ableist jokes. Call people out if they do. A simple "That's not funny" and moving on quickly with the conversation will often suffice.
222+
* Don't make gender-based generalizations ("Women are better at X, because ...")
223+
* Don't make references to people's bodies or state your opinion of them.
224+
* Don't use slurs.
225+
226+
# Social Comfort: Making the students more comfortable with learning process
227+
228+
#### Imagine:
229+
* You're trying to do something difficult
230+
* You're in a group of strangers, many of whom know how to do it better than you
231+
* You've tried before but got lost or bored or confused
232+
* You don't feel like you can articulate your thoughts and questions
233+
* You don't know the right names for anything
234+
235+
# Social Comfort: Comprehension
236+
237+
#### Discussion points
238+
239+
* How can you tell if they understand the words you're saying?
240+
* What are good questions to ask to check comprehension?
241+
* What did your favorite teachers do to gauge understanding?
242+
243+
# Student Comprehension: Some Ideas
244+
* Pay attention to body language.
245+
* People ask questions most often when they are actively processing material. If they aren't, it might be that the material is too easy or hard. Try to figure out which it is!
246+
247+
#### Calling on people
248+
* Calling on people makes the class more interactive and engaging, and less lecture-y.
249+
* Don't always ask questions to the whole class: call on individuals by name.
250+
* Consider breaking the class into two teams and addressing questions to teams.
251+
* Ask people what they expect a command to produce BEFORE you hit enter.
252+
* Ask "How would you do \#\{this\}?" or "If I wanted to do \#\{that\}, what would I do?"
253+
254+
255+
# Discussion: Technical Capability
256+
### How can you help people feel technically capable?
257+
### What kinds of insecurities might your student have?
258+
### How can you bolster their confidence?
259+
260+
# Technical Capability: Ideas
261+
#### Explain that:
262+
* Even professional developers are constantly learning new technologies, so being confused is normal.
263+
* Initial code is often terrible: don't feel bad, just refactor!
264+
* Mistakes == Learning!
265+
* Growth mindset versus fixed mindset
266+
267+
#### Dealing with technical concepts:
268+
* Define technical terms! Several times!
269+
* Assume anyone you're teaching has zero knowledge but infinite intelligence.
270+
* Remember people's professional and code backgrounds (QA, DBA, C++, Java, JS) and relate where possible. If they are a cook, try a cooking analogy.
271+
272+
# Technical Capability: More Ideas
273+
#### Encourage collaboration and interaction
274+
* Explicitly encourage students to try to answer each other's questions.
275+
* If a question is asked, ask if anyone in the class thinks they can explain.
276+
* Be especially encouraging of the first few questions, to try to get things rolling.
277+
* Good responses to questions: "I'm glad you asked!" or "I actually wondered that, too." or "Great question!"
278+
279+
#### Be Super Positive, Always
280+
* Students have diverse backgrounds. Appreciate this fact.
281+
* If they aren't getting a concept, avoid anything that might shame them.
282+
* Don't be surprised when someone hasn't heard of something before.
283+
* Don't grab anyone's keyboard. Avoid taking over unless you think it's *really* necessary. Ask before you do. "Mind if I drive for a sec?" But really, don't.
284+
285+
# Technical Capability: Even More Ideas
286+
#### Walk the Middle Path
287+
* Don't go too deep for your class level, but also, don't gloss over things.
288+
* When trying to be accurate, it's easy to go down a rabbit hole of specificity. Avoid.
289+
* Work with the TAs to make sure no one goes down that rabbit hole. Accountability!
290+
* Explain the big picture of a command *before* they type it in.
291+
* i.e., before typing the command to deploy to Heroku, explain the difference between localhost and Heroku.
292+
293+
294+
# Is RailsBridge Open Source?
295+
296+
### WHY YES, THANK YOU FOR ASKING!
297+
### RAILSBRIDGE IS VERY OPEN SOURCE!
298+
299+
All the materials you're using were created by volunteers, and are on GitHub for forking and editing and using!
300+
301+
If you see something that could be better, make a pull request. Pull requests are the lifeblood of RailsBridge.
302+
303+
If you don't know how to make one, we'll help!
304+
305+
#### Where to submit pull requests: https://github.com/railsbridge/docs
306+
307+
#### How to submit pull requests: http://railsbridge.github.io/bridge_troll/
308+
309+
We need your help! Thank you!!!
310+
311+
312+
313+
# Very Important, Very Practical Things
314+
#### Where to find the curriculum: http://docs.railsbridge.org
315+
316+
You need to read the curriculum through, beginning to end, before teaching it.
317+
318+
319+
320+
321+
# General curriculum levels - detailed
322+
323+
### **Blue** - Totally New to Programming
324+
325+
* Student has little or no experience with the terminal or a graphical IDE
326+
* Might be familiar with HTML or CSS, but not necessarily
327+
* Unfamiliar with terms like methids, arrays, lists, hashes, or dictionaries
328+
329+
### **Green** - Somewhat New to Programming
330+
331+
* May have used the terminal a little - to change directories for example
332+
* May have done an online programming tutorial or two
333+
* Does not have alot of experience with Rails
334+
335+
### **Gold** - Some Rails Experience
336+
337+
* Comfortable using terminal, but not a power user
338+
* Have general understanding of Rails app's strucutre, maybe a prior workshop or tutorial
339+
* Knows how to define a method in Ruby
340+
* Has decent handle on Ruby arrays and hashes
341+
342+
# General curriculum levels - detailed continued
343+
344+
### **Orange** - Other Programming Experience
345+
346+
* Proficient in another language and understand general programming concepts like collections and scope
347+
* New to Ruby on Rails
348+
* Familiar with version control and basic web architecture
349+
350+
### **Purple** - Ready for the Next Challenge
351+
352+
* Exhausted fun of Suggestotron/Intro Rails curriculum
353+
* Comfortable with terminal
354+
* Want to problem solve instead of copying other's code
355+
* Build an app without using scaffolds
356+
357+
# Curriculum levels for JavaScript
358+
359+
### **Blue** - No programming Experience
360+
361+
* Totally new to JavaScript itself
362+
* Made a webpage before, maybe at a RailsBridge Front End Workshop
363+
* No experience with programming languages other than HTML and CSS
364+
365+
### **Orange** - Programmer new to Javascript
366+
367+
* Comfortable making a complex webpage
368+
* Some experience in programming language like ActionScript, C, Java, Ruby or Python
369+
* Has seen JavaScript, but didn't really understand how it worked
370+
371+
### **Purple** - Some experience with JavaScript
372+
373+
* Feel comfortable writing functions and objects in JavaScript
374+
* Used jQuery before, has seen Ajax request, but doesn't understand all the moving parts
375+
* Interested in learning how to organize JavaScript code using models and views

sites/en/workshop/workshop.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
### Teacher Training
1010
* [Teacher Training Deck](more_teacher_training)
11+
* [Teacher Training Deck 2016](more_teacher_training_2016)
1112
* [Teacher Cheat Sheet](teacher_cheat_sheet) - A TL;DR version of the deck
1213
* [TA Cheat Sheet](ta_cheat_sheet) - A doc geared especially for first-time TAs
1314

0 commit comments

Comments
 (0)