写点什么

用 C++ 手撸雨课堂,清华自动化系大一作业引热议

  • 2020-04-22
  • 本文字数:1480 字

    阅读完需:约 5 分钟

用C++手撸雨课堂,清华自动化系大一作业引热议

事件回溯

近日,知乎上一篇名为《如何看待清华大学自动化系 2020 年大一 c++大作业是写一个功能更强大的雨课堂(雷课堂)》的帖子引来了诸多关注和讨论:


https://www.zhihu.com/question/389457315


注:雨课堂是学堂在线与清华大学在线教育办公室共同研发的智慧教学工具,目的是全面提升课堂教学体验,让师生互动更多、教学更为便捷。教师可以将带有 MOOC 视频、习题、语音的课前预习课件推送到学生手机,师生沟通及时反馈;课堂上实时答题、弹幕互动。


帖文中披露了清华大学自动化系 2020 年大一 C++作业要求的 PDF 文章,从 PDF 中可以看出,之所以会布置这样一份作业,是因为疫情期间学校推延了开学日期,学校采用了以“雨课堂”为主,腾讯会议和 Zoom 等网络会议软件为辅的线上教学模式。在使用这些软件时发现,软件虽然可以实现 PPT 展示、在线答题、随机点名等功能,但却缺乏教学信息的统计功能。在这学期 C++课程开始前的系统测试中,有同学建议自主开发一款集合雨课堂和网络会议优点于一体的网络教学软件任课老师和助教经过多番讨论后,决定采纳这一想法,于是便布置了题为“雷课堂 Thunder Class)的作业安排。


没想到,这份作业安排被曝光之后,引发了各界人士的高度关注,并纷纷表示:实现难度太高了。

实现难度

那么,这个作业到底有多难呢?有人在回复里用了这样一张图来直观地说明:



玩笑归玩笑,在认真看过这一项作业的要求后,很多网友表示:这确实不是大一学生能做到的。


先从功能实现上来说,作业的要求是这样的:


首先要有用户登录功能,要求用户名密码登录,三次密码错误自动退出,账号可根据教师/学生不同身份进行切换,且必须有一个管理员账户,可用于教师及学生帐号的增删改——这一功能似乎没什么异议,毕竟大部分系统都有这样的要求,但是接下来的一些功能恐怕真的不是一般学生能做到的。


除了基础的登录功能外,作业还要求系统实现:语音设备的切换功能、共享屏幕功能、语音直播功能、随机语音提问、在线发题/答题、签到、注意力监控(软件处于焦点窗口的时长与学生在线时长的百分比)、麦克风管制


不知道读者中是否有大神对于这些功能的实现表示不屑,但是在此话题下,各路答主、包括认证显示为清华本校生的答主都表示:大一学生做这个作业,真的是有些过于困难了。抛开完成作业所需的时长不说(有人预计约 200 小时以上),实现上述各项功能所需的技术恐怕也并非大一学生能接触到的。


另外,除了常规的代码规范要求以外,作业还要求:不可使用任何非开源的第三方类库



这一要求也引发了不小的争议,有网友说:本身功能实现就够困难了,还不允许使用库,这就是让徒手造轮子啊?

各方反应

即便是对于清华大学这样门槛很高的院校的大一新生来说,这种作业的难度也十分惊人。此事一出,网友纷纷评论表示:


能遇到需求如此明确的甲方,也是人间值得了,啥也别多说了,我就想问问谁能救救孩子?

现在有理由怀疑纽约原油价格暴跌是清华某个系的作业要求了;

能完成这种大作业的“00 后”真是后生可畏,不说了,我去写代码了,我怕被拍在沙滩上;


但在帖子的回复中,也有网友提供了已经石锤的该课程任课老师的最新回复:


前面肯定不是坦途,但绝对不是悬崖。题目设计初衷上,重点本来就不再数据库、语音、截屏、网络通信,因为 C++就是一门面向对象的语言。


甚至一位从清华大学毕业多年,获得硕士学位的校友表示:


将此内容布置为这门课的大作业,已经达到了教学事故的程度,因此,恳请校领导督促教师整改,并处理责任人。这不是一个普通大一学生在一个学期内能够完成的课程作业。我认为,如果同样的需求交给我公司的同事,需要 3 至 5 人团队几个月的时间才可能做到。


