Categories
程式開發

用C++手擼雨課堂,清華自動化系大一作業引熱議


事件回溯

近日,知乎上一篇名為《如何看待清華大學自動化系2020年大一c++大作業是寫一個功能更強大的雨課堂(雷課堂)》的帖子引來了諸多關注和討論:
https://www.zhihu.com/question/389457315

注:雨課堂是學堂在線與清華大學在線教育辦公室共同研發的智慧教學工具,目的是全面提升課堂教學體驗,讓師生互動更多、教學更為便捷。教師可以將帶有MOOC視頻、習題、語音的課前預習課件推送到學生手機,師生溝通及時反饋;課堂上實時答題、彈幕互動。

帖文中披露了清華大學自動化系2020年大一C++作業要求的PDF文章,從PDF中可以看出,之所以會佈置這樣一份作業,是因為疫情期間學校推延了開學日期,學校採用了以“雨課堂”為主,騰訊會議和Zoom等網絡會議軟件為輔的線上教學模式。在使用這些軟件時發現,軟件雖然可以實現PPT展示、在線答題、隨機點名等功能,但卻缺乏教學信息的統計功能。在這學期C++課程開始前的系統測試中,有同學建議自主開發一款集合雨課堂和網絡會議優點於一體的網絡教學軟件任課老師和助教經過多番討論後,決定採納這一想法,於是便佈置了題為“雷課堂Thunder Class)的作業安排。

沒想到,這份作業安排被曝光之後,引發了各界人士的高度關注,並紛紛表示:實現難度太高了。

實現難度

那麼,這個作業到底有多難呢?有人在回复裡用了這樣一張圖來直觀地說明:

image

玩笑歸玩笑,在認真看過這一項作業的要求後,很多網友表示:這確實不是大一學生能做到的。

先從功能實現上來說,作業的要求是這樣的:

首先要有用戶登錄功能,要求用戶名密碼登錄,三次密碼錯誤自動退出,賬號可根據教師/學生不同身份進行切換,且必須有一個管理員賬戶,可用於教師及學生帳號的增刪改——這一功能似乎沒什麼異議,畢竟大部分系統都有這樣的要求,但是接下來的一些功能恐怕真的不是一般學生能做到的。

除了基礎的登錄功能外,作業還要求系統實現:語音設備的切換功能、共享屏幕功能、語音直播功能、隨機語音提問、在線發題/答題、簽到、注意力監控(軟件處於焦點窗口的時長與學生在線時長的百分比)、麥克風管制

不知道讀者中是否有大神對於這些功能的實現表示不屑,但是在此話題下,各路答主、包括認證顯示為清華本校生的答主都表示:大一學生做這個作業,真的是有些過於困難了。拋開完成作業所需的時長不說(有人預計約200小時以上),實現上述各項功能所需的技術恐怕也並非大一學生能接觸到的。

另外,除了常規的代碼規範要求以外,作業還要求:不可使用任何非開源的第三方類庫

image

這一要求也引發了不小的爭議,有網友說:本身功能實現就夠困難了,還不允許使用庫,這就是讓徒手造輪子啊?

各方反應

即便是對於清華大學這樣門檻很高的院校的大一新生來說,這種作業的難度也十分驚人。此事一出,網友紛紛評論表示:

能遇到需求如此明確的甲方,也是人間值得了,啥也別多說了,我就想問問誰能救救孩子?
現在有理由懷疑紐約原油價格暴跌是清華某個系的作業要求了;
能完成這種大作業的“00後”真是後生可畏,不說了,我去寫代碼了,我怕被拍在沙灘上;

但在帖子的回復中,也有網友提供了已經石鎚的該課程任課老師的最新回复:

前面肯定不是坦途,但絕對不是懸崖。題目設計初衷上,重點本來就不再數據庫、語音、截屏、網絡通信,因為C++就是一門面向對象的語言。

甚至一位從清華大學畢業多年,獲得碩士學位的校友表示:

將此內容佈置為這門課的大作業,已經達到了教學事故的程度,因此,懇請校領導督促教師整改,並處理責任人。這不是一個普通大一學生在一個學期內能夠完成的課程作業。我認為,如果同樣的需求交給我公司的同事,需要3至5人團隊幾個月的時間才可能做到。