摘要:結(jié)合實(shí)際教學(xué)體驗(yàn)和教改體會(huì),提出軟件工程專業(yè)多課程協(xié)作項(xiàng)目驅(qū)動(dòng)教學(xué)模式,闡述該教學(xué)模式的基本思想和教學(xué)實(shí)施方案,介紹湘潭大學(xué)軟件工程專業(yè)實(shí)施該教學(xué)模式的案例。
關(guān)鍵詞:軟件工程;課程協(xié)作;項(xiàng)目驅(qū)動(dòng)教學(xué)
2001年,IEEE發(fā)布的計(jì)算學(xué)科教學(xué)規(guī)劃把計(jì)算學(xué)科劃分為計(jì)算機(jī)科學(xué)、計(jì)算機(jī)工程、軟件工程、信息系統(tǒng)、信息技術(shù)和其他有待發(fā)展的學(xué)科等子學(xué)科,這標(biāo)志著軟件工程這個(gè)名詞作為與計(jì)算機(jī)理論相對(duì)應(yīng)的各種軟件實(shí)踐技術(shù)的總稱,在世界范圍內(nèi)得到公認(rèn)。我國在2001年底推出了示范性軟件學(xué)院計(jì)劃,把軟件工程專業(yè)定位在面向軟件產(chǎn)業(yè)培養(yǎng)高素質(zhì)的工程型軟件實(shí)用人才。
目前,國內(nèi)開設(shè)軟件工程專業(yè)的高校眾多,但在教學(xué)過程中,很多學(xué)校仍存在這樣的情形:部分教師長期工作在高校,理論水平較高,但缺乏實(shí)際工程經(jīng)驗(yàn),講授課程仍偏于理論;部分教師雖然認(rèn)識(shí)到社會(huì)的真實(shí)需求,并通過項(xiàng)目驅(qū)動(dòng)等方法來開展工程實(shí)踐類課程教學(xué),但是,教學(xué)內(nèi)容往往局限于自己所承擔(dān)課程,而不能從軟件工程的全局角度對(duì)知識(shí)進(jìn)行講授,由此,導(dǎo)致學(xué)生知識(shí)體系離散,對(duì)軟件開發(fā)過程的整體把握能力不強(qiáng)。
針對(duì)以上情況,本文提出多課程協(xié)作的項(xiàng)目驅(qū)動(dòng)教學(xué)模式,對(duì)該模式的基本思想和教學(xué)實(shí)施方案設(shè)計(jì)進(jìn)行闡述,并對(duì)該教學(xué)模式的實(shí)施案例進(jìn)行介紹。
1 多課程協(xié)作項(xiàng)目驅(qū)動(dòng)教學(xué)的基本思想
所謂項(xiàng)目驅(qū)動(dòng)教學(xué)法,就是在建構(gòu)主義教學(xué)理論指導(dǎo)下,按照“案例導(dǎo)向、項(xiàng)目驅(qū)動(dòng)”的設(shè)計(jì)思想,以項(xiàng)目開發(fā)為主,課堂教學(xué)為輔,模擬軟件企業(yè)先進(jìn)的軟件項(xiàng)目管理和開發(fā)過程,進(jìn)行應(yīng)用軟件的開發(fā)實(shí)踐。
項(xiàng)目驅(qū)動(dòng)教學(xué)是當(dāng)前高校軟件工程專業(yè)比較推崇的教學(xué)模式,在工程實(shí)踐類課程的教學(xué)上,多數(shù)高校都不同程度采用該教學(xué)方法。但是,在教學(xué)實(shí)踐中,我們發(fā)現(xiàn)一些問題,例如,不同的教師雖然能夠按照軟件開發(fā)流程和規(guī)律授課,使內(nèi)容之間保持密切聯(lián)系,但在教學(xué)實(shí)踐中,由于主講教師的不同或?qū)W習(xí)階段的不同,知識(shí)常常被割裂。項(xiàng)目驅(qū)動(dòng)教學(xué)法對(duì)增強(qiáng)學(xué)生學(xué)習(xí)積極性、提高學(xué)生實(shí)踐能力有明顯效果,但是,在課程中引入過多不同的項(xiàng)目,并在項(xiàng)目間頻繁切換,學(xué)生思路容易混淆,另外,項(xiàng)目問的重疊也給學(xué)生帶來了不必要的負(fù)擔(dān),學(xué)生很難從全局角度深入把握項(xiàng)目的完整流程,傳統(tǒng)項(xiàng)目驅(qū)動(dòng)教學(xué)如圖1所示。
軟件工程是一門綜合性、實(shí)踐性很強(qiáng)的專業(yè),其知識(shí)體系各環(huán)節(jié)之間存在緊密的聯(lián)系。我們認(rèn)為,加強(qiáng)教師教學(xué)協(xié)作與交流,通過少數(shù)知識(shí)面覆蓋廣泛的典型項(xiàng)目,將軟件工程專業(yè)中各實(shí)踐類專業(yè)課程跨學(xué)期串聯(lián)起來,可以成倍放大項(xiàng)目驅(qū)動(dòng)教學(xué)的功用。這種教學(xué)方式也可以加強(qiáng)學(xué)生對(duì)軟件開發(fā)過程的整體認(rèn)識(shí),使其充分、綜合地運(yùn)用所學(xué)專業(yè)知識(shí),提高學(xué)生解決現(xiàn)實(shí)復(fù)雜問題的能力,此即多課程協(xié)作項(xiàng)目驅(qū)動(dòng)教學(xué)模式的基本思想。基于該教學(xué)模式的教學(xué)進(jìn)程情況如圖2所示。
與常規(guī)項(xiàng)目驅(qū)動(dòng)教學(xué)相比,該教學(xué)模式最大的特點(diǎn)在于:所采用項(xiàng)目是經(jīng)過特殊設(shè)計(jì)和優(yōu)化的,除具有突出的可供課程教學(xué)的特定知識(shí)點(diǎn)外,更加注重項(xiàng)目包含知識(shí)點(diǎn)的廣度與延續(xù)性,力求關(guān)聯(lián)多個(gè)學(xué)期不同課程的教學(xué)。在實(shí)踐類相關(guān)課程采用該教學(xué)模式后,教學(xué)進(jìn)程主要以項(xiàng)目開發(fā)流程為主,弱化學(xué)期的概念,以往在同一學(xué)期內(nèi)并行的課程,會(huì)出現(xiàn)同學(xué)期內(nèi)區(qū)分階段、錯(cuò)開教學(xué)的情形。
2 教學(xué)實(shí)施方案設(shè)計(jì)
軟件工程專業(yè)多課程協(xié)作的項(xiàng)目驅(qū)動(dòng)教學(xué),對(duì)高校傳統(tǒng)的按課程、分學(xué)期進(jìn)行知識(shí)講授的教學(xué)模式進(jìn)行較大的改動(dòng),因此,在實(shí)施過程中,整個(gè)教學(xué)方案要作出相應(yīng)調(diào)整以適應(yīng)新教學(xué)模式的特點(diǎn)。軟件工程領(lǐng)域各種技術(shù)快速發(fā)展,而傳統(tǒng)教學(xué)模式卻存在嚴(yán)重滯后的弊端,所以,采用該教學(xué)模式時(shí)要對(duì)整個(gè)教學(xué)實(shí)施方案進(jìn)行持續(xù)的改進(jìn),緊跟軟件工程的發(fā)展步伐。教學(xué)實(shí)施方案構(gòu)成如圖3所示。
下面,我們對(duì)本文教學(xué)模式實(shí)施方案中的各構(gòu)成部分作介紹。
2.1 課程分析
在引進(jìn)項(xiàng)目驅(qū)動(dòng)法進(jìn)行教學(xué)實(shí)踐的時(shí)候,不同課程的知識(shí)點(diǎn)經(jīng)常會(huì)有交叉,在教學(xué)中,不同教師的課程引進(jìn)不同的項(xiàng)目,并在項(xiàng)目間頻繁切換,學(xué)生的思路容易混淆,另外,項(xiàng)目間的重疊也給學(xué)生帶來了不必要的負(fù)擔(dān)。為實(shí)施多課程協(xié)作的項(xiàng)目驅(qū)動(dòng)教學(xué),我們有必要進(jìn)行相應(yīng)的課程分析,建立新的課程體系。
課程分析關(guān)鍵要解決以下幾個(gè)問題。
1)課程性質(zhì)分析。
分析總結(jié)課程基本性質(zhì),抽取適合項(xiàng)目驅(qū)動(dòng)教學(xué)的工程實(shí)踐類課程,適當(dāng)增加實(shí)踐類選修課程的比例,使教師和學(xué)生有充分的選擇自由度和余地。
2)課程的時(shí)序拓?fù)潢P(guān)系。
根據(jù)軟件開發(fā)過程的實(shí)際情況確立課程教學(xué)的時(shí)序關(guān)系,厘清課程之間的關(guān)聯(lián)性與結(jié)合點(diǎn)。
3)課程的分類與組合。
將課程分類,每個(gè)分類代表了一個(gè)專業(yè)方向,課程按不同分類進(jìn)行組合以便統(tǒng)籌教學(xué)。要注意的是,分類之間的部分核心課程可能存在重疊。
在課程的具體設(shè)置上,可以以專業(yè)應(yīng)用能力為主線,將理論、技術(shù)和應(yīng)用結(jié)合起來構(gòu)建課程體系,采取“平臺(tái)+模塊”的課程體系結(jié)構(gòu),平臺(tái)即公共課程、專業(yè)基礎(chǔ)和專業(yè)核心課程平臺(tái),模塊即在平臺(tái)基礎(chǔ)上進(jìn)行專業(yè)方向分流。
2.2 項(xiàng)目庫建設(shè)
項(xiàng)目的設(shè)計(jì)是項(xiàng)目驅(qū)動(dòng)教學(xué)的基本要素,項(xiàng)目選取的優(yōu)劣直接影響到后續(xù)教學(xué)的開展和教學(xué)效果。項(xiàng)目設(shè)計(jì)要根據(jù)教學(xué)要求和特點(diǎn),選擇合適的項(xiàng)目任務(wù),使之具有可操作性,要對(duì)整門課程及各教學(xué)單元進(jìn)行教學(xué)目標(biāo)分析,以確定所學(xué)知識(shí)的“主題”,并按項(xiàng)目的內(nèi)存規(guī)律進(jìn)行整合。
為真正實(shí)現(xiàn)多課程的項(xiàng)目教學(xué),我們需要建設(shè)一個(gè)知識(shí)覆蓋面廣、題材豐富的教學(xué)項(xiàng)目庫,所采用項(xiàng)目除按照上述標(biāo)準(zhǔn)進(jìn)行構(gòu)建外,還需進(jìn)一步優(yōu)化,在具備可供課程教學(xué)的特定知識(shí)點(diǎn)外,更要注重項(xiàng)目包含知識(shí)點(diǎn)的廣度與延續(xù)性,以關(guān)聯(lián)多個(gè)學(xué)期不同課程的教學(xué)。
在實(shí)際操作過程中,直接通過一個(gè)項(xiàng)目覆蓋所有相關(guān)課程的教學(xué)是不現(xiàn)實(shí)的。對(duì)此,我們可以采用教研小組的形式,共同設(shè)計(jì)數(shù)帚精簡的、能涵蓋多門課程內(nèi)容的典型項(xiàng)目,各門諜程的教師都針對(duì)該項(xiàng)H內(nèi)容進(jìn)行本門課程的教學(xué),由于項(xiàng)目是由多門課程的教師共同研討出來的,各門課程的教學(xué)實(shí)踐活動(dòng)都由此項(xiàng)目統(tǒng)一驅(qū)動(dòng),以保證知識(shí)的整體性和連貫性。
在條件允許的情況下,學(xué)校應(yīng)與企業(yè)聯(lián)合,引入適合教學(xué)的真實(shí)項(xiàng)目,或聘請(qǐng)具有豐富實(shí)踐經(jīng)驗(yàn)的工程技術(shù)人員參與項(xiàng)目設(shè)計(jì)和開發(fā)指導(dǎo),這對(duì)項(xiàng)目庫建設(shè)是非常有益的補(bǔ)充和完善。
2.3 教學(xué)反饋與交流平臺(tái)構(gòu)建
反饋與交流是教學(xué)過程中非常重要的環(huán)節(jié),在反饋與交流中,教學(xué)計(jì)劃和進(jìn)程得到完善并進(jìn)行微調(diào),以切合每一次具體的教學(xué)。
傳統(tǒng)教學(xué)反饋與交流主要表現(xiàn)為口頭反饋交流、習(xí)題講解、階段測驗(yàn)、期末測驗(yàn)等方式,這些方式都存在信息傳遞的滯后性,不利于交流反饋信息的統(tǒng)計(jì)分析和及時(shí)響應(yīng)。為了實(shí)現(xiàn)更高效的交流,我們要引入先進(jìn)的信息化技術(shù)手段,即通過信息化于段實(shí)現(xiàn)教學(xué)任務(wù)的發(fā)布、完成任務(wù)的在線提交、評(píng)價(jià),以及教學(xué)雙方的互動(dòng)交流,構(gòu)建一個(gè)高效的教學(xué)反饋交流平臺(tái)。
教學(xué)反饋與交流主要包括3類。
1)師生之間的互動(dòng)交流:
2)任課教師之間的交流;
3)學(xué)生之間的交流。
2.4 考核評(píng)價(jià)體系建設(shè)
傳統(tǒng)的課程考核主要是對(duì)教學(xué)結(jié)果的考核,對(duì)過程的考核則相對(duì)不足,單純的結(jié)果考核存在偶然性。新的教學(xué)模式需要以項(xiàng)目開發(fā)為中心,建立新的考核評(píng)價(jià)體系,考核的同時(shí)注重過程和結(jié)果。
具體的考核評(píng)價(jià)方案可以采用階段性任務(wù)考核與項(xiàng)目成果評(píng)價(jià)考核結(jié)合的方式進(jìn)行。最終考核評(píng)價(jià)等級(jí)將由階段考核評(píng)價(jià)與項(xiàng)目成果考核評(píng)價(jià)的結(jié)果按一定權(quán)重比例計(jì)算取得,過程和結(jié)果的同時(shí)考核,保證了學(xué)生持續(xù)學(xué)習(xí)的動(dòng)力,同時(shí),也保證了指導(dǎo)教師對(duì)整個(gè)教學(xué)過程的持續(xù)引導(dǎo),并做到全程可控。
考核評(píng)價(jià)方式以成果展示、項(xiàng)目成員答辯和指導(dǎo)教師代碼審查的方式進(jìn)行,以功能實(shí)現(xiàn)完整度、代碼規(guī)范性、UI體驗(yàn)、性能等作為關(guān)鍵評(píng)價(jià)指標(biāo)。
2.5 具體教學(xué)實(shí)施
上述各項(xiàng)前導(dǎo)工作完成以后,我們可以開始實(shí)施具體教學(xué)。在實(shí)施過程中,我們通過4個(gè)任務(wù)模塊來完成整個(gè)教學(xué)進(jìn)程。完整的教學(xué)實(shí)施過程如圖4所示。
其中,階段性項(xiàng)目教學(xué)與反饋、教研組交流與評(píng)判兩個(gè)步驟將經(jīng)過多次的循環(huán)迭代,也就是說,項(xiàng)目的開發(fā)過程將細(xì)分為多個(gè)子階段,每個(gè)子階段由教學(xué)、實(shí)踐、反饋交流、評(píng)價(jià)等環(huán)節(jié)作為一個(gè)短周期,通過多個(gè)周期的快速迭代實(shí)現(xiàn)項(xiàng)目開發(fā)的最終任務(wù)。
3 教學(xué)實(shí)施案例
湘潭大學(xué)軟件工程專業(yè)從2007年開始探索多課程的項(xiàng)目驅(qū)動(dòng)教學(xué)改革,并針對(duì)新的教學(xué)模式設(shè)計(jì)了一整套與行業(yè)發(fā)展接軌、強(qiáng)調(diào)學(xué)生工程實(shí)踐能力培養(yǎng)的課程體系,并付諸實(shí)施。
在教學(xué)實(shí)施過程中,我們通過自行開發(fā)的輔助教學(xué)平臺(tái)完成了網(wǎng)上項(xiàng)目任務(wù)發(fā)布、學(xué)生網(wǎng)上選題與分組、在線作品提交、教師在線評(píng)審、用戶在線交流等功能,每個(gè)項(xiàng)目都根據(jù)軟件開發(fā)進(jìn)程劃分為若干子階段,每一個(gè)子階段都設(shè)置了任務(wù)完成結(jié)果提交的截止時(shí)間,超時(shí)者無法提交所完成的作品,這保證了教學(xué)過程的嚴(yán)謹(jǐn)、有序。教師可以直接從網(wǎng)上下載或查看學(xué)生所提交的作品,并進(jìn)行項(xiàng)目評(píng)審、打分。
項(xiàng)目開發(fā)中的各子階段都有多次反饋與交流,因此,整個(gè)項(xiàng)目是構(gòu)建在各子階段可靠的質(zhì)量保證之上,因此,教學(xué)項(xiàng)目整體完成率較高。最終評(píng)審統(tǒng)計(jì)項(xiàng)目完成率一般保持在70%以上,其余學(xué)生也都能在不同程度上完成項(xiàng)目開發(fā)任務(wù)。
在該教學(xué)模式實(shí)施過程中,學(xué)生感到教學(xué)過程生動(dòng)、內(nèi)容充實(shí),對(duì)軟件工程的理解以及軟件開發(fā)過程的整體把握能力有很大提高,就業(yè)競爭力得到提升。
4 結(jié)語
軟件工程專業(yè)多課程協(xié)作項(xiàng)目驅(qū)動(dòng)教學(xué)改善了不同課程各自為政實(shí)施項(xiàng)目教學(xué)的狀況,特別設(shè)計(jì)和優(yōu)化的項(xiàng)目將不同學(xué)期、不同任課教師的專業(yè)相關(guān)課程有機(jī)結(jié)合起來,在實(shí)踐中學(xué)習(xí)、在學(xué)習(xí)中實(shí)踐有效激發(fā)了學(xué)生的學(xué)習(xí)積極性、主動(dòng)性和創(chuàng)造性,同時(shí)使學(xué)生系統(tǒng)體驗(yàn)了軟件開發(fā)過程的完整流程,使他們的知識(shí)結(jié)構(gòu)能夠適應(yīng)軟件行業(yè)發(fā)展的需要,由此,學(xué)生能更快、更平穩(wěn)的融入實(shí)際工作環(huán)境,與行業(yè)需求無縫連接,為日后的事業(yè)發(fā)展打下良好的基礎(chǔ),這樣的教學(xué)效果充分切合了教育部對(duì)軟件工程專業(yè)的定位。
(編輯:郭小