如何評價北航計算機學院面向對象編程課程的評分制度?

面向對象編程 是 北航計算機學院於2014/2015、 2015/2016 學年開設的 必修/專業核心課程。授課老師是吳際,他提出了一套與常規有別的作業評價體系,並付諸實踐。

評測體系的核心是雙盲互測

各個同學的得分建立在兩點上:

1、自己的程序bug數。

2、自己隨機分到的程序中的被自己發現bug數。

另外值得一提的一點是,所有得到的分數均來自於你的扣取分。比如說這次你提交了一個作業,

被扣了-5分,然後你評一個作業,你扣了他15分,你的總分就是10分,最後按照10+次作業的總和分進行排名,給出標準化的成績。

值得一提的是,課程體系中,吳際老師會安排四位學生課代表(課程中的同級生)幫助測試體系的進行。

整個作業流程(2015/2016學年)是

吳際老師布置作業 ---&> 課代表們對吳際老師的作業要求進行分析和修改,形成指導書 ---&> 同學根據指導書完成作業 ----&> 提交後進行雙盲測試,提交發現的bug ---&> 時間窗內,同學可以對被扣的分數進行申訴,由課代表完成仲裁

附上一張迄今的作業清單,其中非博客的作業都要進行互測

提交的作業中除代碼外,根據要求還需要有readme文件和文檔(根據作業要求),有時也會有作業要求對文檔進行相應評分。

但是從這兩屆學生的反映情況來看,總體反饋不佳,教學效果似乎並不好。


更新於2016/5/24,並且將之前一些對於課程體系的介紹放在問題中了。之前提出的一些問題已經有所改善,將放在文末。希望同學們看到這些已經改善的地方。但即使如此,這個作業制度和評測制度仍舊有非常大的問題,使得整門課程的教學效果大打折扣。

大半個學期過去了,我想我也有資格在這裡說一下對於這個評分體系的評價了。

如 @馬琛驍 同學所言,這樣的互測體系有其內在的矛盾,一方面假設所有人都能發現錯誤,用被發現的bug數來表示編程水平,一方面又假設所有的程序近乎相似,用發現的bug數來衡量測試水平。因此實際分數主要取決於你抽到了誰的作業和誰抽到了你的作業,和作業水平和測試水平相關不大,也難怪很多同學口中這門課的主要內容是「面向運氣編程「了。

拋開這個矛盾不談,整個課程在公平保證上也出了非常大的問題。主要表現為以下幾點:

  • 沒有嚴格的扣分尺度把控,尺度不一帶來不公平
  • 對於惡意扣分沒有遏制機制,「犯罪」成本低下使得惡意扣分猖獗
  • 課代表既當裁判又當運動員,容易招致信任危機

........

總的說來,拋開課程內容不談,就我大半個學期體驗來看,這門課的作業和互測制度無疑是失敗的,重量不重質,學生難以從其得到長進。並且為許多想鑽空子的人提供了溫床,破壞了想真正好好學習的人的積極性。所付出的和所得到的並不對等,使得學生怨聲載道。這樣的課真的有資格作為北航計算機機學院的專業核心必修課嗎?我保留自己的看法。

趁著最後,再講一點情緒化的話。對於這門課,我個人是非常失望的。讓我對計算機學院的老師和同學的水平產生了頗大的疑問。我們看到吳際老師慷慨陳詞他的課程設計和國外一致是大勢所趨,一次又一次的課程反思中把問題大部分都推給了學生。而從一次比一次無聊的作業中,看不到令人興奮的trick,看不到優雅的實現,有的只是害怕被人雞蛋裡挑骨頭的恐懼和光陰虛度的空虛感。看到有的同學為了一點分數,不在如何構造測試樣例上下功夫,而是想走旁門左道扣一些自己理解的規範上的分數。看到許許多多的同學在這一門課上消磨了一個又一個夜晚,一個又一個凌晨,看到情緒激動的同學在學院的群中呼求公正,看到有人強撐著說自己從中收穫了很多知識....

這真的值得嗎?值得嗎?

我已經累了,而還有很多人在和不公正和惡意做著鬥爭。

