給老師的信
由於我非常不想考編譯器的期末考,因為準備這科要花很多時間。基於個人利益的考量下,寫了封信給老師陳情,希望不要考期末考。但是失敗了。這封信沒什麼私密之處,就公開出來給大家笑笑吧。
江老師:
冼鏡光先生曾在《The DAO of programming》一文中提到:
.程式設計之道無遠弗屆, 雖晨曦微風而返.
.道生機器語言, 機器語言生組譯程式.
.組譯程式生編譯程式, 於是萬餘語言存焉.
.各語言有其目的, 均表達軟體之陰陽; 其在道中亦各得其所.
可見 Compiler 在資訊工程領域中是多麼重要的一門課程,所有程式都因為有了編譯器,使得程式設計師可以使用各種語言,優雅如 perl,亦或嚴謹如 C,如此多采多姿的各種程式語言來表達以及撰寫,學習 compiler 箇中奧妙也是相當重要,並且必須的事情。
而在老師前幾天對於全班同學強力的要求下,想必用心的人都不會再用計算機剖析器這類的程式敷衍了事,而能夠自行撰寫出 Micro 的剖析器。然而學生為了要幫助同學渡過難關,也提供了自己撰寫的 yacc 與 lex 規則給部份同學,並切囑不可抄襲。
班上用心於此課程者不勝枚舉。但期末非得考試,則讓學生頗有疑慮。
在編譯程式這門課中,學生認為有兩大重點:第一為編譯器理論,二為實作。由於畢業班的教學時間較少,所以僅能上到 Parser 這部份的課程。學生上課雖然不甚專心,但也自己閱讀了相關的網路資料以及書籍。而老師所指派的作業中有實作項目,用心的同學也老實不客氣的做了些成品出來。
而做出來的這些成品,在背後也隱藏了撰寫出一個剖析器所需的理論基礎。所謂冰山一角,寫一個高階程式不需瞭解其運作原理,但寫一個 scanner 以及 parser 卻不得不瞭解其中奧秘。
以學生的淺見,然而如果期末還要考試,會實作的學生雖然已經懂得實作一個 parser 所需要的知識以及原理,但是卻還要記憶,背一背下次寫 compiler 還是要翻書;其他學生硬背起來,考得或許還比會實作的還高,但是考完之後還是忘記,而且還不會寫 compiler! 更何況老師還要改這麼多份考卷,如此看來, 期末考有壞無好阿。
兩次跟老師反映,說實在的也是基於學生本身的利益。但從各個角度來看期末考這事情,不考絕對比考了還要有更多好處,各方面也都可以因而受益,也不與教學目的背道而馳。
所以還請老師能夠多多考慮,不要期末考。
資工系二技二年級學生 XXX(我的名字)