張 玥
編者按:在2008年11月15日召開的“第四屆全國計算機(jī)教育論壇”上,一位從大洋彼岸遠(yuǎn)道而來的特殊嘉賓為我們帶來了西方的教育教學(xué)理念,引起了普遍關(guān)注。他就是美國紐約市立大學(xué)布魯克林學(xué)院(CUNY)計算機(jī)與信息系教授David M. Arnow。David教授是計算機(jī)科學(xué)課程改革的主要倡導(dǎo)者,主要研究領(lǐng)域包括實(shí)驗(yàn)性分布式計算軟件和計算機(jī)科學(xué)教育。在這次論壇上,他詳細(xì)介紹了自己開發(fā)的基于Web的交互式程序設(shè)計編程語言學(xué)習(xí)系統(tǒng)——CodeLab,與各位老師交流了自己的教學(xué)經(jīng)驗(yàn)和體會,贏得與會者的好評。本刊記者(以下簡稱記)在會議期間采訪了David教授(以下簡稱D),就計算機(jī)教育教學(xué)等內(nèi)容進(jìn)行了深度訪談,以資國內(nèi)同行了解和借鑒。
記:CodeLab系統(tǒng)的反饋設(shè)計理念是什么?
D:CodeLab系統(tǒng)有針對用戶提出的問題而設(shè)計的反饋和建議板塊。有時學(xué)生提交的代碼總是通不過測試評估,他們很懊惱,會通過這個板塊提交意見,發(fā)泄一下,以為這樣的反饋意見反饋給了商業(yè)開發(fā)大機(jī)構(gòu),實(shí)際上他們并不清楚是直接提交給我本人了。我們開發(fā)教師會這樣親切地引導(dǎo)他們:“你最好是以一個禮貌的方式進(jìn)行交流……”,這名學(xué)生才恍然大悟。
去年暑期,我們以2003年來學(xué)生提交的3000萬條代碼為基礎(chǔ),分析他們的反饋問題及產(chǎn)生錯誤的原
因,充實(shí)系統(tǒng)反饋信息和指引,如對邏輯錯誤和編譯器錯誤信息的分析。在2006年秋季至2007年春季的時間里,反饋信息數(shù)量從600多條下降到60多條,這是因?yàn)槲覀円M(jìn)了新模塊:“Markup-注釋”。它收集了1300萬條提交的代碼,對正確或錯誤的方案進(jìn)行分析設(shè)計,增加了紅色小箭頭提示和陰影區(qū)域指引——可以稱之為“Google效應(yīng)”。我想,如果CodeLab有中國用戶,我們所收集的代碼量絕不僅僅是1300萬條,而是一億三千萬條了。這個功能大大減少了老師和學(xué)生的詢問信息,效果還是很好的。
我們提供的反饋信息越好,得到用戶支持需求的郵件越少。我們積極地改進(jìn)系統(tǒng)提示分析信息,得到更好的反饋!
記:您如何運(yùn)用CodeLab成績冊來評估學(xué)生學(xué)年的分?jǐn)?shù),如何量化?
D:我的方式是:學(xué)期總成績由五部分組成。即10% CodeLab;30% 期末考試;20% 期中考試;20%課堂提問和出勤;20% 程序設(shè)計。當(dāng)然,我也很重視學(xué)生的思考和表達(dá)。在20%的課堂提問和出勤分?jǐn)?shù)中,如果學(xué)生每堂課出勤并得到小測驗(yàn)滿分,但是從來不發(fā)言或提問,那么只能得到總分20分里的16分。
雖然CodeLab成績只占10%,但它是基礎(chǔ),其他90%的成績受益于基礎(chǔ)知識的掌握,課堂的小測驗(yàn)來自課本預(yù)習(xí)和CodeLab的習(xí)題。
在CodeLab花名冊評分記錄中,紅色為零分,綠色為滿分,黃色為半分。在規(guī)定的300道練習(xí)中,如果學(xué)生100道題準(zhǔn)時完成提交,100 道題延遲提交,100道題未完成提交,就只能獲得150分——因?yàn)橛?/3的題目遲交了。
記:學(xué)生使用CodeLab的效果如何?老師和學(xué)生們對它的評價如何?
D:根據(jù)學(xué)生使用CodeLab的反饋表明,一些學(xué)生很喜歡這個學(xué)習(xí)系統(tǒng);一些根本就不喜歡,因?yàn)樽鼍毩?xí)枯燥;一些接受但不喜歡:一些學(xué)生認(rèn)為這個系統(tǒng)很棒,比閱讀教材和聽講座的興趣要高漲得多??傊?,CodeLab是一種學(xué)習(xí)工具,也是一種學(xué)習(xí)資源,大多數(shù)學(xué)生能夠意識到CodeLab對它們的學(xué)習(xí)是有幫助的,因此持接受的態(tài)度。還有老師發(fā)來不滿意的報告——說他的學(xué)生做CodeLab的興趣比聽講課和讀課本高得多了。
威斯康星大學(xué)的Michael Schultz老師說:“作為一名大學(xué)二年級編程入門課程的教師,我現(xiàn)在向其他所有教師和學(xué)生強(qiáng)烈推薦使用CodeLab。我終于找到了既可以提供編程練習(xí)又可以提供評估支持的軟件了。”
奧克拉荷馬大學(xué)的Deborah Trytten教授說:“從2003年1月至今,我一直在“計算機(jī)編程導(dǎo)論”課程中使用Java CodeLab,它對那些以前沒有編程經(jīng)驗(yàn)、總出錯的學(xué)生幫助很大。CodeLab 對學(xué)生答案的快速反饋能夠引導(dǎo)學(xué)生不停地嘗試尋找解決方案,而不是放棄或即使寫下錯誤答案也一無所知。與以往相比,學(xué)生在編程方面的挫折感明顯更少,也更喜歡這門課。我們從Turings Craft得到大力支持,他們對所有合理要求及大部分不合理要求都給出了即時的回復(fù),我非常滿意,并打算在今后的編程入門課程中繼續(xù)使用它。
而學(xué)生的體驗(yàn)就更多些:
Akron大學(xué)的Greg M說:“我在學(xué)期初注冊了CodeLab,以為這又是枯燥的工作,但是它卻對我在C語言編程某些概念的理解上給了很大的幫助?!?/p>
布魯克林學(xué)院Enthan A說:“使用CodeLab后,我看到了自己測試成績有了實(shí)實(shí)在在的提高。它將編程概念分解為簡單的步驟,幫助我看清這些概念是如何結(jié)合在一起的,我可以更輕松地完成作業(yè)。”
奧克拉荷馬大學(xué)的N.G.說:“我喜歡CodeLab,它讓我熟悉編程詞匯。我不僅學(xué)會了如何通過編程獲得結(jié)果,還學(xué)會了與其他專業(yè)人員溝通的必要詞匯,讓別人知道我在做什么。CodeLab還給我?guī)砀嗟膶?shí)際編程經(jīng)驗(yàn),它好像家庭作業(yè)和編程項(xiàng)目的一個交匯點(diǎn),讓我一邊熟悉詞匯、語法,一邊又在項(xiàng)目編程中樂此不疲。”
記:您對編程語言入門課程教學(xué)設(shè)計的未來有何展望?
D:我的班級教學(xué)已經(jīng)是“課堂內(nèi)外顛覆”。我為課堂教學(xué)準(zhǔn)備了視頻,學(xué)生在課堂外就可以收看并學(xué)習(xí);學(xué)生通過CodeLab的實(shí)踐練習(xí)鞏固他們所學(xué)到的基本知識;而在課堂上,我提供額外的講座,但大多數(shù)時候,學(xué)生將時間花在做實(shí)驗(yàn)室項(xiàng)目上——這和25年前的教學(xué)完全相反。那時候,學(xué)生只能在課堂外做實(shí)驗(yàn)項(xiàng)目;而在課堂內(nèi)僅有講座而已,更沒有CodeLab。
記:計算機(jī)科學(xué)技術(shù)發(fā)展日新月異,您如何看待教學(xué)、研究與開發(fā)的關(guān)系?
D:總體上講,我們今天教授的理論技術(shù)知識,在十五年前大多數(shù)是不存在的。今天教授知識,是為了讓學(xué)生明天可以得到工作。我們的基礎(chǔ)教學(xué)不被今天的技術(shù)所左右,而仍然專注于基本原理和主要計算機(jī)技術(shù)知識的方向是正確的,無論是現(xiàn)在,還是未來的10年~30年。
大學(xué)的教學(xué)總是滯后于技術(shù)的發(fā)展和公司的開發(fā)速度,因此新技術(shù)何時到大學(xué)的教學(xué)課堂從來都是大學(xué)系里最大的爭論議題。通常計算機(jī)科學(xué)新技術(shù)都來源于科研成果,公司將研究成果應(yīng)用于實(shí)踐,然后科研機(jī)構(gòu)才用于教學(xué)——這確實(shí)是一個怪圈。因?yàn)樾录夹g(shù)源自學(xué)術(shù)研究,但直到在商業(yè)應(yīng)用領(lǐng)域取得了控制優(yōu)勢才被學(xué)術(shù)教學(xué)所采納,教授們才決定是否用于課堂教學(xué)。例如Python是由學(xué)術(shù)研究機(jī)構(gòu)開發(fā)的,直到Google 公司將其運(yùn)用于搜索引擎的商業(yè)技術(shù)開發(fā),北美多數(shù)的大學(xué)和企業(yè)才將其引入教學(xué)或培訓(xùn)課程。
記:您對這次訪問中國和參加“第四屆全國計算機(jī)教育論壇”有何感想?
D:通過對中國的訪問和參加“第四屆全國計算機(jī)教育論壇”,我了解到,無論在中國還是美國,我們教師都面臨許多同樣的教學(xué)方面的問題。通過與各位中國教師的交談和討論,我很驚訝中國教育教學(xué)領(lǐng)域?qū)和VB教學(xué)的需求,而在美國,這方面的教學(xué)已不常見。現(xiàn)在,我打算在CodeLab上給這些語言充實(shí)更多的內(nèi)容。
記:歡迎您再一次訪問中國,對未來之行,您有何希望?
D:我真的希望有機(jī)會能常來中國,一次的旅程不足以了解全面中國,了解中國的計算機(jī)教育。我想坐在中國大學(xué)的課堂里,旁聽中國的計算機(jī)課程,觀看實(shí)驗(yàn)室項(xiàng)目,也想有更多的機(jī)會和中國的教師面談。
非常遺憾,這次來華我沒有更多的時間參觀中國美麗的歷史古跡,了解更多的中國歷史和文化。相信隨著兩國學(xué)術(shù)交流的日益加深,我會認(rèn)識更多的中國學(xué)者,與他們進(jìn)行更深入和有益的對話。