Preparation
Motivational video
Watch this 10 minute motivation video that goes over some of the major things we need to think about when preparing to teach.
You can also read the transcript below if you want (but note that CATS, CodeRefinery’s unofficial mascot, makes an appearance in the video).
Transcript
Hi, I was about to play a board game with some friends here, and it reminded me of how similar I see the process of teaching board games to teaching computer technology, like we do in CodeRefinery. So I thought I would make a quick introduction to our instructor training by talking about board games.
So when teaching a board game, the first thing is I want to make sure I know the game well enough to teach it. And that’s different than knowing the game very well. When teaching, you need to know it well enough to know what is not important to teach and what you need to focus on. So the game that a new player is playing is very different than the game that an experienced player is teaching. And it requires a lot of skill and preparation to know this.
Next up, I’ll make sure the setup is good. So I’ll try to set it up before I expect everyone to be sitting down and watching everything I’m doing, because that’s just taking their time and attention.
Next up when teaching, the first thing I want to make sure I get clear is the theme of the game. So that means within the game, who are we as characters in the game? What are we trying to do and why? It’s very easy to get started and talk about all the little mechanics of how things move and how to accumulate points and so on without understanding what the purpose is. Like, where’s the fun in here what’s um what are we trying to accomplish in the game? Without knowing this kind of thing it’s hard to really have engagement and for the computer technology teaching, the same goes there. It’s very often that people teach the mechanics of what to do without giving the big picture of why, and this is quite a big problem.
So next up I’ll try to do as much teaching as possible while we’re actually doing things. We’ll get to this a little bit later, but the teaching will continue even after we’ve started the game. I’ll try to get the game started as soon as possible. People can investigate things, fiddle around with it while the teaching’s going on. I’ll try to be moving it while I’m teaching, and so on. So for the technology thing, this clearly has good examples that people can work on at the same time. When teaching the computer stuff, it’s important to give them time to do their own things and not overload them with what you’re saying.
Next up, and this is a tricky one, there should be one teacher. So as you may know from our CodeRefinery teaching, we always have multiple teachers. But there should be one person whose responsibility it is to make sure that the time is being kept and the lessons progressing and people are learning what they need. And then co-instructors support them. So for example when teaching the game I might be explaining what’s going on and I’ll get someone else that knows to be moving the things and pointing to stuff as I am doing the teaching. So in CodeRefinery this doesn’t mean there’s the main teacher and the second teacher. Oftentimes they’re equal, but they agree to hand off different parts of the lesson. So that way there’s a different primary teacher at different times. This is important to discuss in advance. When there’s multiple teachers or when there’s one teacher and other people that know the game, it’s really important that there’s not other people that are interrupting the flow, bringing and saying, oh, don’t forget this, don’t forget, don’t forget that, and so on. Because maybe that’s planned to come later on where it’s more natural or maybe I’ve decided that this shouldn’t be taught at all for the first game, because of just making things more complex. So this is something that needs to be discussed with the co-teachers and make sure that you have the overall plan set up. Like I said, it’s not the primary teacher and secondary but it’s two people working together to make a course, and the flow control is by one person at a time.
Okay next stop. Make it easier. As I said at the beginning you should know the game enough to know how to make it easier so the things that don’t really matter for the first game aren’t [taught]. I might just not even teach or I might begin the game a few rounds ago and then I start introducing these things or introduce them in a second game or so on. So this is to make it the game that the learners will play and not the game that I would play. There’s other ways to do this. So for example, the first game may essentially be cooperative where we’re all helping each other. We’re playing with open hands and so on. And then we’re all giving advice for each person when it’s their turn. When I’m making my moves, I’ll take time to explain what my long-term strategy is, even if I wouldn’t do that during a normal game. Speaking of strategy, I’ll often try to explain the broad strategy at the beginning. So basically, for example, try to create paths across the whole game board at the beginning, and so on. I’ll try to not get really involved in the micro strategy of how to optimize each individual turn and so on because that just takes a lot of time. So as it goes, broad strategy and then focus on the small scale movements and technical details and things like that, but not small-scale strategy.
Okay, next up, when teaching, I’ll always make sure experienced people go first. I never expect someone to make a move or do something until they’ve seen someone else do it first. So I’ll arrange the game so that the experienced players sit first in turn order, and then come the learners so that way by the time it’s any learner’s turn they’ve seen a few complete rounds and have heard the people explain what they’re doing and why. That lets us get started as soon as possible.
Next up I’ll be very careful about jargon. The players know these are markers and these are wooden sticks and so on, but they don’t know intuitively in the game that these are tracks and these are stations. So I’ll try to make sure that I explain something that makes sense to them and then throw in the jargon at the same time so that way they can connect the real world piece to the in-game concept.
Okay, then when teaching, and this doesn’t really apply to board games that much, but I’ll try to at least do one run through [of the teaching] myself. So I don’t need to do extensive preparations, but I want to make sure that I understand the general flow of what’s going on and I’ve at at least typed it out [the examples] some before and given demo. So I’ll especially focus on the first five minutes and the last five minutes of the lesson, because the first five minutes is this theme, who we are, what we’re doing, and why it matters. And that’s often missing from the technology teaching. So [the learner] learns about what it is but [they] don’t really understand why [they are] learning it, and that’s a big problem. And then at the end, I’ll […] really try to rehearse the explaining of, okay, what we just learned and what comes next, and what you would do in your future games and so on, and how it gets more interesting. And if something is not perfect in the middle of the teaching, well, that’s just a learning experience so you can explain: “oh yeah I did something wrong, and here’s why it’s wrong, and here’s how I recovered from it”. Perhaps more relevant for the technology teaching but possibly for board games also.
And then finally the teaching isn’t just when the lesson is ongoing. There’ll be the lesson at the beginning and we start playing the game but the mentoring is part of the teaching and that goes on throughout the entire first game and possibly future games. This is why in CodeRefinery we have such an emphasis on things like local breakout rooms or local helpers, if we can find them. Because any kind of course can just be an introduction and it’s the working with people together over a longer time that really helps people to learn well and apply it in practice.
So with that being said, I hope that this has given you some insights and we’ll see you in a CodeRefinery instructor training sometime and we will get to our game now. So thanks a lot. Bye.
(try to watch/read before reading more)
Teaching online in CodeRefinery is something really unique. The basic lesson and teaching style is a lot like you might expect from Carpentries or other practical teaching, but our online teaching really is different. This video doesn’t go into online teaching, but it’ll come.
Some extra points not emphasized enough in the video:
Adopting the learning perspective can sometimes be the hardest part. We spent a lot of time designing our lessons to do this, and it takes many revisions (and times change and it needs to be updated).
We’d like to re-emphasize the “tell the broad theme” part. People are smart and can read more later, if they know why they should.
Co-teaching can’t be emphasized enough. We always do this, and teachers work together to plan, even if one is still learning. Still, it should be clear who is doing the flow control at any given time.
The “always show a demo first” is different from academic courses. Most of our audience want to figure out a tool to use right away, not get more mental work.
Mistakes are OK! You have a co-instructor to help you figure out and you get to teach debugging and not being afraid of errors.