What I’ve Learned in a Year and a Half of Teaching

A year and a half ago I gave my first class at Netology. Since then, I’ve lectured, checked homework, mentored thesis projects, and even been a student myself in one of the courses. During that time, I’ve been able to realize some things about the learning process that I’ve decided to share.

Be Careful with New Concepts

If you are explaining unfamiliar terms to newcomers, you should do so with terms they already know. Following this rule is harder than it looks.

When moving from development to teaching, a lot seems obvious. Margins are collapsing, floats need to be cleared, body has default margins. Developers get so used to it that they stop noticing.

But once you start explaining it to other people, they’ll justifiably have a bunch of questions. What are the “margins”, what do you mean by “collapsing”, how do you “clear floats”, what are they for, where do the “margins” come from, why are they there?

To explain these subtleties, you have to use concepts you already know. Because otherwise, not only will you not explain what you wanted, but you’ll take away interest in the topic. No one wants to understand incomprehensible stuff, at least not too incomprehensible stuff.

This is why an explanation of a new term should:

  • consist of already known concepts;
  • be consistent, from the whole to the particular or vice versa.

Avoid Confusing Similarities

If the term has synonyms (float ⇔ floating element), you should explain this at the start.

You can also explain why these terms are interchangeable. (The “float” term comes from floating, and such an element is “floated around” by the text.)

Nevertheless, I try to use one term as I explain it, even if I spell out the synonyms at the beginning. Just so the student doesn’t have to relate the new concept with too many words.

Automate Everything You Can

I spent most of my time reviewing homeworks. In them, it is important not only to tell what is wrong and why another solution would have been better, but also to understand why the student made that particular mistake.

Part of the mistakes are misconceptions that arise when you dive into a topic. For such mistakes it is worth preparing in advance a detailed explanation of why a mistake is a mistake, and how the problem could have been solved more correctly.

Atypical mistakes are more rare. They are especially important because they seem to question the rationality of the technology. They must be answered even more completely.

It is difficult to explain complicated things correctly when you are tired. Precisely not to get tired of answers to typical errors, it is better to prepare an extended answer to them in advance.

Explain with Examples

Examples are easier to understand. I have tried explaining both abstractly and with examples—examples are better.

Abstraction is a resource-intensive thing. Even to visualize something already familiar requires attention and focus. It will take more resources to introduce some new concept.

Examples will save students attention and energy. In addition, they link the new concept more strongly to some process or image. And perhaps this way students will remember better what you were talking about.

Take Breaks During Class

During the class it is worth taking short breaks.

I don’t always manage to remember about them in time because there is a time limit on the lecture. Sometimes I just forget about breaks. But lately I try to take breaks more often and ask what questions students have.

For the students, a break gives them time to rest and regain their attention. For you, it gives time to catch your breath.

Encourage Feedback

Asking questions is scary and awkward. But questions should be encouraged and stimulated. Often before answering a question, I say that the question is good, logical, or right. I don’t know how much this reduces the fear of asking questions, I hope it helps.

If the question is vague and you don’t know how to answer, just clarify what was meant. And if in doubt about something, feel free to google it during class. That’s what I say: “I’m not sure, let’s google it right now.”

Drink Water During Class

It is difficult for me to speak for a long time, especially if I have to watch my timing and say the words quickly and loudly. That’s why I sometimes distract myself with a sip of water during a lecture. My voice doesn’t go down by the end, and it also helps to take a forced break.

You can also drink water if you feel like you’re anxious. It works like a micro timeout: while you’re drinking water, you can catch your breath, formulate a thought, and continue.

Limit Homework Review Time

Any work should be limited and broken up into chunks. If you spend two hours in a row reviewing homework, you will feel more tired by the end of it than if you alternate your reviews with tasks on other projects.

The thing about monotony is that you have to get rid of it. Alternate topics, shuffle tasks, and change the type of activity. In short, do everything so that you don’t get bored with the review. Otherwise, you won’t be able to answer freshly, and you’ll just miss a question worth giving a more detailed answer to, or a mistake in the solution.

Gain Benefit

Teaching teaches you to express your thoughts more accurately and to think about aspects of development that you wouldn’t have thought about before. It’s almost like learning to code all over again.

If you can do mentoring, try it. You’ll get a deeper understanding of what you know, learn to explain complex concepts, and be able to help someone else figure things out that are new to them.