而問題的根源,這制度本身卻似乎固若金湯,只是在做著一些不痛不癢的改良。

而我所能做的,就是在這個沒有公平可言的制度中當一個不會扣分的傻子了。

可以卑微如塵土,不可扭曲如蛆蟲。

共勉。

------------------------------ 已經有所改善的問題的分割線---------------------------------------------------

1.作業匿名、監管機制的缺失,使得抄襲大行其道。

註:現作業評價體系中已經引入查重製度和抄襲者公示制度,此種現象有所緩解。

筆者的身邊,就有同學看到了多次抄襲的行為。這些抄襲的行為破壞整個體系的公平,並且由於互測的匿名性,這種抄襲的現象實際上是難以發現的。就算如此,也有一些實在手段拙劣的抄襲被發現,令人忍俊不禁。

這是某位同學提交的bug, 實際上,這位同學隨機分到需要評測的作業的說明文件(readme中)留下了QQ,結果這QQ其實是被抄襲人的。抄襲者全盤複製,甚至對此未加以改動。

這是他們聯繫的記錄:

可以發現,這門課互測體系的匿名性,由於進行測試的只有同學,抄襲這種事在匿名互測下也是相當容易矇混過關。

2.Readme(說明文件)中「求饒」狀況盛行,分數成為了交易品

註:在筆者提出這種現象後,似乎很少布置可以被判定無效的作業了,情況有所減少。

其實一些開玩笑的話語並無傷大雅,有時候在作業的說明文件中表達了希望少扣分的意願並不是什麼壞事,但是有些時候,明明沒有付出相應的努力,希望靠求饒來博取同情甚至逃避作業,這就非常不可取了。

這是一位同學的readme,這次的作業是文件監視器,但實際上,這位同學提交了一個模擬電梯的程序(上一次的作業),而他希望用這種求饒的辦法來矇混過關,避免自己因無效作業而導致課程不合格。

此處截圖同樣也來自某位同學的readme,或者也有這樣的,通過出讓分數來使自己的作業免以無效。

而面對這樣的作業,同學們稱之為「大禮包」,大多數同學面對這種作業,會選擇扣一個誇張的分數。因為所扣的分都將加到自己頭上,通過這樣賺取分數,可以最大化自己的收益。原本,這樣的大禮包應該都被判定為無效作業,不參與互測,然而通過求饒和交易,它們卻混雜在了正常的作業其中。這對那些辛辛苦苦找bug的同學來說無疑是一種不公平。

而同時,這些本應因作業無效而不參與互測的同學,能夠到互測中,通過「大禮包」送出的20分,能夠通過胡七八摳,扣除他人20分甚至30分,把分數「賺」了回來,這顯然是更不公平的。


