通过教授别人,从中得到的回馈,你可以学到很多东西。

作者 | Stefano Troìa

译者 | 苏本如,责编 | 屠敏

头图 | CSDN 下载自东方 IC

出品 | CSDN(ID:CSDNnews)

以下为译文:

在从事了几年的开发工作之后,我想很多人可能都感受到了一种召唤,一种传递他们作为软件开发人员所学到的知识的召唤。

在努力掌握了某项特殊技能的同时,把你学到的知识传授给别人,让别人更容易学习,这是非常好的一种体验。

几个月前,我有机会教授一门Java课程。我很好奇。我认为我们中的许多人都和同事之间有过着某种形式的教学工作,比如说,解释我们的代码或讲解一个解决特定问题的方法。然而,这些和正式授课的教学工作相比,还是有很大的区别。

下面是是我从教学工作中学到的东西。

做好准备

教学就像去采访数十名观众一样,所以做好准备很重要。

你需要准备一组要讨论的主题,你要对这些主题有信心,并且要准备根据班级的动向来更改这些主题的顺序。

同样重要的是写出一个项目的需求,这个项目将由学生在这个课程中开发完成。写一份包含每节课需要完成的步骤的文档可能会有帮助。

要有耐心...非常有耐心

教书是一件很美妙的事,但不是每个人都适合。当我们教授一些东西的时候,我们必须记住我们的学生才刚刚开始他们的开发旅程,所以那些我们驾轻就熟的概念对于他们来说可能是很难理解的。

我记得我13岁的时候开始学习编程时,迭代和递归对于我们班级的同学来说是非常难理解的概念。它们很奇怪,因为它们与我们的非编程思维有很大的不同。

所以要有耐心,因为传递一个概念并让它100%被理解,需要花些时间。你需要重复很多次,并用不同的例子来解释,但是你的耐心终将得到回报。

让你的学生作为一个团队工作

在分配了实践练习之后,你将能够评测每一个学生的水平,并且你会发现有些学生会比其他学生更快地完成练习。

建立一个“学生团队”很重要,这样更好的学生将不得不帮助其他人,以建立强大的团队合作精神,并且理解(在将来)帮助一个有困难的同事有多么重要。

另一个原因是,当一个学生试图解释他们所学到的知识时,如果能够将这个概念解释清楚,他们就能够真正理解它。而且这会让你发现你的解释中不清楚的地方。

语言很重要

新手教师会注意到的主要问题是,为编程新手学生翻译我们的演讲非常困难。对于听我们讲课的其他人来说,会觉得很搞笑,因为我们一直都在使用技术术语。

当介绍一个技术术语时,用可理解的语言来解释它是很重要的。


谈谈你的实际经验

有时,在你的解释中,你可能会引入一些抽象的概念或遵循的最佳实践。为了使这些内容更容易理解,可能有必要强调这一点,遵循这些最佳实践的一些实际经验可以帮助你解决问题或避免一些错误。

谈论一个你完成的项目或你过去遇到的问题,可以在你的学生因缺乏清晰度而感到困惑之前吸引住他们的注意力。

结束语

教学是一种很好的体验,可以衡量你的技能,并且理解你不太清楚的事情。因此可以把它视为一个挑战。你不必什么都知道。如果你不能回答学生的问题,也没有什么大不了的。只要你做好准备,并在发现差距后立即填补即可。

原文:https://medium.com/better-programming/what-ive-learned-by-teaching-others-programming-ddeed8505c25

本文为 CSDN 翻译,转载请注明来源出处。



更多精彩推荐

☞中国开启开源新纪元!
☞港中文用 Zoom 考试,中途遭黑客入侵传播不可描述内容
☞360金融新任首席科学家:别指望AI Lab做成中台
☞AI图像智能修复老照片,效果惊艳到我了
☞程序员内功修炼系列:10 张图解谈 Linux 物理内存和虚拟内存
☞当 DeFi 遇上 Rollup,将擦出怎样的火花?
你点的每个“在看”,我都认真当成了喜欢
Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