hao.li
@hao.li
hao.li
@hao.li
platypus Post #27ACM 校赛和参赛的人、小学期 ACM 培训以及参加培训的人、oi 以所有的这些东西都是相关的。它们的共同点是功利性。不可否认,有人打 oi 很功利,因为以前拿奖可以参加自主招生;有人参加小学期 ACM 培训很功利,因为可以抵掉计算机课;有人参加 XJTUPC 是为了加德育分。同时也不可否认,有人学算法是因为热爱算法。但即便如此,如果以上列举的和算法有关的活动如果失去了功利性,还能有多少人来参加?还有多少人能坚持下去?这个答案没有人知道,因为没有人实验过。这就是为什么只有 ACM 相关的比赛能办下去,而其他比赛,其他培训都很难办下去的原因——功利。但是我们不能责怪学生功利,因为学生的功利是有原因的,这一点在很大程度上归功于学校。学校对学生功利性的影响是潜移默化的,例如:保研和德育分挂钩;每年保研的学长学姐出来分享保研经验,如何卷嬴其他人等等。这就导致了如果一个事情不功利,学生就没有时间去做它,也就导致学生没有时间发展自己的兴趣,但还是那句话,功利不怪学生,为什么 us 的学生就能发展自己的兴趣呢?因此要解决功利的问题,首先需要做出改变的是学校。话说回来,小学期 ACM 培训解决了功利的问题,所以有的学生可以在这里追求自己的兴趣,这是好事。那为什么和 oi 有关呢?因为要建设这个 ACM 培训课程,使之具备足够抵消学校计算机能力提升课程的质量,需要师资,需要制作 ppt,需要出题,需要管理 oj 网站。那么师资从哪里来呢?显然 oi 出身的人更具备给别人讲课的能力。那为什么其他领域就不能走 ACM 的老路呢?一个核心的问题就是我刚才说的,很少有人高中就接触 Linux、区块链、开源、CTF、后端开发等事物。由于人才培养周期很长,你不能指望 xjtu 的学生个个都是天才——零基础学 cs 直接飞升,拳打开源社区,脚踩中本聪,手撕 Linux Kernel 源码——通常需要花 2-3 年的时间,一个天赋较好并且很努力的 xjtu 学生才具备教其他人知识的能力,而一般人需要 3-4 年。然而等到大三大四了,同学基本都开始考虑毕业去向,准备毕业了,没有什么多余的时间,也就无法成为“师资力量”。课程建设不好,就无法开展试点,如果课程只是理论上的,没有实践经验,就无法向学校提出“功利”上的申请,解决功利问题,也就导致几乎没有人参加课程。想保护学生的兴趣,就要解决学校层面的功利问题。拿具体事例来讲,我们曾经建设过《后端开发导论》课程,解决了师资、ppt、autograder、documentation 等问题,最后在试点环节失败了。第一节课有 40 个人来上课,此后每节课少一半人,而且是恰好一半,到第四节课只有 5 个人来,因此第四节课之后就没有上了,宣布课程结束。但有意思的是什么呢?上课没有考勤,但我们为了给大家功利上的奖励,每周一次代码作业,完成了作业就有院级集体活动加分。也许是奖励过于蚊子腿,第一次作业收到 16 份提交,第二次作业仅收到 5 份提交。原本作业有最低分数要求,但课程结束后,为了给参加活动的同学多发奖励,我们宣布只要今晚 23:59 之前有提交就给加分,结果当天晚上有一个同学提交了。这个现象非常有意思,其中的道理不言自明。曾经钱院还开设过 Missing Semester 综能课程,也以同样的结局告终。所以此后所有的公益教学课,和与之相关的比赛等等,都必须解决功利性的问题,要么得到学校支持,要么学校先做出改变,拒绝将学生向功利化的方向引导。如果无法解决此问题,必将得到失败的结局。Don't reply me or raise more doubts. I've already shared everything I know here. If this doesn't clear up your doubts, that's all. At least it will make sense for someone. Again, DO NOT REPLY. If someone is interested in course reform or pedagogy, we can have another discussion. For this discussion, I'll stop my comments here, forever.
Best wishes,
platypus