北航的OO的格局,是和別處不同的:都是草擬一個模稜兩可的指導書,裡面預備著小bug,可以隨時更新版本。寫作業的人,周六周日想起來,每每隨便下一份指導書,寫幾行代碼,——這是一兩年前的事,現在大多要拖到周一,朝令夕改的琢磨指導書,倒不如找地兒躺著休息;倘肯多等一天,便可以看群里,或者討論區里,大家互相之間爭論不休,如果等到周二凌晨,那就能得到最終的定論了,但這些學生,多是好學的,大抵沒有這樣作死。只有真的放棄的,才等到DDL貼到腦門上,才抱著插線板和充電線,不緊不慢的去自習室通宵。

  我從第一次作業起,便想著從OO里學點兒東西,老師說,我的代碼寫的太丑,怕是完成不了實際工程需求,就和別人多多學學罷。自習室的巨佬們,雖然容易說話,但境界太高不知所云的也很不少。他們往往要瞪著眼睛看著指導書,看過指導書里有bug沒有,又親看將公測樣例對照指導書,然後放心:在這嚴重監督下,測個+1也很為難。所以過了幾天,老師又說我幹不了這事,便改為專盯互測的一種無聊任務了。

  我從此便整天的等著互測開放,專盯著別人的bug。雖然有一些Incomplete,但總覺得沒有Wrong Answer,也沒有Crash,有些失落。老師是一副和善臉孔,同學也沒有好語氣,教人活潑不得;只有大禮包到店,才可以笑幾聲,所以至今還記得。

  大禮包是真的放棄而早早寫完的唯一的人。他身材很高大;青白臉色,代碼間時常夾些中間輸出;一個走到哪都背著的老舊的電腦包。雖然早早寫完,可是程序又短又爛,似乎編譯通過了就沒再看,也沒有debug。他給人申訴,總是滿口「指導書有歧義,你統是理解岔了!」,叫人半懂不懂的。因為他姓大,別人便從描紅紙上的「旺旺大禮包」這半懂不懂的話里,替他取下一個綽號,叫作大禮包。大禮包一到自習室,所有自習的人便都看著他笑,有的叫道,「大禮包,你程序又被人挑出BUG了!」他不回答,在討論區說,「指導書什麼時候發布啊?上機測試的程序壓縮包上傳了嗎?」便打開寫了一半的程序。他們又故意的高聲嚷道,「你一定又要交無效作業了!」大禮包睜大眼睛說,「你才怎麼寫出這樣的測試程序來……」「什麼這樣那樣?尊重別人勞動成果!這是你的問題。你這是什麼態度?我現在不想和你說話!」大禮包便漲紅了臉,額上的青筋條條綻出,爭辯道,「你們這樣的上機程序也好叫勞動成果嗎」接連便是難懂的話,什麼「repOK打成reqOK」,什麼「構造方法把類名抄錯」之類,引得眾人都鬨笑起來:自習室內外充滿了快活的空氣。

  聽人家背地裡談論,大禮包原來也認真和大佬學了java,但終於沒有全無BUG,又不會用Ctrl+Z炸人程序;於是天梯積分越來越低,弄到將要歸於無效作業之流了。幸而善於從JSF中挑錯,便在互測的時候一個方法扣一分,賺幾十分留用。可惜他又有一樣壞脾氣,便是好喝懶做。扣不了幾個,便將作業直接不看,點擊申報無效。如是幾次,讓他扣JSF也沒有了。大禮包沒有法,便免不了偶然做些在Readme里求放過的事。但他在我們班裡,品行卻比別人都好,就是從不拖欠;雖然間或沒有時間,暫時記在日程上,但不出一晚,定然剛完,從日程上拭去了大禮包的名字。

  大禮包寫了幾個方法,電量用盡的電腦也充了一多半的電,旁人便又問道,「大禮包,你當真會寫程序么?」大禮包看著問他的人,顯出不屑置辯的神氣。他們便接著說道,「你怎的連不變式都列不全呢?」大禮包立刻顯出頹唐不安模樣,臉上籠上了一層灰色,嘴裡說些話;這回可是全是容錯應該被諒解之類,一些不懂了。在這時候,眾人也都鬨笑起來:自習室內外充滿了快活的空氣。

  在這些時候,我可以附和著測試一些程序,老師是決不責備的。而且老師見了大禮包,也每每這樣問他,引人發笑。大禮包自己知道不能和他們談天,便只好向菜雞們說話。有一回對我說道,「你會寫程序么?」我略略點一點頭。他說,「會寫程序,……我便考你一考。數組越界的異常類型,怎樣寫的?」我想,怕要重修的人,也配考我么?便回過臉去,不再理會。大禮包等了許久,很懇切的說道,「不會寫罷?……我教給你,記著!這裡應該用NullPointerException。將來和老師學習的時候,拋出異常要用。」我暗想我和老師的等級還很遠呢,而且我們上機程序也從不將異常寫作NullPointerException;又好笑,又不耐煩,懶懶的答他道,「誰要你教,上機程序throw的都是自己隨便寫出來的異常類名!」大禮包顯出極興奮的樣子,將兩個指頭的長指甲敲著櫃檯,點頭說,「哎呀哎呀!……異常處理有四種基本語法,你知道么?」我愈不耐煩了,努著嘴走遠。大禮包剛用手按著鍵盤,想在電腦上寫程序,見我毫不熱心,便又嘆一口氣,顯出極惋惜的樣子。

「多乎哉?不多也。」

有幾回,在寢室自習的同學聽得笑聲,也趕熱鬧,圍住了大禮包。他便給他們一人一個測試點。同學們測完測試點,仍然不散,眼睛都望著大禮包的代碼。大禮包著了慌,伸開五指將屏幕罩住,彎腰下去說道,「分不多了,我的分已經被扣的不剩多少了。」直起身又看一看別人給自己的測試結果,自己搖頭說,「不多不多!多乎哉?不多也。」於是這一群同學都在笑聲里走散了。

  大禮包是這樣的使人快活,可是沒有他,別人也便這麼過。

  有一天,大約是OS Lab3前的四五天,老師正在慢慢的講課,留完作業,忽然說,「大禮包長久沒有來上課了。作業也好幾個無效!」我才也覺得他的確長久沒有來了。一個低頭碼代碼的人嘟囔,「他怎麼會來?……他熬太晚起不了的。」老師說,「哦!」「他總仍舊是最後趕DDL。這一回,是自己發昏,竟打算趕JSF的DDL。這樣的東西,趕得的嗎?」「後來怎麼樣?」「怎麼樣?通宵一夜,趕了一份,到了互測,還是被扣了幾十分。」「後來呢?」「後來扣了幾十分。」「扣分了怎樣呢?」「怎樣?……誰曉得?許是基本算無效了。」老師也不再問,仍然慢慢的講他的課。

Lab3上機過後,DDL是一天積多過一天,看看將近期末;我整天的趕作業,也須熬夜補作業了。一天的午夜,自習室沒有一個同學,我正迷糊著坐著。忽然間聽得一個聲音,「來討論討論指導書嗎?」這聲音雖然極低,卻很耳熟。看時又全沒有人。站起來向走廊一望,那大禮包便在拐角的鐵凳上對了白牆坐著。他臉上黑而且瘦,已經不成樣子;穿一件單薄的睡衣,盤著兩腿,下面墊一本參考書,把電腦包在肩上掛著;見了我,又說道,「討論討論指導書罷。」老師也伸出頭去,一面說,「大禮包么?你都無效好多次了!」大禮包很頹唐的仰面答道,「這……以後再補交罷。這一回是現在就寫,指導書的坑一定要少。」老師仍然同平常一樣,笑著對他說,「大禮包,你又打算通宵了!」但他這回卻不十分分辯,單說了一句「不要取笑!」「取笑?要是不熬夜,怎麼會寫得完呢?」大禮包低聲說道,「勤快,勤,勤……」他的眼色,很像懇求老師,不要再提。此時已經聚集了幾個人,便和老師都笑了。我下載了指導書,拷到U盤裡,傳到了他的電腦里。他從自己構造的測試樣例里挑出四個測試點,拷到我U盤裡,見他測試代碼里凈是些前置條件之類的扣分點,原來他便用這些來炸別人程序。不一會,他讀完指導書,便又在旁人的說笑聲中,揣著電腦慢慢回宿舍了。

  自此以後,又長久沒有看見大禮包。到了期末,老師拿出點名簿說,「大禮包還有好幾個無效呢!」到補給站的結束,又說「大禮包還有好幾個無效呢呢!」到第二年重修可是沒有說,再到重修結束也沒有看見他。

  我到現在終於沒有見——大約大禮包的確熬夜猝死了。

寫完覺得有點點答非所問,故事裡面老師的定位也不很分明,實際中的老師應該是更傾向於故事中一開始斥責大禮包的巨佬。

引用魯迅先生的一句話「從來如此,便對嗎?」來談談我的看法

我覺得整個課程和課程組給我的都是一種「我說如此,便是對的!」的感覺,我無力也無心去扭轉,我所能做的,不過是敬而遠之罷了。


本來一直不想寫這個無聊的回答的,因為個人覺得在這個課上浪費任何一點時間都是罪過,更何況為之寫一篇回答。但是今天看到了一個令我很火大的東西,就是一篇流傳於15級的問卷。

整篇問卷里都在試圖把矛頭引向所謂「惡意扣分」的人,還弄出來兩種什麼方法,想要懲罰那些扣分的人。這不禁讓我想到了「只反貪官,不反皇帝」的理論。惡意扣分的人可惡么?的確可惡!但是OO這門課被人詬病是因為這些惡意扣分的人么?在一個漏洞百出的環境下,總會有人鑽制度的簍子,就連在法律如此健全的情況下,社會上還是有醫鬧,碰瓷的存在,就是因為有人不停地和稀泥。在OO這門課中,如果沒有稀里糊塗不說明白知識點的指導書,如果沒有看不明白邏輯錯不錯只知道注意正負號的公測數據,如果沒有前後矛盾全憑心情評判的老師,如果沒有拍屁股不過大腦就想出的評測加分制度,如果沒有除了這個破課以後再也用不上的JSF,會有這麼多惡意扣分的人?

如果在監管制度如此渙散的情況下,徒增條條框框有何意義?沒經腦子就想出的天梯制度還沒給大家留下教訓么?我不敢用最壞的惡意揣測這些只懟同學不懟課程的人,你們真的是希望六系越來越好,未來的學弟學妹們對OO課印象更好么?恕我直言,你們只想著自己面前的利益吧!

我佩服那些為了讓這門課變得越來越好而投入到實際行動中的人,有些人在討論區分享自己的知識,分享自己遇到的坑,有些人願意去做助教課代表,想辦法為其他的同學維護一份公正,但我發自心裡的鄙視那些為了自己的利益而不擇手段的人,包括惡意扣分的人,包括為了裝逼而當助教的人,包括為了給自己加分而弄出一堆幺蛾子的人,你們不蠢,只是壞罷了!

最後,送大家一份博客作業標準答案!


一種「宰了別人救活自己」的十分可怕的課程制度。這門課的老師不排除想「弄出個大新聞」的「噱頭」效應。但是,如果通過之前一年的實驗,這位老師真的可以培養出學生雞蛋裡挑骨頭的能力其實也是合理的(這是將來市場競爭以及博弈的需要)。不過,如果我是這位老師,我依然要修正這種方法,因為鼓勵揭發的方法是反人文的。而且必須跟學生說明我的初衷並能進一步換取學生的理解而不是激化矛盾。在學生的角度,學生在那種惡性競爭的機制下回搜腸刮肚似的找錯誤,以謀取更多的成績。老師和學生之間在這裡有一種天然的不平等,很多的學生就是有心也覺得無力去反抗,因為成本太大。聽說,這位老師還在課上將自己的學生跟什麼北京學院的學生比較來諷刺自己的學生,我真心覺得這位老師應該好好學學教育學的基本知識。老師應該鼓勵學生提出自己的意見,對於敢於提出異議的學生期末應該予以加分。因為這是一個一本萬利的事。我覺得這位老師以及計算機學院的各位領導們應該仔細思考一下這些問題。我航作為一個全國知名大學且有志建設成世界一流大學,世界一流大學都沒有用過這種坑人制度來對本科生進行教學的。只希望你們可以警醒,不要讓懷部長和徐校長的願望泡湯。


汗,這題又跑出來了。。。

該老師的博弈論水平比較捉急,這就是一個納什均衡啊。。。


我也和 @汪正東 同學一樣,這門課已經上了半個學期,具體的制度正東同學介紹的很詳細了,我就說一說我的評價。

首先這個評分系統是存在內在的矛盾的,因為對於「是不是測試同學能夠發現一份作業中的所有問題」,這個系統既持肯定態度,又持否定態度。說他持肯定態度,是因為他把被扣分數當作總評分數的一部分,也就是認為不論由什麼水平的同學來測試,都是扣分越多、問題越多、作業越差。說他持否定態度,是因為他把扣別人的分數當作總評分數的一部分,也就是只有優秀的同學才能夠更充分地發現作業中的問題,扣別人分越多、發現問題越充分、成績越高。

當然從概率上說,如果進行足夠多次,確實可以做到優秀的同學成績高。但是如果好同學拿到的作業都是好同學的呢?可能無論他測試技術多麼高超,都無法發現問題(因為沒問題)。如果差一些的同學拿到的都是更差的同學的呢?他反而能夠發現問題,最終成績高於好同學。不要忘了,一學期最多 16 周,最多 10 次作業,這樣的偶然決定了這個評分系統是天生不合理的。

但是還記得今天老師上課說了什麼嗎,有些老師會被正在教的學生罵,另一些老師會被已經畢業了的學生罵。

老師想教給我們的,其實不是面向對象,是怎麼生存。

你以為你面對的永遠是一行一行的代碼,你以為你需要解決的只是 warning 和 error,你以為你跑通了程序實現了功能就萬事大吉,你以為你和成功只差幾本書、幾個設計模式、幾種編程語言的距離。

然而真的是這樣嗎?

社會遠遠比這複雜。也許走向工作崗位,我們永遠不可能寫出沒有錯誤的代碼,不可能一步到位實現用戶的要求,我們也許不得不跟同事賣萌、跟產品經理耍賴、不得不面對每個人都覺得不合理的體系和在這個體系下混的風生水起遠遠把你甩在後面的人。

到時候怎麼辦呢?看著這些人卻難以望其項背嗎?

老師用這計算機系的 200 人,教給你的不是計算機,教給你的是人。

一路走下去,理想主義者會堅持信仰,不走歪門斜路,從不求情討饒,有錯認錯,沒錯就據理力爭。到最後費了多少時間,收穫了多少成果,自己體會。理想主義者磨練了心性,從此更加寧折不彎,這沒有不好,但是也有些人因此學會了靈活,學會了人至察則無徒,退一步海闊天空。

一路走下去,機會主義者會使盡渾身解數,撒潑打滾,軟硬兼施。然而最後成績又好到哪裡去,也是如人飲水,冷暖自知。機會主義者從此繼續潛心此道,爐火純青,當然好,但是也有些人體會了正直,知道了世界上還有一些人選擇的是剛正不阿。

人間百態,見了方能從容。


差評

文科僧不知道這玩意到底怎麼樣

反正面向對象這玩意讓ex整天修仙寫代碼

就很不爽

程序猿中的一股泥石流orz


1. 個別助教心態有問題啊,天天只想著在我們面前裝x,讓我們舔他,這樣他才舒服,他這助教當的才不虧。

2. 天天12小時之內,36小時之內什麼的。課程組按他說的來過??搞查重搞無效的時候倒是挺守時,回答討論區問題也沒見這麼積極。

3. 說起無效,怎麼個判定機制也不懂,鬧烏龍的比例太高了吧?

4. 17春季搞了個天梯制度是吧?也沒聽說更新過分組,真省事。

5. JSF?不存在的。

6. 實驗課代碼能不能走點心?別老拋一個自己定義的帥氣異常還不把類文件給出來唄

想起來再噴。

給個某ta的發言


聽說又出了關於補交的問卷。。。修改已經的定好了的規矩,怎麼改都不公平

這不明擺著侵犯「從未有過無效作業」的同學的利益嗎???

如果有過無效作業的同學超過一半,問卷獲得了超過一半的支持是不就可以實施了?

去你媽的狗屁補交機制,一群只為了分數二字活著的人


最後一次計程車,我就想吐槽,測我代碼的人根本沒測代碼,只扣了30多分的jsf.為什麼我知道那人沒測代碼,甚至沒有瀏覽一下我的代碼呢?因為,我根本沒有實現流量


我和煒韜簡單地匯總了一下現在OO的問題和改進的方法,歡迎各位提出自己的看法

一、現有課程存在的問題

這一節主要匯總了大家針對OO課程所提出的問題,歡迎大家提出自己對於OO課程現存問題的看法,具體問題如下:

1. 作業細節太多,在理解作業意思上花的時間比較多,並且最終還是經常出現兩個人對要求理解不同的現象,導致扣分上面有很多爭論

2. 作業時間不足,這個是在1的基礎上形成的

3. 指導書中部分硬性要求未明確,導致Readme的權利被放大。作業要求容易被簡化,簡化之後扣分其實不多,使得認真做一個要求的人感到不公平

4. 存在評測中私下交流的情況,現有制度無法監管到