2020-04-22 12:438150

评论 3 条评论

发布
用户头像
虽然项目比较有争议,但是写文章还是中肯一点的好,”不可使用任何非开源的第三方类库“,跟”还不允许使用库“,这能是一回事么?实际上这个作业里面绝大多数功能都不需要学生自己去实现,有各种开源项目提供了类似的功能可以集成,这也是老师所推荐和要求的做法。
2020-05-17 05:26
回复
用户头像
看来此作业已获得A轮风险投资
2020-04-26 09:23
回复
用户头像
原来咱们大学的水平都那么高了,很是欣慰
2020-04-22 12:58
回复
没有更多了
发现更多内容

使用MSF生成shellcode

喀拉峻

黑客 网络安全 安全 WEB安全

阿里云刘伟光:3.5万字拆解核心系统转型,核心从业者如何寻得“出路”

OceanBase 数据库

阿里 数字化转型 OceanBase 社区版 核心系统

VuePress 博客优化之拓展 Markdown 语法

冴羽

JavaScript Vue markdown vuepress 博客搭建

架构实战营:模块五作业

Geek_93ffb0

「架构实战营」

2021年小总结暨2022年打脸计划

秦怀杂货店

总结 程序人生、

架构实战营 4 期第五模块作业

jialuooooo

架构实战营

开启报名!2021年度龙蜥社区优秀开发者评选,非你莫属!

OpenAnolis小助手

Linux 开源 社群 比赛

当基础设施故障后,声网 SD-RTN 如何保障 RTE 服务的高可用性

声网

人工智能 云计算

金融云原生漫谈(六)|安全平稳高于一切的金融行业,如何构建云原生安全防线

York

容器 云原生 安全 金融科技

如何快速调度 PTS 的百万并发能力

阿里巴巴云原生

阿里云 云原生 Jmeter 压测 PTS

低代码实现探索(二十三)假如你会些游戏剧情脚本

零道云-混合式低代码平台

创新推出 | Serverless 场景排查问题利器:函数实例命令行操作

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

明道云实现产品BOM清单的快速搭建

明道云

逐鹿万亿赛道:智能重卡规模量产的困境与进化

脑极体

最佳实践 | 如何避免一行错误代码造成的血案?

Atlassian

Atlassian Jira 代码评审

Discord模式等十大场景,环信带你玩转泛娱乐行业

环信

即时通讯 IM 泛娱乐 Discord

蚂蚁大规模 Sigma 集群 Etcd 拆分实践

SOFAStack

etcd #k8s SIGMA

混合云应用双活容灾最佳实践

阿里巴巴云原生

阿里云 运维 云原生 混合云 多活容灾

☕【Java深层系列】「技术盲区」让我们一起探索一下Netty(Java)底层的“零拷贝Zero-Copy”技术(上)

码界西柚

Netty 零拷贝 zero copy 1月日更

淘宝小部件在 2021 双十一中的规模化应用

阿里巴巴终端技术

小程序 淘宝 双十一

在Rainbond上使用Locust进行压力测试

北京好雨科技有限公司

软件架构治理 之 架构优化方向

码猿外

架构设计 技术债 软件架构治理

实时云渲染,汽车产业数字化转型新动能

3DCAT实时渲染

云计算 数字化 汽车 云渲染

Arm vs x86: 解释指令集、架构和所有关键差异

吴脑的键客

android X86 arm

Ubuntu16.04/Scala2.11.8安装教程

CRMEB

【组件攻击链】一文看懂Spring全家桶各类RCE漏洞

H

网络安全 漏洞

『内存中的操作系统』虚拟化是什么

soolaugust

操作系统 内存

网关流控利器:结合 AHAS 实现 Ingress/Nginx 流量控制

阿里巴巴云原生

nginx 阿里云 高可用 云原生 ingress

旺链科技加入工信部区块链重点实验室,深化数据安全产业融合

旺链科技

区块链 工信部 数据安全 Vone新闻

用C++手撸雨课堂,清华自动化系大一作业引热议_文化 & 方法_李冬梅_InfoQ精选文章