今日推荐英文原文：《What I’ve Learned by Teaching Others Programming》
今日推荐英文原文：《What I’ve Learned by Teaching Others Programming》作者：Stefano Troìa
What I’ve Learned by Teaching Others Programming
You learn a lot by giving backAfter several years of working in development, I think many feel a call, a need to transmit what they’ve learned during their time as a software developer.
With your struggles to master a particular skill in mind, it’s awesome to transmit your knowledge and make things easier to learn for others.
Some months ago, I had the opportunity to teach a Java course. I was very curious. I think many of us are engaged in some form of teaching with colleagues, explaining our code or our approach to solving a particular problem. However, there is a big difference between that and formally teaching students.
Here’s What I’ve Learned
1. Be preparedTeaching is like going to an interview with dozens of spectators, so it’s important to be prepared.
You need to define a set of arguments to explain, be confident in this argument, and be prepared to switch the order of arguments according to the trend of your class.
It’s also important to write the requirements of a project that will be developed by the students during the course. It may be helpful to write a document containing all the steps to develop for each lesson.
2. Be patient… very patientTeaching is beautiful, but it is not for everyone. When we teach something, we have to remember that our students are at the beginning of their journey, so many concepts that are a given for us could be very difficult to understand for them.
I remember when I was 13 and I started studying programming, iteration and recursion were hard topics to understand for my class. It was strange because they are so different compared to our non-programming-minds.
So be patient because it takes time to transmit a concept and make it 100% understood. You’ll have to repeat yourself many times and use different examples to explain, but your patience will be rewarded.
3. Make your students work as a teamAfter assigned practical exercises, you will be able to measure the level of any student and you will notice that some students will finish the exercises sooner than others.
It’s important to build a “student team” so the better students will have to help the others in order to create strong teamwork and understand how important it is to help a colleague who is in trouble.
The other reason is that when a student tries to explain what they learned, they will be able to truly understand if the concept is clear. This will allow you to discover things that weren’t clear in your explanation.
4. Language is fundamentalThe main thing a novice teacher will notice is how difficult it is to translate our speech for novice programming students. It’s hilarious for other people listening to our speech because we use technical terms all the time.
When introducing a technical term, it’s important to explain it with understandable worlds.
5. Talk about your on-field experiencesSometimes in your explanations, you may introduce abstract concepts or best practices to follow. To make these more understandable, it may be worth mentioning real-life experiences where following this best practice helped you solve the problem or avoid some bugs.
Talking about a project you have done or issues you have faced in the past will conquer your students’ attention before they get confused by a lack of clarity.
ConclusionTeaching is a good experience to measure your skills and understand things that weren’t so clear to you. So see it as a challenge. You don’t have to know everything. It’s OK if you can’t answer a student’s question. Just try to be prepared and fill the gaps as soon as you find them.
Thanks for reading!