任何关于……谜题的编程的基础

哈布罗夫斯克居民,您好!

在这篇文章中我想谈谈我在技术大学学院担任 C++ 编程老师的经历。 这是一生一次的经历,教会了我很多东西。 当谈到您个人过去的有趣事实时,您首先想到的就是这段生活经历。
我们走吧

首先,介绍一下我自己。
2016年,我以优异的成绩从该学院毕业,获得了自动化系统信息安全学位。 在学习期间,我多次能够发挥自己在撰写科学文章、参加竞赛和资助方面的潜力。 2015年,我有机会成为全俄青年科学家竞赛“UMNIK”的获胜者。 2016年,在完成学业之前,他已经在该市的一家大型组织中担任“信息安全、密码学和加密专家”。
简而言之,就是这样的。 你可以想象我对编程还是有想法的。

现在是 2017 年。 研究生学习。 我被要求在一所大学教一个学期的 C++,为此我得到了丰厚的奖金来减轻研究生的负担,仅此而已。

说实话,我真的很想尝试一下这个信条。

第一对
九月。 开学第一周。 学生们来找我。 “最顽皮的团体”——这就是他们的名字。
23人。 “程序员”。

正如所料,我首先自我介绍。 我小心翼翼地告诉他们“首先,简单介绍一下我自己”这部分的内容……
然后可怕的事情开始了。 对于“你能做什么?”这个问题学生们(我们从现在起就这样称呼他们)回答说,他们可以做一点比什么都不做(嗯,这意味着他们中的一些人知道 MS VS 是什么样的,并且可以创建一个“Hello world”项目)。 ..程序员。 最后一门课程…

此外,他们“用颜色”详细解释说,他们没有学到任何东西,总的来说,他们对编程感到失望......

直到我下节课之前的每一天几乎都是这样的:
任何关于……谜题的编程的基础

......但前一天,这个想法出现了,要努力纠正这些年轻人的思想和意识中的现状。 然后“奥斯塔普就得意忘形了。”

编程简介
下一课我带来了……一个谜题。
是的是的。 谜。 “如何训练你的龙。” 规则很简单。 该小组被分为3队。 每个团队都组装了自己的部分。 有些是森林,有些是大地,有些是画面中央的龙。 当这对夫妇正在拼拼图时,我告诉他们 拼拼图也是编程程序员经常使用别人的代码,每个项目都有几个不同的团队、功能、模块......
渐渐地,最昏昏欲睡的学生也加入了这个过程。
当我将编程的想法融入到业务概念、流程和……难题中后,就到了建立培训规则的时候了。
每节课,每个学生都必须在笔记本上写下 10 个 IT 术语。 任何。 每个人都有自己的。 关键是我拿了一个学生的笔记本,在所有术语中找到了 最大限度地应用 并向另一名学生询问了他们的情况。 当另一个学生说“我没有写下那个术语”时,不会受到任何处罚(根据常识),但该学生必须写下“缺失”的术语(就像其他没有这些术语的人一样)并通过下一项找到它们的含义:职业。

这就是我们所做的。 每节课都以两到三个学生的愉快的随机性开始。 小伙子们对这个过程充满热情。

课程主题
在开始培训时,为学生提供好的文献非常重要。 在我看来,理想的书是:
任何关于……谜题的编程的基础

有一次我不得不抱着 Microsoft Visual Studio 偷偷地读它。 然后我几乎能够从头开始理解编程。 完美的选择。

你谦虚地走到学生面前说:“要成为程序员,你只需阅读并尝试这本书中的所有内容即可”,然后将书扔到桌子上。 最主要的是不要混淆背包里的书......

在每个话题之前,我当然要做好充分的准备。 我从互联网上阅读了相同的 Laforet 和其他几个有趣的资料。
解释几乎是从头开始。 而且,还要了解学生的基础知识演绎被切断在哪里。
数组 -> 使用内存(构造函数) -> 链接 -> 内存如何工作 -> 驱动器 -> 什么是物理驱动器 -> 数据的二进制表示形式...
任何关于……谜题的编程的基础

对编程基本事实知识的非常强大的碰撞测试。 我不再是程序员,我是历史学家!

就这样,几对夫妇连续发生了历史性的战斗。 有一天,部门的一位秘书走进我们的办公室,看到这群人,睁大了眼睛,看了一眼,然后关上了门。 后来我得知,她很惊讶这群人如此安静地坐着,如此专心地听我说话……嗯,很简单。

