羅 旋
摘 要:主要研究將CDIO高等工程教育模式應(yīng)用到Java語言課程實驗教學(xué)改革中,提出項目化的實驗內(nèi)容設(shè)計原則,并給出了精選的實驗教學(xué)項目示例,探討了對應(yīng)的教學(xué)方法,以提高學(xué)生的工程實踐能力。
關(guān)鍵詞:CDIO理論;Java實驗課程;教學(xué)內(nèi)容;教學(xué)方法;教學(xué)改革
中圖分類號:G642 文獻(xiàn)標(biāo)識碼: A
一、CDIO理論
CDIO工程教育模式是近年來國際工程教育改革的最新成果。CDIO 代表構(gòu)思(Conceive)、設(shè)計(Design)、實現(xiàn)(Implement)和運作(Operate),它以產(chǎn)品從構(gòu)思、研發(fā)、運行到廢棄和再利用的全生命周期為載體,讓學(xué)生以主動的、實踐的、課程之間具有有機(jī)聯(lián)系的方式學(xué)習(xí)和獲取工程能力,包括個人的科學(xué)和技術(shù)知識、終生學(xué)習(xí)能力、交流和團(tuán)隊工作能力和在社會和企業(yè)環(huán)境下構(gòu)建產(chǎn)品、過程和系統(tǒng)的能力。此模式符合工程人才培養(yǎng)的規(guī)律,代表先進(jìn)的教育方法。
二、CDIO模式下Java課程實驗教學(xué)內(nèi)容的設(shè)計原則
1.以項目為導(dǎo)向設(shè)計實驗內(nèi)容
CDIO倡導(dǎo)“基于項目的教育與學(xué)習(xí)”。項目設(shè)計與實現(xiàn)是培養(yǎng)學(xué)生應(yīng)用能力、工程能力和素質(zhì)的有效途徑。CDIO項目按規(guī)模和范圍劃分為三級。因此,筆者提出以3級項目為主導(dǎo)設(shè)計Java語言程序設(shè)計課程的實驗內(nèi)容,精選典型項目,貫穿多個知識點及整個Java課程。通過這些項目將實驗的主要內(nèi)容貫穿起來,把這些零碎的、分散的、相對獨立的理論知識貫穿起來,使得實驗的內(nèi)容成為具有一定聯(lián)系的有機(jī)的整體,提高學(xué)生的動手興趣,改善實驗效果。從而體現(xiàn)分析、設(shè)計能力的培養(yǎng)。
2.按照“實用、夠用、能用”的基本原則精選項目
項目的設(shè)計要有彈性,不能過大,以滿足不同水平學(xué)生的需求。應(yīng)該在有限的時間內(nèi),使學(xué)生掌握最精華的內(nèi)容。向?qū)W生提供簡單實用的程序模塊。初學(xué)程序設(shè)計,最怕大塊代碼。我們在設(shè)計教學(xué)用例時,不只是要求正確、能執(zhí)行,更要求突出主要知識點及應(yīng)用中的關(guān)鍵問題,以點帶面,盡量減少代碼量并給出詳細(xì)注釋,讓程序結(jié)構(gòu)與設(shè)計思想一目了然。合理設(shè)計“問題”,使學(xué)生在面對實際問題時學(xué)會分析問題、解決問題。
3.逐步推進(jìn)、承上啟下式的實驗內(nèi)容的組織
確定好貫穿課程的項目后,將應(yīng)用項目按照課程知識點的分布,以每課時能完成的獨立的功能模塊進(jìn)行劃分。將這些分解后的項目模塊分布到各個實驗中。這些項目模塊密切相關(guān),前一次實驗是后一次實驗的基礎(chǔ),學(xué)生的每一次實驗都必須是在前一次實驗完成的基礎(chǔ)下進(jìn)行,這樣隨著項目的逐步深入,學(xué)生能夠非常清楚地看到項目的進(jìn)展,提高學(xué)生的學(xué)習(xí)興趣。
這種逐層推進(jìn)、承上啟下、互相銜接的實驗教學(xué)內(nèi)容,注重前后知識點的串聯(lián)和銜接。這樣的設(shè)置符合CDIO模式鼓勵學(xué)生加強(qiáng)對大系統(tǒng)的適應(yīng)和調(diào)控能力。能夠盡早地將學(xué)生置于一種工程化的環(huán)境中,以工程化思維來思考問題。
三、CDIO模式下Java課程實驗教學(xué)內(nèi)容示例
按照實驗教學(xué)內(nèi)容的設(shè)計原則,筆者精選幾何形狀類、通訊錄程序、文字編輯器、計算器、瀏覽器、時鐘、鳥籠、聊天室等應(yīng)用項目貫穿該課程。每個項目應(yīng)用到了哪個章節(jié)的知識,用對勾表示出來。如下表所示:
Java課程項目內(nèi)容
例如,通信錄程序,要求學(xué)生開發(fā)一個能完成添加聯(lián)系人地址、保存、修改、查找功能的小系統(tǒng)。該系統(tǒng)涉及類、對象、繼承、圖形用戶界面、流和文件等Java主要知識點,若要使用數(shù)據(jù)庫保存大量的聯(lián)系人地址信息,還要涉及JDBC知識。麻雀雖小,五臟俱全。在學(xué)習(xí)“類與對象”章節(jié),要求學(xué)生設(shè)計編寫一個能存儲姓名、地址、E-mail的地址Address類;在“繼承與多態(tài)”章節(jié),以Address類作為超類,定義一個子類,它有另外一個成員變量來存儲電話號碼;在GUI章節(jié),利用窗體、菜單、字體、對話框、事件處理等知識,制作通訊錄程序的GUI;在“流和文件”章節(jié),將用戶界面上輸入的地址存儲在文件中,在界面列表中顯示所有地址;在“數(shù)據(jù)庫連接”章節(jié),改進(jìn)前面章節(jié)中用文件存儲所有地址,采用數(shù)據(jù)庫來存放所有地址。至此,一個功能完全的實用的通訊錄程序就開發(fā)完成了。
四、教學(xué)方法改革
1.“模仿學(xué)”教學(xué)法
CDIO倡導(dǎo)“做中學(xué)”,針對軟件項目開發(fā)的特點,可以具體細(xì)化到“模仿學(xué)”。目前構(gòu)建應(yīng)用系統(tǒng)都采用模塊法,更強(qiáng)調(diào)運行中的表現(xiàn)。寫程序,很大程度上是模仿。教師可以分析整個程序的結(jié)構(gòu)框架,繼而分出模塊或代碼塊。給出其中一個模塊或代碼塊的具體實現(xiàn)作為示例。示例一定要細(xì)膩。其中,關(guān)鍵的語句與體現(xiàn)算法的內(nèi)容要專門抽出來,放到實驗指導(dǎo)中。然后要學(xué)生仿照著去實現(xiàn)其他模塊或代碼塊。
2.模塊組裝教學(xué)法
在程序設(shè)計中,模塊是完成某個業(yè)務(wù)功能的一段程序或子程序,是大型軟件系統(tǒng)的一部分。每個模塊的研發(fā)和改進(jìn)都獨立于其他模塊的研發(fā)和改進(jìn)。這些模塊之間的相互作用就形成了系統(tǒng)的所有功能。模塊化是人類固有的一個非?;镜乃季S方式。模塊化不僅僅只是針對編程工作的,它也可以在開發(fā)流程、項目管理、團(tuán)隊組織等方面進(jìn)行有效地實踐。
參考文獻(xiàn):
[1]顧佩華,陸小華,沈民奮.CDIO大綱與標(biāo)準(zhǔn)[M].汕頭:汕頭大學(xué)出版社,2008-12:1.
[2]查建中.論“做中學(xué)”戰(zhàn)略下的CDIO模式[J].高等工程教育研究,2008(3):4-6.
[3]顧佩華,沈民奮,李升平,等.從CDIO到EIP:CDIO:汕頭大學(xué)工程教育與人才培養(yǎng)模式探索[J].高等工程教育研究,2008(1):12-19.
作者簡介:羅旋(1983—),女,漢族,湖北仙桃人,講師,碩士,主要研究方向為軟件開發(fā)、程序設(shè)計語言。
基金項目:武漢東湖學(xué)院2012年校級教研項目:CDIO理念下的Java語言程序設(shè)計課程實驗教學(xué)內(nèi)容和教學(xué)方法改革研究