11

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

 4 years ago
source link: https://www.infoq.cn/article/8ibPp3ciEGWuy2Twd50Z
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

事件回溯

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

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

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

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

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

实现难度

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

ZVzQF3J.png!web

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

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

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

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

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

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

vuMrMrB.png!web

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

各方反应

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

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

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

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

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

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

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK