清华自动化大一学生的 C++大作业,是写一个类似于「雨课堂」的网络教学软件,可以共享屏幕、语音直播、在线答题……16 周时间,独立完成。这届 00 后当真天赋异禀?
从昨天下午到现在,「清华大学自动化系大一 C++大作业」霸榜知乎已经十几个小时了,而且没有被其他话题替代的迹象。
这一话题讨论的是:如何看待清华大学自动化系 2020 年大一 c++大作业是写一个功能更强大的雨课堂(雷课堂)?该话题在知乎上的热度一度高达 12766 万。目前为止,该帖子已经吸引了 1814 条回答,897 万浏览。答主不乏清华特奖得主、高校教授、企业高管。什么神仙话题引来这么多人关注?原来,这个大作业要求实现带网络、语音、图像、数据库等多种功能的网络教学软件,此「超级内卷」让众多网友惊呼不可战胜。在众多专业人士看来,这门大作业的要求也完全超出了大一学生的能力范围,是一种「教学大跃进」、「阿里 P6 及以上水平」。知乎网友 @ 马也 晒出了这份长达 7 页的课程作业要求 pdf,提到这门「令人绝望」的大作业创意,其实是来源于一位参与本课程的同学的建议:「在本学期 C++课程开始前的系统测试中,有同学建议自主开发一款集合雨课堂和网络会议优点于一身的网络教学软件。任课教师和助教在充分讨论基础上,决定采纳这一具有具有智慧及主动学习特色的建设性意见。」说起雨课堂,这款由清华大学开发的远程教学工具在最近的新冠疫情期间已被国内高校学生所熟知。它是为 Office 加装的一个增强工具,其简单易用的特性受到了师生的欢迎,目前雨课堂已被全国 10000 所学校采用。雨课堂具体可以做些什么?如今的课上老师讲课会使用 PPT,讲到重点时,很多学生会拿起手机拍摄 PPT 记录,下课了围着老师拷贝 PPT。有了「雨课堂」,老师开始授课后会自动生成本堂课程二维码,学生通过微信扫码进班。每一页 PPT 会即时发送到学生端,帮助学生保存课件及课程回顾;每页课件下方还有「收藏」和「不懂」按钮,学生可以把不懂的知识点进行整理收集,教师也会收到匿名「不懂」数据的反馈,进而调整课程节奏及重点讲解。教学工具「雨课堂」功能基于 PPT 和微信,包括课堂红包、学生投稿、课后小结、试题导入、随机点名、弹幕调速与回访等功能,提高了课堂的效率,也可以推动数据驱动的教学。
雨课堂的网页版:今年 3 月,清华大学雨课堂主讲嘉宾邹晓辉讲解的融智学导论第五课:双字棋盘的智能化原理。复制这样一个工具的大部分功能想必不简单。我们应该相信确实有一位同学进行了如此建议,出于人身安全和隐私,校方并未公开这位同学的信息,但强调了「有截图为证」。这份名为「雷课堂」的大作业,在基本功能方面,要求包括用户登陆、语音设备选择和切换、共享屏幕、语音直播、随机语音提问、在线发题、学生签到、注意力监测等与「雨课程」近乎相同的功能,这部分占总分的 20%,评价方式以答辩现场测试记录为准。第二部分「系统设计」和第三部分「代码规范」各自占据 20%,以 code review 和报告/现场测试为依据,每有一处不满足要求的会扣掉 2 分。第四部分是「报告」,占据 20% 评分,在最终提交的报告中,应包括「需求分析」、「类与类设计结构」、「界面设计」、「测试与排错」、「总结与体会」5 个部分。其余 20% 的分数是 Release 和现场答辩表现。但在这些要求之外,学有余力的同学仍可以通过添加「额外功能」来获得更高分数,比如摄像头直播、画中画等软件实用功能,但这一项加分不超过 10 分,加分后总分不会超过 100%。
以上所有内容,要在课程开始后的第 16 周独立完成并提交,单人五周完成。这项大作业公布之后迅速传播到了校外,网友们找到了经典老图来形容这件事:
同属「双一流大学」的浙江大学学生看完之后表示:「原是三本不配」。这个作业到底有多难?拿过清华特奖的大四软院学生游凯超表示,「我也做不出来。」要知道,游凯超大一成绩、大二成绩、前三年推研成绩均为软件学院年级前三,参与了三项 SRT、两项学推计划,以第一作者/共同第一作者身份发表 CVPR 论文两篇、ICML 论文一篇,还是 AAAI/CVPR/ICLR/TIP 等期刊会议的审稿人……
清华大学的一位老师也站出来指出,由于题目难度过大,基础一般的同学自信心难免受挫,从而从大一开始就依赖能力较强的同学,这对普通同学的长期发展非常不利。
这位清华老师也是雨课堂项目的负责人,他表示:「完成此大作业的同学欢迎发送简历给我,真诚求才,待遇丰厚。」业界人士也表示,要求大一学生在四个月时间内独立完成这样的工作,有「拔苗助长」的嫌疑。即使是阿里 P6 员工也未必有这样的 solo 水平,何况是刚入学不到一年的大学生呢?不过也不要小看清华学子的可能性,Facebook 人工智能研究院研究员、研究经理田渊栋表示:「能做到的欢迎大家投简历。」字节跳动人工智能实验室总监、资深科学家李磊也表示:这作为大三大四的大作业还是可以的,但对于大一来说可能过难了。
清华大学副教授刘知远更是指出了大作业可能带来的「内卷」问题,因此选择砍掉大作业,让课程回归本来的学习目标,让学生全面发展。
从昨天下午到现在,这个问题一直高居知乎榜首,当事老师也经历了一番口诛笔伐。对此,他回应道,「我们 C++是面向对象,挑战度不是自学知识点,而是考虑类架构。」「题目不难怎么能有区分度呢?」
对于「这个作业根本不可能做出来」,「牵扯精力太大」这些问题,当事老师解释称,成绩不止有 0 和 100 这两个分数,「如何定义『做出来』,请大家再次关注分数构成。」从作业要求我们得知,这个作业的「功能实现」只占 20 分,分到 12 个功能上更是微不足道,因此,这位老师建议,「不妨考虑优先实现最重要的(重要性排序可以投票决定)」。至于完成作业需要的时间,当事老师表示,这就要谈到「工程化写代码」了。「工程化写代码」指的是在目标分解且明确的基础上,对他人代码「不求甚解」、「不关注实现机制」、只考虑与自身目标的匹配程度和可用性,时刻想着「有了遥控器就不要拆电视」。因此,他认为,「最简单的实现方式就是把 GitHub 上的(代码)加以类层面的改造,50-75 个小时足够了。」这份大作业真的像这位老师说得一样具备可操作性吗?机器之心读者中隐藏的大佬们,你们能做出来吗?原贴链接:https://www.zhihu.com/question/389457315机器之心第二期「AI 开发者成长计划」系列公开课已正式开始,本期主题为《轻松上手开源框架 MindSpore》。该系列课程第一课将于 4 月 23 日 20:00 开讲,欢迎读者报名学习。