標題:改程式作業,也是一種樂趣
日期:Fri Jun 29 19:54:51 2001

改程式作業,也是一種樂趣

前些日子批改大學部的平時C++ 程式手寫考卷,幾個星期的考卷改下
來,多多少少可以找到互助抄襲的痕跡,只是還不能義正詞辭的告誡
他們,以免被大學部的學弟妹回告污賴毀謗之嫌,一頂「我是來學校
學東西,不是來這裡被污辱」的大帽子扣下來,可真令人受不了。算
了,反正學習在他們,能力累積也在他們,我只要負責改考卷就好。

且不論他們的答案相似的原因為何(他們堅持沒作弊,不是嗎?),
在改考卷的過程中,倒也發覺了不少樂趣,一班考卷改下來,經常笑
到不支倒地。我想,當初老師改我們考卷的時候,大概也曾這樣拍桌
大笑吧。

起初改考卷時,為了追蹤考生的邏輯,常常是一頭霧水,不過經驗久
了,就明白,就是因為有人筆誤,接下去抄的人不加思索的後果。

變數 ans 演變成 nns ,就是有人字太草了,害得後面一大群人也跟
著繼續 nns 執行下去了。

不過 101 能變成 |0|(絕對值),再變成了 {0} ,可真令我拍案叫
絕了。

原版的提示字是「按Y繼續執行,任意鍵結束」,不過,原稿的那位
仁兄分兩行寫,於是呢,我就改了近一半的「按V繼續執行,任意」
只剩一半的句子。

有些學生想在變數上做手腳,換個名字以降低相似度,只是換裝換得
不夠齊全,此時就可以看到宣告A變數,程式中卻使用B變數的笑話
。

另一種學生則直接塗掉幾句語法,來增加錯誤率,以免搶了原版人的
分數。只是,C語言那句不去,偏偏就對 void main()下手,沒有了
void mail() 還能執行嗎?再配上考卷上那句考生自己註明的「可以
執行」句子,可真令人匪夷所思了。

有些學生聰明些,塗掉的是像int a=0;這樣的初始化,只是,這樣的
句子有時不只是初始化,還有歸零的作用,去掉了這一句,結果可是
差了十萬八千里哪。

考卷改出經驗後,就沒有再一份一份追蹤邏輯地改了,直接歸類後再
找出原版答案。相較之下就會發現,每次的全班五十幾個人的考卷版
本不會超過五份,有80%的學生會用相同的變數名稱,也有90%的考
卷的錯誤處是一樣的,例如原版沒寫結尾分號(;),大家倒也忠於
原作不變。

改了一學期的考卷之後,笑聲不斷。只是在笑聲之餘,仍然希望學弟
妹們能在學業上多一點用心,或許這樣的作法可以騙過老師、混到學
分,只是出了學校開始工作之後呢?還想這樣混下去嗎?努力一下吧
。


Dana
21:53 Jun. 29, 2001

--
作者:Dana (cowwu@ms15.hinet.net)
本文章公開於個人網站 http://www.dana.idv.tw