林 菲,孫 勇
(1.杭州電子科技大學(xué) 軟件工程學(xué)院,浙江 杭州 310018;2.浙江交通職業(yè)技術(shù)學(xué)院 信息學(xué)院,浙江 杭州 311112)
基于CDIO工程教育模式的W eb開發(fā)課程教學(xué)改革*
林 菲1,孫 勇2
(1.杭州電子科技大學(xué) 軟件工程學(xué)院,浙江 杭州 310018;2.浙江交通職業(yè)技術(shù)學(xué)院 信息學(xué)院,浙江 杭州 311112)
W eb開發(fā)是一門綜合性較強(qiáng)的課程。在該課程中運(yùn)用CDIO工程教育理念,通過團(tuán)隊項目驅(qū)動的形式,對課程內(nèi)容、教學(xué)方法、考核方式等方面進(jìn)行了教學(xué)改革的實(shí)踐探索。通過實(shí)踐證明,這種教學(xué)改革模式,對學(xué)生工程能力、團(tuán)隊協(xié)作能力和創(chuàng)新能力提升有極大的幫助。
CDIO;工程教育;項目驅(qū)動;教學(xué)改革
Web開發(fā)課程作為軟件工程專業(yè)培養(yǎng)體系的一個重要組成部分,承擔(dān)著學(xué)生的Web開發(fā)工程實(shí)踐能力的培養(yǎng)。課程的培養(yǎng)目標(biāo)是讓學(xué)生理解Web開發(fā)的基本原理,掌握Web開發(fā)的流程,具有服務(wù)器端軟件開發(fā)的能力,最終培養(yǎng)能夠編寫高質(zhì)量代碼,并能調(diào)試代碼缺陷和完成模塊設(shè)計工作的Web開發(fā)的工程型、應(yīng)用型人才,該門課程綜合應(yīng)用了學(xué)生前期所學(xué)的程序設(shè)計基礎(chǔ)、軟件工程、數(shù)據(jù)庫設(shè)計、靜態(tài)網(wǎng)頁設(shè)計等多門課程知識,是一門綜合工程能力提升的課程。
近年來,CDIO作為一個相對新穎而有效的工程型人才培養(yǎng)的教育理念,已逐步被國內(nèi)外高校認(rèn)可和推廣。CDIO工程教育理念強(qiáng)調(diào)學(xué)生的實(shí)踐能力、學(xué)習(xí)能力以及系統(tǒng)掌控能力的培養(yǎng),并提出了具有可操作性的能力培養(yǎng)、全面實(shí)施以及檢驗測評的12條標(biāo)準(zhǔn),包括工程教育背景環(huán)境下課程計劃的設(shè)計與實(shí)施、學(xué)生的學(xué)習(xí)經(jīng)驗和能力、教師的工程實(shí)踐和教學(xué)能力、學(xué)習(xí)方法、實(shí)驗條件以及考核標(biāo)準(zhǔn)。[1]因此,本文利用CDIO工程教育理念對Web開發(fā)課程內(nèi)容進(jìn)行重新設(shè)計。通過在教學(xué)過程中為學(xué)生建立真實(shí)企業(yè)軟件項目開發(fā)的工作框架,引導(dǎo)學(xué)生“做中學(xué)”,提高學(xué)生的學(xué)習(xí)能力和工程實(shí)踐能力,使學(xué)生結(jié)合某些具體工程項目來學(xué)習(xí)實(shí)踐以得到通用的能力,進(jìn)而能夠處理解決一般工程項目全生命周期產(chǎn)生的問題,包括用戶需求分析、系統(tǒng)設(shè)計、數(shù)據(jù)庫設(shè)計、Web環(huán)境構(gòu)建、Web編程、系統(tǒng)測試、Web安全配置及系統(tǒng)部署與維護(hù)的能力,掌握Web項目開發(fā)流程、開發(fā)技巧和編程規(guī)范,并通過案例庫的拓展觸類旁通,能以小組為單位獨(dú)立開發(fā)一個實(shí)際的Web項目,能勝任.NET Web程序員。充分發(fā)揮Web項目開發(fā)課程在軟件工程專業(yè)課程體系中的核心作用。
本課程將立足于企業(yè)實(shí)際需求,采用CDIO的工程教學(xué)理念,對課程的教學(xué)內(nèi)容重新設(shè)計,并改革傳統(tǒng)的教學(xué)方法、教學(xué)手段和考試方式,探索出一套符合本課程實(shí)際的課程教學(xué)模式改革方案。在課程內(nèi)容設(shè)計上,突出工程教育的特點(diǎn),施行理論教學(xué)、課內(nèi)實(shí)踐和課外實(shí)踐相結(jié)合的模式。
1.項目驅(qū)動的理論教學(xué)
課程圍繞服務(wù)器控件、狀態(tài)管理、網(wǎng)頁外觀設(shè)計與布局、站點(diǎn)導(dǎo)航、數(shù)據(jù)庫訪問、數(shù)據(jù)綁定及綁定控件、安全管理、Web服務(wù)、AJAX、Web應(yīng)用程序部署等技術(shù)的講授。以企業(yè)真實(shí)的Web項目貫穿整個理論教學(xué)過程,將課程內(nèi)容依據(jù)項目子功能劃分為若干個知識點(diǎn),并根據(jù)知識點(diǎn)與項目子任務(wù)的形式設(shè)計理論教學(xué)環(huán)節(jié)。當(dāng)完成所有理論課程后,便開發(fā)出一個完整的Web項目。這種對項目進(jìn)行解構(gòu)與分離,分任務(wù)分模塊安排章節(jié)的教學(xué)設(shè)計思想符合項目教學(xué)、任務(wù)驅(qū)動的課程體系改革的目標(biāo)。
2.團(tuán)隊項目驅(qū)動的實(shí)踐教學(xué)
在實(shí)踐教學(xué)環(huán)節(jié)中,要求5~6人組成一個項目組,進(jìn)行團(tuán)隊項目開發(fā)。項目開發(fā)過程中,需按照Web項目研發(fā)的過程實(shí)施一個完整的軟件設(shè)計過程,如圖1所示。以項目組為單位深入市場調(diào)研,進(jìn)行項目挖掘,并做好立項工作。項目確立后,進(jìn)行需求分析、系統(tǒng)設(shè)計、系統(tǒng)實(shí)現(xiàn)、系統(tǒng)測試、系統(tǒng)部署驗收等完整的項目開發(fā)過程。通過此流程,學(xué)生不僅掌握了Web開發(fā)相關(guān)技術(shù)的運(yùn)用,更重要的是熟悉了項目的實(shí)際開發(fā)流程,做到與真實(shí)崗位的對接。
在項目開發(fā)流程中,首先要解決項目源的問題。因此,本課程主要采用以下三種途徑解決項目的來源問題:[2]
(1)校內(nèi)項目的挖掘。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,使得Web技術(shù)廣泛應(yīng)用在教學(xué)及科研工作中。信息化教育時代對教師提出了開發(fā)課程網(wǎng)站、畢業(yè)設(shè)計管理系統(tǒng)等Web應(yīng)用系統(tǒng)的需求,而大部分教師都不懂Web開發(fā)技術(shù)。這些系統(tǒng)的需求相對明確,規(guī)模相對較小,學(xué)生在一個學(xué)期內(nèi)基本能完成項目開發(fā)任務(wù)。如果能讓具備Web開發(fā)技能的教師帶著學(xué)生開發(fā)這些Web應(yīng)用系統(tǒng),不僅能解決其他教師的實(shí)際需求,也能滿足學(xué)生通過實(shí)際項目的開發(fā)來訓(xùn)練自身的Web開發(fā)技能的需求,獲得雙贏效果。
(2)校外項目的挖掘。通過與企業(yè)和社會的緊密聯(lián)系,結(jié)合學(xué)生Web開發(fā)的實(shí)際能力,承接一些可行性較高的Web項目。這種方式具有一定的風(fēng)險和挑戰(zhàn),但能有效地解決學(xué)生培養(yǎng)與實(shí)際社會需要脫節(jié)的問題。
(3)自主選擇項目。為提高學(xué)生項目開發(fā)的熱情和興趣,可以根據(jù)學(xué)生個人興趣及開發(fā)能力,讓其自主選擇項目。
當(dāng)項目來源解決后,接下來最為重要的就是按圖2所示的各個任務(wù)完成項目的開發(fā)工作。每個任務(wù)的實(shí)施都包含下發(fā)任務(wù)、任務(wù)實(shí)施、任務(wù)評價和補(bǔ)充講授四個步驟。通過這四個任務(wù)實(shí)施步驟嚴(yán)格控制項目的實(shí)施過程,確保各個團(tuán)隊項目順利進(jìn)行。
在本課程的教學(xué)中,將綜合運(yùn)用多種教學(xué)方法:
(1)分組教學(xué)。整個教學(xué)過程中,將采取項目組的形式,將全班學(xué)生分為幾個項目組,一般項目組人數(shù)控制在5~6人,配有一個項目組長。教師在項目實(shí)施過程中充當(dāng)總工程師和客戶代表的角色。以“自主、協(xié)作、創(chuàng)新”的新理念,充分發(fā)揮學(xué)生的自主能動性,提高學(xué)生團(tuán)隊協(xié)作意識和創(chuàng)新精神。[3]
(2)互動式教學(xué)。在實(shí)踐環(huán)節(jié)的項目評審階段,學(xué)生將前一階段的項目設(shè)計內(nèi)容,制作成課件,以小組為單位,上講臺講解,并和其他小組進(jìn)行交流討論。最后由教師負(fù)責(zé)點(diǎn)評各小組的前一階段設(shè)計,并要求各小組,針對討論和點(diǎn)評結(jié)果修改前一階段設(shè)計。以此強(qiáng)化學(xué)生的質(zhì)量意識,促進(jìn)相互學(xué)習(xí)。
(3)啟發(fā)式教學(xué)。對教學(xué)重點(diǎn)講深講透,使學(xué)生能舉一反三;在講解知識點(diǎn)時,以問題的形式,啟發(fā)學(xué)生思考各個網(wǎng)站場景所使用的知識點(diǎn)。由于Web開發(fā)是各類技術(shù)的綜合應(yīng)用,因此在講解過程中,需要介紹其他相關(guān)技術(shù),并啟發(fā)學(xué)生自主學(xué)習(xí)。
(4)創(chuàng)新獎勵法。在設(shè)計過程中鼓勵學(xué)生利用新知識、新技術(shù),以提高自學(xué)能力。
總之,在教學(xué)方法上,注重學(xué)生分析和解決問題的能力培養(yǎng),實(shí)施提問—判讀—思考—討論—總結(jié)的課堂啟發(fā)式教學(xué),激發(fā)學(xué)生獨(dú)立思考,提高學(xué)生學(xué)習(xí)的主動性。開展第二課堂教育,通過業(yè)余時間輔導(dǎo)學(xué)生項目小組,鼓勵承接社會企業(yè)項目,鼓勵學(xué)生參加多媒體設(shè)計競賽和申報各類大學(xué)生項目。充分利用網(wǎng)絡(luò)資源,鼓勵學(xué)生到網(wǎng)上交流,推薦學(xué)生瀏覽優(yōu)秀的學(xué)習(xí)網(wǎng)站,指導(dǎo)學(xué)生參與網(wǎng)上專題討論,學(xué)會通過網(wǎng)絡(luò)查找解決方案,形成了生動活潑的學(xué)習(xí)局面。
本課程注重多元化的考核機(jī)制,從多個方面考核學(xué)生。著重考核學(xué)生的實(shí)際工程能力、團(tuán)隊合作能力和創(chuàng)新意識。該課程的考核體系包括三部分:[4]
(1)平時表現(xiàn)情況,占20%。根據(jù)學(xué)生的出勤情況、課堂紀(jì)律情況和作業(yè)上交情況給分。每次上課講解的課堂案例,需要學(xué)生以作業(yè)的形式鞏固并通過作業(yè)提交系統(tǒng)提交上來,教師檢查完成情況,作為平時考核的一部分。
(2)項目完成情況,占40%。根據(jù)項目開發(fā)各階段的任務(wù)完成情況及項目最終完成情況評分。該部分的成績主要由教師、項目組長按照每人工作量的大小分配,避免學(xué)生偷懶,也有利于教師給每個學(xué)生打分。項目要求最后上交軟件、項目文檔。并要求各小組進(jìn)行項目總結(jié)陳述及答辯。首先由項目組長進(jìn)行項目總結(jié),各項目小組成員陳述自己在開發(fā)過程中所完成的工作及收獲。教師將根據(jù)不同學(xué)生的陳述進(jìn)行提問,并由學(xué)生回答。根據(jù)學(xué)生的回答及項目實(shí)現(xiàn)情況,給予相應(yīng)的成績。通過提問答辯的形式可以真實(shí)反映學(xué)生的實(shí)際工程能力。
(3)期末上機(jī)考試,占40%。由于該課程的實(shí)踐性較強(qiáng),閉卷考試根本無法考核學(xué)生的實(shí)際工程能力,只能讓學(xué)生死記硬背,毫無意義,因此本課程期末考試采用上機(jī)開卷考試形式??己说膬?nèi)容立足于課堂講解的知識,對課堂教學(xué)案例進(jìn)行擴(kuò)展,要求學(xué)生完成其擴(kuò)展功能。根據(jù)完成情況,給予相應(yīng)成績??荚嚻陂g允許學(xué)生查閱各類參考書籍和MSDN等幫助信息。
以上三種考核方式結(jié)合,不僅能評測學(xué)生對課程內(nèi)容的掌握程度,更能對學(xué)生的獨(dú)創(chuàng)性、探索性、分析問題能力進(jìn)行全面地評估。
本課程以CDIO工程教育理念為指導(dǎo),以團(tuán)隊項目為核心,對課程教學(xué)內(nèi)容進(jìn)行重新設(shè)計。通過團(tuán)隊項目驅(qū)動的形式引導(dǎo)學(xué)生“做中學(xué)”,提高學(xué)生的獨(dú)立分析問題和解決問題的能力,提高學(xué)生的開發(fā)技巧、編程規(guī)范和文檔書寫規(guī)范。課程教學(xué)中理論與實(shí)踐并重,以團(tuán)隊項目實(shí)現(xiàn)為主線,利用學(xué)生的主觀能動性,調(diào)動學(xué)生的學(xué)習(xí)積極性,培養(yǎng)團(tuán)隊協(xié)作意識。同時,本課程引入有效的考核機(jī)制,能有效評價學(xué)生實(shí)際工程能力,有利于培養(yǎng)真正具有實(shí)際工程能力的創(chuàng)新型軟件工程人才。
[1]韓智,張振虹,李興娟.基于CDIO 理念的軟件工程課程教學(xué)改革[J].計算機(jī)教育.2010(11):56-59.
[2]林嶺.軟件工程的團(tuán)隊項目驅(qū)動教學(xué)模式探討[J].福建師范大學(xué)學(xué)報(自然科學(xué)版).2011,27(3):14-17.
[3]劉林東.Web應(yīng)用開發(fā)課程的教學(xué)研究[J],電腦知識與技術(shù).2009,27(5):7834-7836.
[4]吳迪,李長榮.軟件工程專業(yè)W eb類課程實(shí)驗教學(xué)[J].計算機(jī)教育.2010,(18):147-149.
(編輯:金冉)
G424
B
1673-8454(2012)03-0072-03
*本文系浙江省新世紀(jì)教改課題(ZC2010023)、校高教研究課題(ZC1102)的研究成果。