5. 為了不出bug不被扣分,繞開特定的類與方法,破壞了真正的面向對象的思想

6. 測試者亂扣分,為了扣別人分,絞盡腦汁在各種指導書說明不夠詳盡的邊邊角角扣分,喧賓奪主

7. 抄襲作業無法監管

8. 每次作業都有不同的標準,導致Bug的分類可能會不夠詳盡,針對兩個Bug,編程者可能認為錯的是同一段代碼,測試者認為是兩種測試情況,二者很難協調統一。

9. 網站Bug太多,相應速度太慢。網站互助區交流不方便,不如QQ有效率。

10. 每次作業完成後並不能第一時間知道自己成績在年級中的位置

上述問題不分先後主次,歡迎大家繼續添加自己的問題。

二、大家提出的建設性意見

以下為目前各位同學們提出的針對課程改進的建設性意見,其中包括了對某些同學相似建議的概括,同時也歡迎大家對於課程問題提出積極的改進意見。

針對問題【作業時間不足,作業要求難理清】

建議:可以降低編程作業頻率,比如兩周一次,增加一些代碼補全的練習,差不多可以將實驗課的作業發布提早一些,實驗一周,編程作業互評一周,兩周一個周期,輪流來。

針對問題【要求容易被簡化,簡化後一般只能扣一個扣分點,造成不公平】【絞盡腦汁花時間在奇奇怪怪的數據上扣分,喧賓奪主】

建議:明確哪些是功能性扣分點,對於確定的功能設置扣分上限,比如沒有寫renamed觸發器的,最多扣7分,針對單個文件的renamed觸發器3分,對於目錄下文件的4分,其他非功能性扣分不超過5分等。這些點在指導書發布時明確,限制邊角和極限數據的扣分上限及比例,以功能性測試為主。明確扣分上限的同時,明確得分下限,比如完成了某個基本的功能性要求,至少得3分,用上例說,完成基本的renamed觸發器功能單個文件觸發至少得1分,目錄觸發至少得2分,即將扣分上限限制為7-3=4分。

針對問題【惡意扣分】

建議:被評價人提出質疑,由課代表和老師負責確認,如果是惡意扣分採取懲罰措施,比如倒扣扣分點50%的分數。這需要定義好惡意扣分的標準,比如同一個扣分點重複超過3次,使用遠超要求的極端測試用例等。

針對問題【為了不被扣分,主動或被迫放棄一些優秀的面向對象思想】

建議:實行額外獎勵機制:限定一定數量的申優名額,申優作業由老師直接審閱,同時給予適當的單次作業獎勵分數。比如功能完善,介面和繼承等定義得十分好,代碼思路清晰,酌情在本次作業增加5~10分等。

某同學針對【惡意扣分】的改進建議:

1.首先還是大家匿名互評,然後提交BUG,但一定要盡量詳細,不然到時候雙方申訴時不佔優勢。

2.但是不再由學生扣分,學生只負責找BUG,等雙方申訴仲裁過之後,出最終結果。

3.最後扣分和加分的任務交給老師,因為BUG原因都寫的很清楚,所以老師看一遍應該就能判斷出來怎麼給分了。

因為有很多人實在是亂扣分,都不按指導書來,純粹是想多掙點分。而且把判分的權利給老師,大家心裡也會覺得公平點。

三、 老師們提出的課程改進建議

以下為老師提出的將來可能會實行的課程改進建議,希望能獲得大家的意見:

針對題目難度、頻度、課程制度:

今後課程可能會參照計組的模式,整個課程期間提供多個項目,每個項目之間有一定關聯,項目有多個難度級別,大家按照課程進展來提交作業。進度相對有彈性,一學期可能只會有2~3個項目,但是程序規模更大。依舊採取互評,但是只是測試者得分,編程者不扣分。編程者最終的得分由整個項目的質量而定。

另一種評分制度:

課程組楊老師擬將得分標準劃分為兩個部分:得分部分與失分部分。

得分部分: 老師放出作業要求時會明確規定得分點,這些得分點可能是完成了某個功能,實現了某種設計要求等等。只要能夠達到相應的要求即可得到相應的分數。

