您如何看待IT教育?

学生和老师彼此完全不同。 有些人想享受生活,而另一些人则不断地干涉这种生活。 他们每六个月强迫他们再次坐下,重新看课,几天不睡觉,静脉注射咖啡。

当然,人是不同的,而是刻板印象。 当我还是一个学生的时候,我从没想过我会开始教书,也没有想到我会去读研究生,也没有想象太多。 但是,每天在工作场所坐8个小时,然后回到家,推着沙发,太无聊了。 因此,所有生命都将花费在观看《权力的游戏》的下一季或在Dotka举行的聚会上。

我作为老师的经验很有限-仅2年。 但是在过去的两年中,我想分享一段有趣的经历。 文章篇幅很长,不耐烦地看了一眼,给出了反复试验得到的干燥残留物。

人们通常如何代表大学教授? 一个成年人,是一个认真的人,有着丰富的生活经验,其权威不可动摇。 在精确科学的老师中尤其如此。 但是最近的一个学生根本不符合这个描述。 但这并不意味着什么。 为什么不打破陈规定型观念,而是用凸起的眼睛看那些非常老练的老师的经历,按自己的方式行事? 拒绝学习最佳实践是一个愚蠢的想法,但是这些人中有一些值得学习的东西。 但是,新颖性还有另一个主要敌人-习惯。

编程不是垫子。 分析。 (帽在附近的某处)。 数学科学是一个更为成熟的领域。 大多数法律是已知的。 与编程相比,开放式问题要少得多。 编程是一个非常动态的领域,没有习惯的地方。 坚持某件事实在太多了,您就脱离了现实。

我很幸运,在第二年,当我们接受面向对象编程的培训时,我们的小组被分配给了一位年轻的老师。 他很积极,有原则,很完美,并且在编写代码方面很有能力。 他强迫我写代码,而不是仅仅接受能起作用的实验室,即使现在对此也不感到遗憾。

如果不是对他来说,我们所有人都将学到什么是“魔术常数”,为什么需要返回一个变量(而不是将一元运算符推送到那里),为什么不能在一段时间内编写大量的结构,如何使用UI在Java中,为什么在C ++中应使用常量指针传递所有内容。 通常,Internet上的大多数示例都是罕见的Bydcode,无法在生产中使用。 这是正常的,因为他就是一个例子,以便尽可能清楚地显示代码的工作而不会产生复杂性。

即使我们在1月30日至31日晚上整夜不睡觉并编写代码,而我们在31日去了实验室,这也使得我们的团队比其他团队领先得多。

这不是对教科书的原始复述,也不是对实验室书本的未经初始化的采用,而这正是您所需要的-有趣的是,困难的是,您了解了自己的投入。 您感觉开始增加类固醇的体重。

因此,成为一名老师后,我决定采用所有人的最佳做法,并加入自己的“技巧”。

羽毛测试


您上学后,他们告诉您忘记父母教给您的所有灾难,您上大学时他们对您说-忘记您在学校教过的一切,您上班后,他们对您说-忘记您在大学教过的一切。
让我们回想一下大学毕业后在工作中教给我们的东西。

这是我为自己做的清单:

  1. 吉特
  2. 吉拉\雷德明\特雷洛
  3. 代码审查
  4. 依赖注入
  5. 单元测试
  6. CI \ CD
  7. 使用数据库(我们被教导写查询,但不能在Java中使用它们)
  8. 数据库迁移
  9. ORM

但这是表面上的内容,如果您进行更深入的研究,列表将会扩大:

  1. 码头工人
  2. K8S
  3. 微服务架构

其中有些被告知,但有些则没有。 是的,我们被告知如何安排发布请求。 关于一些话题谈到了杰森。 在Java中,我们甚至使用了套接字。 但是一切都与实际任务脱节。 一个普通的学生会用他惯常的方法塞满这些东西,参加考试,然后忘记,然后再次回忆起他上班时的事。

可以说,学生自己应该受到指责。 但是我们可以说,程序员自己应该为错误负责。 通常,用鞭子殴打他们,让他们立即以正常方式进行。

