|
| 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 |
0 commit comments