写点什么

用 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:438155

评论 3 条评论

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

前嗅教你大数据——什么是代理IP?

前嗅大数据

爬虫 数据采集 静态IP 代理IP 动态IP

Glide.with(view)挂在了谁的生命周期上

mengxn

生命周期 Glide Activity Fragment

甲方日常53

句子

工作 随笔杂谈 日常

高承实:区块链的工业革命带来了什么?

CECBC

区块链 分布式

【MySQL】如何最大程度防止人为误操作MySQL数据库?这次我懂了!!

冰河

MySQL 数据库 性能优化 数据安全 分布式数据储存

注册中心原理剖析

石刻掌纹

【活动回顾】WebRTC服务端工程实践和优化探索

ZEGO即构

WebRTC 服务端工程

国网浙江建设公司推进“信用基建+区块链”建设

CECBC

区块链 国网 基建

Springboot过滤器和拦截器详解及使用场景

AI乔治

Java spring 架构 Spring Boot

Dubbo 接口,导出 Markdown ,这些功能 DocView 现在都有了!

程序员小航

markdown idea插件 IntelliJ IDEA 文档生成 Doc View

MySQL中的锁机制

AI乔治

Java MySQL 架构 线程 锁机制

阿里P8以hashmap讲解如何学习jdk源码,还不学习

小Q

Java 学习 源码 jdk mybatis

面经手册 · 第18篇《AQS 共享锁,Semaphore、CountDownLatch,听说数据库连接池可以用到!》

小傅哥

Java 并发编程 共享锁 Semaphore 信号量

智变的八个瞬间,京东智联云化“?”为“!”

脑极体

我真的尽力了,最经典Redis面试14题,没时间复习就看这个吧

小Q

redis 学习 编程 架构 面试

会装虚拟机,删库不用跑

MySQL从删库到跑路

虚拟机 virtualbox

CSS 排版与正常流 —— 重学CSS

三钻

CSS 排版

SQL数据库:窗口函数

正向成长

窗口函数

新工业化如何实现?今年的信息化百人会中藏着“懂行”密码

脑极体

Nginx-技术专题-技术介绍

码界西柚

【薪火计划】03 - 从错误中认识到管理

码字与律动

管理

11.11 应对海量访问的网络基石 京东智联云自研交换机发展之路

京东科技开发者

运维 网络 交换机

什么是云服务?

anyRTC开发者

音视频 WebRTC 云服务 RTC

MySQL从库维护经验分享

Simon

MySQL 主从复制

在Codurance是如何面试技术人员的

sherlockq

面试 TDD

读谱对吉他手来说重要吗?试试它提升你的读谱效率

奈奈的杂社

学习 编曲 打谱

《网络是怎样连接的》PDF下载

计算机与AI

网络

数字货币引发的金融变革

CECBC

数字化时代

Redis 持久化之 RDB 与 AOF 详解

AI乔治

Java 架构 redis持久化 redia

vue项目实战经验汇总

徐小夕

Java 面试 Vue 大前端 Vue3

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