我如何参观传说中的 42 所学校:“泳池”、猫和互联网而不是老师。 第2部分

我如何参观传说中的 42 所学校:“泳池”、猫和互联网而不是老师。 第2部分

В 最后发表 我开始讲一个关于42学校的故事,该学校以其革命性的教育制度而闻名:那里没有老师,学生互相检查作业,而且不需要支付学费。 在这篇文章中,我将更详细地告诉您有关培训系统以及学生完成哪些任务的信息。

没有老师,有互联网和朋友。 学校的教育基于联合项目工作的原则——同伴学习。 学生不学习任何教科书,也不听课。 学校组织者相信一切都可以在互联网上找到,可以向朋友或与你一起从事项目的更有经验的学生询问。

完成的作业会被其他学生检查3-4次,因此每个人都可以既是学生又是导师。 也没有分数——你只需要正确、完整地完成任务即可。 即使完成了90%,也算失败。

没有评分,只有积分。 要提交项目供审核,您必须拥有一定数量的积分——修正点。 通过检查其他学生的作业来获得分数。 这是一个额外的成长因素 - 因为你必须了解各种任务,有时超出你的知识水平。

“有些项目是真实的空间,它们会让你大吃一惊。 然后,为了获得一个修正点,你必须整天流汗,理解代码。 有一天我很幸运,一天之内获得了多达4个积分,这是难得的幸运。”,我的朋友、学生谢尔盖说。

坐在角落里是不行的。 项目可以单独完成,也可以成对完成,也可以以更大的小组形式完成。 他们始终受到人身保护,重要的是小组的所有成员都积极参与,并且每个人都理解代码并且积极性很高。 在这里不可能保持沉默并袖手旁观。 因此,学校提高了团队合作和成功沟通的技能。 此外,所有学生都可以相互了解和交流,这对于建立人际网络和未来的职业生涯非常有用。

游戏化。 就像在电脑游戏中一样,学生们可以使用神圣图表(Holy Graph)升级并跟踪他们的进度——一张“神圣”地图,清楚地显示他们已经通过的整个路径和前面的路径。 与角色扮演游戏一样,项目会奖励“经验”,积累一定数量后,就会过渡到新的级别。 与真实游戏的相似之处在于,每个新关卡都比上一个关卡更加困难,任务也越来越多。

我如何参观传说中的 42 所学校:“泳池”、猫和互联网而不是老师。 第2部分

玻璃和Adm。 学校有两个主要部门 - Bokal(技术人员)和 Adm(行政)。 Bokal 处理技术问题和教学部分,而 Adm 处理行政和组织问题。 Bokala/Adm 的人才储备由在学校实习的学生自己补充。

这里教授的方式和内容

一切都以“S”开头。 在学校,他们只使用 Unix,认为 Windows 不是最佳选择。 代码从最基础的知识开始教授,迫使您理解编程的逻辑。 所有项目的前几个级别仅以 C 和 C++ 语言执行,不使用 IDE。 学生使用 gcc 编译器和 vim 文本编辑器。

“在其他课程中,他们会给你函数,要求你做一个项目,然后才解释它们是如何编程的。 在这里,除非您自己编写该函数,否则您无法使用该函数。 起初,当还在“池”中时,我不明白为什么我需要这个 malloc,为什么我需要自己分配内存,为什么我没有学习 Python 和 Javascript。 然后你突然明白了,你开始理解计算机是如何思考的。”

规范。 保护成功后,所有项目都会上传到本地相当于GitHub。 但在此之前,必须使用 Norminette 程序对它们进行检查,以确保代码符合学校规则。

“如果代码运行完美,但存在内存泄漏,那么该项目就被认为是失败的。 他们还检查语法。 我们有一个禁止的函数、属性、标志的列表,使用它们被视为作弊。 你必须亲手做所有事情,并且非常小心。”,谢尔盖说。

我如何参观传说中的 42 所学校:“泳池”、猫和互联网而不是老师。 第2部分

任务示例

学生执行的所有任务都通过三种方式进行检查:通过编程、根据其他学生和 Glass 代表的检查表。 以下是一些带有清单的 DIY 项目:

Init(系统和网络管理) — 您需要在虚拟机上安装Debian操作系统,并根据任务中指定的要求进行配置。

自由度 — 用C语言实现标准库函数,如: strcmp, atoi, strlen, memcpy, strstr, toupper, tolower 等等,没有第三方库,自己搞一下。 您自己编写标头,自己实现它们,自己创建它们 Makefile,你自己编译一下。

的printf ——需要全面实现标准功能 printf 所有的参数都用 C 语言编写。对于初学者来说这是相当困难的。

填充 - 需要从作为输入提供的四格骨牌列表中组装出最小面积的正方形。 在每一个新步骤中,都会添加一个新的四格骨牌。 由于计算必须在 C 语言中并在最短的时间内完成,因此该任务很复杂。

利布尔斯 — 实现您自己的命令版本 ls 及其所有标准标志。 你可以而且应该利用过去作业的进展。

七嘴八舌

除了单独执行的任务之外,还有一类由一群学生执行的任务 - 冲刺。 与独立项目不同,Rush 不是由学生使用检查表进行检查,而是由博卡尔的学校工作人员进行检查。

派克斯 — 程序接受文件名和任意 shell 命令作为输入;学生必须展示在系统级别使用管道并实现与终端中系统标准行为相同的功能的能力。

迷你谈话 — 用 C 语言实现客户端-服务器应用程序。服务器必须能够支持多个客户端的工作,并使用 SIGUSR1 和 SIGUSR2 系统信号打印客户端发送的消息。

冷冻食品 — 用 Golang 编写一个 IRC 服务器,能够使用并发和 goroutine 同时与多个客户端一起工作。 客户端必须能够使用登录名和密码登录。 IRC 服务器必须支持多个频道。

结论

任何人都可以注册 42 学校,并且不需要任何特殊知识。 尽管该程序是为初学者设计的,但简单的任务很快就会被不平凡的问题所取代,并且通常具有不明确的表述。 学生需要有最大的奉献精神,能够搜索英文官方文档中缺失的信息,并与其他学生合作完成作业。 培训计划没有严格的顺序,所以每个人都选择自己的发展道路。 没有端到端评级可以让您专注于自己的进步和发展,而不是与他人进行比较。

来源: habr.com

添加评论