但是,不,这是事实,这不是完美的,因此他们雇用了测试人员并强迫他们编写单元测试。 如果一个东西没有被根除,它只会适应它。

另一个要点是老师的热情。 许多人已经通过惯性来教导。 他们已经习惯了:每年都发生同样的事情。 但是学生感觉到了。 因此,如果没有这种动力,那么动机就会降到0分以下。 随着会议的临近,这个门槛开始增长。 遗憾的是,并非所有学生都能及时意识到自己所处情况的全部深度。

共有2个全球性问题:

  1. 动机问题
  2. 所提供知识的不相关/零散

我们将决定! 并非一切都按计划成功,但最终成功。

到达第一堂课后,我强迫所有人注册Bitbucket。 当时这是第一门课程。 该主题被称为“计算机科学”。 讲师本人说,我们可以谈论与这个词相呼应的一切。

主题是在* nix shell上运行小型实验室。 学生吐了很长时间使用git。 特别是控制台git。 但是在学期末,我觉得他们着了火。

我们在VK中创建了一个聊天室,在那里我转储了有关该主题的文章,回答了问题。 而且真的很方便。 不要重复100500次。 而且,如果一个人不愿意阅读,只需将邮件发送给他。

关于这个主题,我决定稍微谈谈CI \ CD,单元测试,代码审查。 很难,我不得不问一个问题1000次-您明白吗? 我必须以自己的观点为指导。 因为答案始终是“是”。 但是在眼里完全缺乏理解。

我坐在电脑前并且清楚地显示了一些东西的夫妻,进步了很多。 似乎正在编写一个小的PowerShell命令来关闭Chrome。 琐事,但是对于新生来说,它看起来就像魔术。 在这样的时刻,这些家伙开始感兴趣了。

讲师的另一个条件-有必要做演讲。 我个人不想在整个学期中都用一堆关于谁通过和谁没有通过的笔记来延长学习时间。

我有一个建议,使演示文稿的演示文稿集中。 我们选择每个人都方便的时间,我们在整个周六,周五都保留了办公室,我有披萨,蛋糕,茶,咖啡。 令人惊讶的是,我同意保留内阁的那个女人没有反对。 这种格式在伙计们中特别受欢迎。 每六个月花费2-3千美元可不是一笔大数目,这些家伙永远记得。

填充锥


在第一堂课结束后,这些家伙提示我设法组织自己并写一些玩具。 伙计们也有了这个主意。 但是不幸的是,实现不是。 为了实施该计划,选择了虚幻引擎。 这个论点很简单-它使用的语法非常接近C ++,并且由于这些家伙应该在下个学期学习它,因此,如果他们没有写任何有价值的东西,那么至少它会在下个学期有所帮助。

我提供了在线形式的C ++小型讲座,然后继续进行实现。 问题是我自己在.Net上进行开发,并且完全忘记了C ++。 我必须记住,这需要时间。 坦白说,也没有足够的时间来学习虚幻。 但是今年夏天,许多做出回应的家伙开始合并自己。 但是套路也让我感到困惑:父母在我的乡间别墅里进行维修,渴望享受暑假,换公司也正好是这个假期,一个假期。 总的来说,事实证明,我将所有精力都花在其他同样重要的事情上。 结果是一些微不足道的讲座,几行无效的代码,您根本不想戳魔杖。

影响和团队的分布。 所有功能在不同的时间可用,有人只是忽略消息,等等。 通常,为了激励互联网上的人们,您需要:首先,通过其他方式,其次,与分布式团队(我没有)相结合的经验,其次,要有更多的热情。 好吧,结果不足也是一个结果。 就我而言,我要感谢你们,你们很棒,但我已得出结论,将尽量避免重复错误。

尽管如此,计算机科学并不是我想做的主题。 讲师和教务处的职位非常忠诚,即使学生做了一些事情,他看起来也像一对夫妇。 通常,这是正确的;主题并非都同样重要。 重要性取决于专业。 认为言语文化对程序员和Mat一样重要很奇怪。 分析或面向对象。 或者强迫人文学科的学生通过物理实验室几天。 但是我想要一个更负责任的角色。

势头强劲


因此,有关OOP的课程已经开始。 与计算机科学一样,学生也向Bitbucket注册。 但是仍然有一些创新。

现在,这些人创建了Pull请求并收到了响应的代码注释。 是的,他们必须参加第一个实验两个月,直到它开始满足代码设计的最低要求

我们得到了Trello,对于每个任务,都有自己的董事会(其中有5个),任务的名称是学生的全名。 结果,结果很明显,现在,这些家伙对任务跟踪器和看板有了一个想法。

成对出现时,重点不仅放在如何编写课程上。 相反,关于如何使这样的体系结构易于扩展。 非常关注OOP原则,SOLID原则。 我不得不重复几次虚函数的原理。

在这对的开头-对先前主题的小测试。 我没有给出任何评分。 这是激励的必要条件。 毕竟,如果一个学生撇帐,他很可能会记住,理解并把它丢在脑后。 在这里,我本人不久前就在他们自己的位置,这让我受益匪浅,我记得这一切是如何进行的。 通常,5分钟是一件好事,对我来说,这更是一种动力,而不是一种控制方式。

在某个时候,我的知识开始用光了,有必要说些什么-感觉还有很多话要说。

好的,谷歌,有关于C ++面试的问题。 为Junior选择一个列表。 我们阅读了问题和答案。 瞧,抽了自己,抽了学生。

由于工作原因,错过了几双。 有必要还原它们,因为更改已继续进行。 同样的披萨接待营也来了。 我们同意,我们将选择一个坐下来的时间和地点,点菜,我们将跳过一整天从而恢复通行证,并且理论上讲,学生应该在他们交到的实验室中得到+1。 我帮了忙,回答了问题。

结果,事实并非如此,整天分配变得困难,他们花了2到0.5。 虽然我希望会有更多的驱动器,但也不错。 然而,它是1-2次,也不错。 毕竟,不是每个人都第一次就正确,对吗? 好的,另一个小经验。

一路走来,他让C ++中的Dependency Injection使得+1点的人处理了。 我必须说,有些想通了。 一般来说,学生做得很好。 两人甚至用GUI界面和良好的结构制作了非常酷的玩具。 甚至有人想出了Qt。 最后,我设法压缩了所有学生,使他们通过了考试所需的一切。 统计数据非常好。

一个新的学期开始了,它开始于一对夫妇。 讲师的首要任务是播种。 原始文件解析器,并以CSV格式输出。

他们来了,打开投影机,在膝盖上合力1.5个小时,他们提出了解决方案,其中仍然有一些需要收紧的地方,但总体来说框架已经准备好了。 我认为,学生应该了解它是如何工作的,如何推理的等等。 mitap格式是您所需要的。 这就是为什么新生学生如此感兴趣地观看控制台中下一个命令后浏览器如何关闭的原因。 这是清楚而有趣的。 对于我来说,这种格式值得开发。

总结一下


这仅是我的观点,可能不正确,但学生们喜欢它:

  1. 我们使用Git并将其与分支,拉取请求等配合使用。
  2. 创建Trello并在那里跟踪任务。 我们教学生在CR中移动任务,否则将不会对其进行监视。
  3. 我们花了5分钟,他们激励学生记住他们不知道的东西。 每个人的想法都不尽如人意,但有些人甚至感到痛苦,但最好在学期中习惯一下。
  4. 准备问题==初级职位面试的问题
  5. 我们让您处理依赖注入,单元测试和现代开发的其他现实情况
  6. 我们成对进行mitaps。 在研讨会之后,让学生重复一遍,在画出杰作之前,艺术家必须画出别人画过数百遍的作品。
  7. 我们安排迷你黑客马拉松,买些比萨饼/果汁,并教学生度过美好时光
  8. 通常,我们会尽一切努力去做生活。

像这样的事情,我想象在开发方面进行培训。 你觉得呢 随时欢迎新想法,让我们做得更好!

Source: https://habr.com/ru/post/zh-CN441460/


All Articles