失分部分:互評測試時被他人找出Bug將被扣分。但最終扣分並不會直接加給測試同學,而是根據測試同學所報出來的問題總數和準確率而定。

老師坦白以上兩種方案的考慮可能還不夠完備,也希望大家能夠幫忙改進。同時也希望大家能夠提出自己的改革方法。

個人覺得老師是真的決定要改革了,所以還請大家能夠積極討論。


面向對象課程結束了,先不管這個制度如何有漏洞,如何令人詬病。這門課真的讓人看到了很多同學的兩副面孔

快期末的時候,給扣分最多的同學們搬了個獎,獎項的獲得者已經讓人驚訝。在了解了一下大部分同學的最終成績之後發現,其實平常在群里以一種「我要帶領大家批判OO這個制度」的所謂大佬們,實際上都是最終的既得利益者。

他們一邊批判著,叫囂著,背地裡每次作業扣分都是幾十分。我也見過某位大佬因為自己一個2分的被扣分,和助教們爭得死去活來的,一口咬定是對方的問題的情況。對啊,他是大佬,怎麼可能出錯?

有一種稀里糊塗跟著起義,最後被自己人捅刀也不知道的感覺。

但是,我相信一定有真心希望OO這門課程能夠不斷完善改進,讓下一屆能夠好一點的絕大多數存在。我也抱怨過,憤懣過,但總得做點什麼落實到行動上,才能讓這門課越來越好。而不是瞎帶節奏,滿身戾氣叫囂著,最後課程結束拿著扣別人幾百分的高分拍拍屁股,享受著被叫做「大佬」的喜悅。

最無奈最可怕的事情,大概就是屠龍少年最終變成了惡龍。



我竟無言以對。。。


這一年我對oo課程的觀察來看,跟學長一屆的比較來說。公共測試集的引入和查重機制的加強對課程的改善還是很有效果的。

針對oo作業來說,我並不認為這些作業是沒有意義的,只是很多人對於扣分與被扣分的不公平遷怒到了作業上。

扣分機制的公平性才是這門課程有瑕疵的關鍵。

然鵝,這些都不是重點,這門課程的某助教才是讓人感到無比噁心的關鍵。

這位助教貌似很喜歡一種讓人跪舔他的感覺

在我跟很多學長的交流中,這位助教基本不幹實事,大部分時間在群里發號施令,掛一個和同學交流工作的虛職,還喜歡邀功??

課程組不知道怎麼想的,讓這個人在群里瞎嗶嗶,瞎帶節奏?

最後奉勸這位助教一句,人在做,天在看


是我見過最蠢的評分制度,只有老師一個人認為這是好的。

得分的高與低,運氣成分佔了絕大的比重。這就使得這門課的得分幾乎成了一門玄學。


到第九周後 基本上大家都不會找那麼多錯誤了 除了一些喪心病狂的傢伙


我一直堅信,只要規則是一致的明確的,不會為了某個人或者某一小群人出於「同情」或者「諒解」而朝令夕改,那麼即使規則再操蛋,大家也是服氣的。


希望DDL有它存在的意義(微笑


可恥的匿了,12級學生,三年後沒想到這個問題又浮上了水面。

作為挑錯和被挑錯最後得分是負分的學生,當時對這門課程是充滿怨氣的。

三年後回過頭看看,老師是好老師,藍圖也是好藍圖,只不過,太過理想化了。如其他同學所說的,課代表水平的不確定性、瘋狂挑錯坑人的自私心裡等等都成為掣肘這門課程發展的關鍵問題。

如果大家都能夠認真對待,平常心對待,這門課程還是很有意義的。

但是事實是,哪有這個如果……


推薦閱讀:

上海大學與第二軍醫大學合併後,排名會上升多少?
曲師大究竟是怎樣的一所大學?
近期媒體上所謂的「男孩危機」是偽命題嗎?
如何評價英劇《糟糕歷史》(Horrible Histories)?
《師說》裡面為什麼「愛其子,擇師而教之」對於自己卻恥師?

TAG:教育 | 計算機 | 北京航空航天大學 |