实验室工作
第一个应用的信息是第一个“实验室”。 本学期,该小组总共通过了 10 项实验室作业。 起初他们做了最简单的控制台 a + b,在后者中,他们编写了虽然基于控制台但非常有趣的应用程序,例如使用三种方法之一计算某些任意给定函数的积分值 - 与最终认证课程作业中的任务大致相同。

这只是接受方法 没有 很熟悉。 在研究所的整个学习过程中,我面临着这样一个事实:聪明和能够通过报告并不是一回事。 这根本不适合我。

- 伙计们,我在想。 让我们建立一种“概念”关系。 如果你们中有人认为自己不需要编程,门就在那边。 我免费教你。 我想在这里看到的只是好奇、有爱心、有爱心的爱好者。 “我请求其他人不要浪费大家的时间,”我在实验室工作的第一天说道。 此后,5人立即停止上课。 这是合乎逻辑且符合预期的。 可以尝试用其余部分做一些可以理解的事情。

- ...我对看别人做你的工作只是为了通过它不感兴趣。 你可能不是程序员,但你会是我班上的人 必须.

它看起来像这样:

case отличник

一个学生和我坐下来交作业。
——是你自己做的吗?
- 是的。
- 这是什么?
- *回答正确*。
*我还问了几点。 回答正确*
- 接受。 伟大的。

case болтун

——是你自己做的吗?
- 是的。
- 这是什么?
- *回答错误/没有回答*。
*我还问了几点。 相同的结果*
- 不接受。 失败的 我正在等待重考。

case хорошист

——是你自己做的吗?
- 是的。
- 这是什么?
- *回答正确,但不自信,游泳*。
*我还问了几点。 相同的结果*
- 接受。 美好的。

case ровныйТроечник

——是你自己做的吗?
- Нет。
- Почему?
- 难的。 他帮助了我... *诚实地命名了小组中的一名优秀学生*
- 你明白了吗?
- 是的,我几乎明白了一切。

- 这是什么?
- *回答正确*。
*我还问了几点。 回答或多或少正确,有时完全错误,即使正确与错误的比例是 50/50*
- 接受。 美好的。

描述所有其他情况是没有意义的。 是的,基于诚实,“好学生”可能会对“C”学生获得相同的分数感到不满。 那么一切就看心情了。 或者我让“好学生”看着地板,因为“现在我要丢下一点智慧”,然后我会告诉你这个方法的本质,描述生活中什么是更有价值的,并解释“C”的学生通过考试比他这个“好学生”要困难得多。”等等……
……或者,就像我的老师曾经做过的那样,我会在这个不满意的人对面的日记盒里画一颗小牙齿,下次我会亲自为他完成实验室工作。 只是。 以免“消灭”你的战友。

任何关于……谜题的编程的基础

Оценки
教育过程就像整个世界一样,实际上被价格标签和成绩淹没了。
学生也是人不过,在我看来,这里的“框架”也应该被“动摇”。
这学期,每个人都被分配了一项奖励任务。 为.....注册 github.com,在那里上传一个空的 C++ 项目,进行 2 次更新,提交并推送它们。 对于这些行动,分配了 15 个。是的,是的,不是 4,不是 5,而是 15。三个人解决了。 对于学生的心理类型来说,这在某种程度上是可以理解的,但还有另一种情况。
有一次我们夫妇被感动了,她是最后一个,而且还穿过几扇窗户。 然而,还是有15人前来。 我不想解释一个新的主题来纪念这种英雄主义,因为我们纯粹在主题上已经取得了很好的进展+下一个主题对于疲惫的大脑(我和学生的)来说并不是很简单。 然后我决定谈谈哲学。

——我宣布一项前所未有的慷慨的吸引力。 每个人都告诉我今天这双鞋应该给他打多少分。
每个人都想要一个“A”。
“考虑一下它已经在那里了,”我说。 大家都很高兴。
沉默。
- 为什么没人愿意? 7-ku 或 10-ku?
所有人都瞪大了眼睛,开始傻笑。
- 你会打赌吗? 去杂志社?! ——一个声音从前台传来。
- 是的,简单! - 我说, - 我要宣布一场闪电战,谁回答了我的 10 个问题 - 我敢打赌 20号 给杂志,没有任何问题,谁不回复谁就是那个 -10 (减十)。

“全队精神抖擞,辩论开始。”每个人都老老实实得了分。 两个人自愿的。 他们轮流提出了 10 个问题,内容涉及堆栈、队列、构造函数、析构函数、垃圾收集器、封装、多态性、哈希函数......
每一张都是在杂志上画的 20-KA……但是杂志和成绩的重要性落在了大家的眼里。 现在我很遗憾没有询问他们是否愿意与某人“分享”他们的评估。 在我看来,他们会分享……从现在起,每个人都用知识和诚实交出“实验室”。

从这一刻起,另一种类型的实验室交付出现了:


case честноНеЕгоНоОнПытался

——是你自己做的吗?
- Нет。
- Почему?
- 难的。 他帮助了我... *诚实地命名了小组中的一名优秀学生*
- 你明白了吗?
— 谢尔盖·尼古拉耶维奇,老实说,我什么都不懂,所以我在每一行旁边写了注释 — 好吧,那不是我的事,我会成为一名拖拉机司机
- 这是什么?
— *阅读该行对面的评论*。
- ......
- ......
— 白俄罗斯MTZ和Don 500、K700有什么区别?
- ??!... 第一种是明斯克制造的轮式拖拉机,常用于轻型和中型农业生产。 它还具有前面的小轮子和后面的大轮子。 Don 500 基本上是一台收割机,K-700 Kirovets 是一款苏联通用越野轮式拖拉机,牵引力等级为 5。
- 接受。 美好的 (!!!)。
- 谢谢你,谢尔盖·尼古拉耶维奇!

在我的家乡,谈论 TractorA 几乎就像在这里谈论 SOLID 一样。

天才
我的小组中有一位天才。 该学生第一节课就迟到了,没有和其他人一起完成拼图。 然后我让他做我下节课给大家安排的事情——在一张纸上给自己写下他感兴趣的事情,他感兴趣的事情。 根据结果​​,“天才”有2-3行:比如“我意识到存在是徒劳的”……

……天哪,我的组里有第二个老子和小岛一个人……
任何关于……谜题的编程的基础

令我惊讶的是,在前两节课中,他确实非常出色地回答了有关术语的问题,但效果并没有持续多久。 这位“天才”不再上课,下次来只是为了通过第一项实验室工作,他顺利完成了这项工作。 没有通过 由于客观原因。 然后,由于缺勤,他自然而然地积累了债务,正如他所认为的那样, 我只是不得不“以兄弟般的方式”来评价他.
夫妻不参加+心率增加违反了我上课的既定原则。 “天才”只有两种摆脱困境的方法:恢复自我(预期的路径)或放弃课程并希望院长办公室给出“C”以摆脱懒惰者。
嗯,这就是“天才”……你必须立即表现得“出色”。 这个年轻人找不到比在VK(我和这个小组中的所有学生都在)的一般对话中写下对我的愤怒的长篇大论和咒骂和侮辱更好的了。

嗯……失望。
最引人注目的是,在学院管理层的惩罚行动完成之前,他决定向我道歉。 为了什么? - 我真的不明白。 那时,我早已对批评保持独立,尤其是这种坦白说愚蠢的批评。 我的性格没有受到影响,但过程就是过程,作为一名老师我忍不住报告这一点。 事实证明,在他求学期间,针对他的投诉已经堆积如山,这起案件最终成为最后一起案件。 他被驱逐了。 从职业学校最后一年开始。
也许他已经通过狙击枪的视线观察我很久了,但说实话,我不在乎。
呃,天才,你真是无情啊……

结语
对我个人来说,教学经历是最有启发性的经历之一。 这帮助我巩固了在学院学习后的编程基础知识。 我对我选择的专业(可用专业的范围)充满信心。 特别重要的是,“最顽皮的群体”给了我尊重和友善——这是非常值得的。 我设法找到一种方法来培养他们内心的创新者,试图灌输现实,而不是这些刻板的优先事项。 遗憾的是,我们没有触及编码中的“难题”——每个人都必须编写一部分代码,通过将所有部分连接成一个,我们将得到一个大型的工作程序……
我希望有一天他们每个人都能感受到这一点……但现在,下面是几位学生两年后的评论截图。

任何关于……谜题的编程的基础

对于他们中的任何一个人来说,对程序员职业生涯的成功下结论还为时过早,因为现在这个群体中的大多数人都在大学学习。 时间会证明。

我希望这篇文章有用。 感谢您的关注!
同事们,创造性的成功和积极的情绪!

来源: habr.com

添加评论