喜歡這篇文章嗎?
在美教書20多年目睹的怪現狀
#02:奇怪的人和奇怪的想法
冼鏡光
November 7, 2021上線
上一篇怪現狀在此
這一系列文章和此地慣常談論的課題(攝影、相機、鏡頭等等)無關,所以放在家居瑣事系列。在美國教書二十多年,教過不少非常好的學生、差的當然也不會少;同樣地,每個系也都有些有意思和奇奇怪怪的教授(含系主任)。所以,這一系列文章就談談這二十多年來看過、經歷過的趣事、怪事、甚至莫名其妙的事。
這一篇繼續談那間區域型大學發生過的奇事,本來以為這是獨立事件,後來和其他朋友談起來,才知道這是很普遍存在的怪現象:會做研究的人不會教書。🤔
話說從頭。在美國,很多計算機科學(Computer Science,簡稱CS)系是從數學、統計或電機系分出來的,只有比較晚成立的系才會是CS。台灣用的資工系名稱在美國非常少見,至少我沒看到過。
我到的那間區域型大學的Math/CS(數學/電腦科學)是不分的,系很大(以區域型大學而言),數學組教授超多(但很多人都在教高中數學,例如代數、三角等)、計算機組人很少而且沒科班出身的。因為計算機專業就業愈來愈紅,主持招聘工作的一位數學組正教授M獨排眾議、堅持必須招一位科班出身博士,由新任教授主導改革該系的計算機大學課程(因為該系的CS課程一直由非科班出身左右、落後又陳舊)。我的聘書上就是如此明明白白地寫著的。
只要是改革,就一定會觸碰到一些人的既得利益、反彈是必然,所以M教授建議到職第二年後才動手,因為可以用一年的時間觀察系中的路障、以及可能的幫手。到了第二年,我拿到了一個美國國科會(National Science Foundation、簡稱NSF)的計劃,叫做Research Initiation Award(簡稱RIA,是目前CAREER獎的前身)。NSF知道區域型大學沒有做研究的實力、也沒有研究生,所以把支助研究生的預算全部刪除,但對我本人的要求卻一毛不減,而且還讓我買了一台機器、SGI的Indigo 2(目前這台機器送了給一位做Computer Architectures的同事,因為他需要一台MIPS CPU的機器、而不是模擬機),所以接下來三年都過得很好。
同時,M建議我找一位CS組的教授F共同組成委員會向學校申請課程設計的經費,所以,我、M和F組成一個小組,由我(真的只有我,新進教授都懂的)寫了一本長長的申請書。很快地,校方撥了3000美元經費下來。坦白說,我有NSF的錢,並不需要這些額外經費,所以M和F各分了1000美元,我也分了1000美元,但這1000美元是雜費(買東西、旅行、等等),我幾乎是用NSF的錢賠進去的。
接下來的半年中,我常向M請教許多問題、也得到相當有啟發性而且有用的建議。半年後,參照ACM的CC(Computing Curricula)建議寫成兩本報告,一本是理由、一本是細節,兩本加起來近100頁以上。照慣例,我是計劃主持人(PI)而M和F則是協同主持人(co-PI),三個人都簽了名、表示三人都同意報告中的內容。報告印了5份(當然從我的1000美金中支付),三人一人一份、學校一份、系一份,系主任說會在系務會議中討論。
一段日子之後開系務會議討論計算機組的修改課程事宜,一間大會議室中坐滿30多人。數學組的人有些不置可否(因為與己無關)、有些老派的根本就反對(因為這些人得改教新課、學新東西,何苦來哉)。有少數計算機組的人也不贊成,因為程式語言得從Pascal改成C/C++,這一兩位同仁的說法大致上反映出當時C/C++ vs. Pascal的爭論,一位的辦公室門上還貼了「C is a Crime!」的標語。另一些人則以爲搞那麽多課(譬如:作業系統、軟體工程、計算機結構、電腦繪圖、分散系統、等等)出來,誰去教?這個問題是有點道理的,數學組的正教授都有博士、但計算機的教授除我之外沒有博士學位,而且出身也未必全是計算機本業,要教這些大三和大四原本沒有的課真的很困難。好吧!這些反對意見都是預期的,也都可以回答,但答案是否會被這些人接受就不知道了。
怪事就發生在F教授身上。F教授是數學組跨計算機組的,本行是邏輯,似乎不太會程式寫作、但會談Prolog這套邏輯程式語言。輪到他發表看法時,他居然幾乎否定了這個提案、不贊成這些建議的課程改革。M教授事後說:He is nuts(他瘋了!)。原因是,F教授拿了$1000美元研究費、在最終報告上簽了字、但最後卻站出來反這份報告(也就是反了昨日的我);當然,投票結果可想而知,對我而言其實無所謂,因為離開那間學校已經是決定、只是什麼時候而已。這樣的同事這一輩子還是第一次碰到。
事情還有尾聲。F教授是學邏輯的,而1980和1990年代是邏輯語言Prolog盛行的年代,那個時候Prolog只有not運算、而且採用negation-as-failure的實現方式。簡單地說,當系統無法「証明」某命辭p為真時,not p為真,但因為系統未必具有所有能証明命辭p的資訊,所以當窮盡系統中所有知識都無法証明p為真,於是p為假、not p為真。問題是,有些系統中沒有的資訊是可以証明p為真的。
我讀博士時,Prolog正紅、AI課會用Prolog(甚至Concurrent Prolog)、程式語言(Programming Languages)課也會教Prolog等等,所以對Prolog是不陌生的。
回到F教授的話題。他也知道Prolog中not的問題,並且宣稱他和他的(大學)學生發展出Prolog中真正的not的解法,只需要在Prolog程式加四道敘述,他的解法在某符號邏輯的期刊上以摘要(abstract)型式發表。F教授在系上的一個研討會中發表了他的研究成果,我提出了幾個問題,其中一個是:『是否寫成程式廣泛地測試過呢』?最後,我的問題尖銳些:『如果not的問題那麽容易就可以解決了,為什麼Prolog系統都不用、而都採用negative-as-failure這個不太保險的方式呢?正因為如此,您的解法正確嗎?因為我有反例。』
或許這些問題得罪了他,此後他就不再見我了。最後,我一直沒有機會在系中求証「做研究的人不會教書」這個說法(這是M教授告訴我的),因為沒多久就和那個系說再見了,心中毫無遺憾。但是,新學校中居然也有極少部分人有此想法,當然這些人是不做研究的;然而,最近和一些教學中心的人以及純教書的人聊天後,倒也有了些深入的了解。這個課題容後再談。
未經本人同意,請勿轉載轉貼本文任何片段,請尊重智慧財產(著作)權
引用方式:冼鏡光,在美教書20多年目睹的怪現狀 #02:奇怪的人和奇怪的想法
,DCView.com達人部落格(http://blog.dcview.com/article.php?a=BTkDZVYyUWACYQ%3D%3D)
喜歡這篇文章嗎?