Codeday Seattle / Studentrnd

You Suck at It: Teaching

Tyler Menezes
You Suck at It
9 min readApr 2, 2013

--

One of the best tech classes I’ve been to - the one for which the image from this article comes from - was an XNA workshop taught as a Q&A section. If you’re given ample time to prepare (which they weren’t), Q&A is actually one of the worse ways you might run a class.

Still, Q&A sessions are immeasurably better than how it usually goes. Someone stands up in front of the room, perhaps with a slide deck. If I’m lucky, he might have made the slides simple and sparse. Luckier still, perhaps she flips over to write some code as an example.

Sheila Tobias, in her book They’re Not Dumb, They’re Different, recounts an experiment in which a philosophy student, Eric, sat in on a physics class and made notes, not on the information presented, but on the way it was presented and how the students reacted:

The class consisted basically of problem solving and not of any interesting or inspiring exchange of ideas.

The professor spent the first 15 minutes defining terms and apparently that was all the new information we were going to get on kinematics. Then he spent 50 minutes doing problems from Chapter 1. He was not particularly good at explaining why he did what he did to solve the problems, nor did he have any real patience for people who wanted explanations.

This is a terrible way to learn. How have we forgotten so quickly what it was like to be students?

Teaching Doesn’t Imply Learning

All of us had at least one bad instructor - someone who made understanding the material and getting good marks a constant struggle. What made that person a bad teacher? For a few of them, it was something simple like an incomprehensible accent.

For most bad instructors, the difficulty in comprehension was because they taught their classes in the same way as most of us: with poor planning.

Much like a magician or puppeteer, a good teacher draws the focus to their content, and away from the subtle, well-planned movements with which they create it. Good teachers make teaching seem effortless, which is perhaps why there are so many bad teachers. The movements are remarkably difficult to notice, particularly if you weren’t looking for them to begin with, and are even more difficult to replicate.

Teaching a class requires a lot of work, but the magnitude of improvement is worth every minute. Here’s how to make your classes not suck.

The Best Laid Plans

One of the best techniques for planning a class is backward design. Start with the learning outcomes - the goals of the class or course. Now, with those goals in mind, what do you do in class to meet them?

Lesson plans are an excellent way of organizing these thoughts. Growing up, I always assumed lesson plans were some relic of the past, maintained for bureaucratic reasons. Their usefulness was one of the things which surprised me most when I got into teaching.

Like most subjects with available college degrees, the field of teaching is mostly just about techniques for looking at a problem, and lesson plans are a remarkably useful technique for, well, planning out your lesson.

What does a lesson plan look like? Start with a list of objectives:

At the end of the class, students will be able to…

Forcing yourself to list out the objectives for your lesson will make the next steps easier. In a school environment, these objectives would fit into a larger set of course objectives (think syllabus), but this sort of design is outside of the scope of this article.

Objectives of the course should be transferable ideas with names. Transferable because, as I’ll discuss below, your goal is to prepare students for a set of tasks, and the goals should all be directly applicable. Names can be useful as a filter, but more importantly, can be put at the forefront of the class to allow students to organize their thoughts effectively.

Besides tracking objectives, your lesson plan should keep track of the actual minute-by-minute contents of the class. You can keep these notes in whatever format you find comfortable, the only purpose is to help remind you what you should be saying, and help you determine if you’re keeping on-schedule.

Keeping track of time is particularly important when you start building interaction into your lessons,as it’s impossible to practice.

Designing for Transfer

What is the goal of a teacher? Judging by many of the classes I’ve seen, it seems that many people would believe the goal is to convey as much information as possible, but that’s certainly not the case. The goal of a teacher is to prepare the students for some task, or set of tasks.

Making this distinction is quite important. If the goal of a class is to prepare people for work, presenting all possible information is sure to fail in most cases. Students are almost never engaged with rote learning, and this is especially true for a technical crowd.

Meaning and learning are constructed by the student. Simply providing the content will never be an effective way of teaching, because it will remain “content” until given an opportunity for deeper understanding.

The job of a teacher is not only to present information, but facilitate understanding. The difficulty of teaching is mostly in the latter.

Facilitating Learning, Creating Interaction

Most of promoting learning in teaching is centered around a few activities which activate different parts of the brain. You’ll probably remember these from school.

Promoting Questions and Discussion

Questions and discussion are focused on the left side of the brain. Discussion is one of the easiest ways to create learning. Simply going through your lesson plan, circle important points, then see which ones you can make into a question.

Small-group discussions are excellent, because they allow students to ask questions they’d be uncomfortable posing to the entire class, and when students disagree, the exercise of lobbying for their answer aids in comprehension.

Discussions can be problematic for shy or introverted students. A good solution is to stage a progression in the discussion: first allow time to think individually, then break the class into small groups, and finally have the class discuss as a whole. This allows introverts to become comfortable with their answer before sharing, but also helps people who think better by talking aloud, in addition to the other benefits discussed above.

In addition to posing questions for small-group discussion, you can pose a question to the entire class and take a poll. This is an easy way to take account of where the class stands and skip over well-understood topics. Additionally, it creates tension, and forcing people to make a public commitment gives them a vested interest in the answer, raising the attention levels for a time.

Stories, Humor, and Visual Examples

Stories, humor, and visual examples are focused on the right side of the brain.

Stories make the teacher seem more human and relatable and generally raise the energy level of the class. They can also create tension, which leaves the audience excited to hear what happens.

Humor, used sparingly, can dramatically raise engagement with the class. Gary Bernhardt provides an excellent, if over-the-top, example of using humor to explain various deficiencies in programming languages. Humor should often be used much more sparingly.

Visual examples are one of the most powerful tools, particularly in hard sciences. Showing is always more convincing than telling, and it helps students connect what you’re saying with the real-world.

In physics, a visual example might take the form of a Newton’s Cradle to show forces; in computer science, it might mean showing network requests when using a website to show AJAX.

Hands-on Learning

Hands-on learning is one of the best ways to increase learning, but it is by far the most time-consuming approach, both in preparation and in class-time. Additionally, students usually need some guidance for these sort of activities, meaning the larger your class is, the less practical this approach is.

Examples

Examples are very powerful, but when using examples, it’s easy for things to go wrong. You have the idea in your head, but students don’t. As such, students often see a sort of meld of idea and example, which is hard to separate.

The solution for this is more examples, carefully chosen so that the only intersection is the actual idea being presented.

Other Requirements for Learning

Of course, there are other requirements for learning. Most obviously, you need to build some amount of credibility with the audience for them to believe you. In particular, in settings with low barriers to entry, factors such as age and appearance may not provide you with the appropriate level of credibility, and it may be worth discussing your qualifications.

If you’re presenting at a technical conference, this will rarely be an issue, because being invited to speak automatically gives you qualifications. In this case, you should avoid talking about your qualifications, as the audience isn’t likely to be interested.

In general, you should act confident while you’re presenting.

Additionally, students need to feel somewhat safe in order to participate in interactive learning.

Cutting Content

To create functional classes, we have to cut content, and focus on making the content we present more engaging. This means giving careful consideration to what needs to be told, and what students will be able to figure out on their own.

Luckily, technical people are good at solving their own problems given some small amount of base knowledge. (This is less true for introductory courses, so make sure to emphasize its importance if that’s your audience.)

How do you decide what content to present, and what to cut? This is, of course, more art than science, but the most useful way to decide is to approach the problem as a student. What would you need to understand, and what could you search for later?

Misconceptions

This section is most relevant to hard sciences, where everyday observations may not match up to theoretical concepts. In physics, for example, drag provides a force opposite motion which causes objects to decelerate. This leads many to the impression that things require constant force to move.

One of the biggest problems with these sort of misconceptions is that they can’t easily be dispelled. Even if the class believes you on an intellectual level, these assumptions often remain at a subconscious level and will creep into later problems.

Once you’ve identified misconceptions, it’s important to challenge them as often as possible.

Slideshows

Don’t use a slideshow if you can avoid it. I alluded to some of the arguments against slideshows in The Case Against Activboard.

Slideshows tend to encourage students to copy down information as quickly as possible because it all disappears at the same time. Obviously this property is actually very useful for hands-on coding workshops.

The best use of a presentation, if you do choose to use one, is to give the audience an overview of what you’re talking about. It sounds silly, but it’s often very useful to remind the audience of roughly where in your talk you are.

Whiteboards

Whiteboards are a much better tool for teaching, although their visibility decreases dramatically with larger classes (this is less true for chalkboards, if you can manage to find one of those) , and their availability is very specific to the venue.

I like to plan out how I use whiteboards in my notes, but I assume full-time teachers would get better at this over time.

Footnotes

I’ve done quite a bit of research into formal learning, and have taught many classes and workshops at StudentRND. I’m even working on some papers on Informal Stem Learning related to CodeDay. I also teach many workshops on how to use Framebase at events we sponsor. Nonetheless, I’m not the most qualified person to talk on this subject. There don’t seem to be many other resources available, so I’m doing it anyway.

Thanks to Tess Rinearson, Kevin Beason, Zaq Wiedmann, Trina Gilday, and Bryan Rowley for reviewing drafts of this post.

--

--

Tyler Menezes
You Suck at It

Inspiring students in 50 cities worldwide to give coding a try @ CodeDay. YC Alum (S12).