程 凡,趙海峰,祝思齊
(1.安徽大學計算機科學與技術(shù)學院,安徽 合肥 230039;2.安徽省樅陽中學,安徽 樅陽 246701)
近些年,軟件產(chǎn)業(yè)作為信息產(chǎn)業(yè)的一個重要組成部分,在國民經(jīng)濟發(fā)展中占有越來越重的地位,并逐漸發(fā)展成國家基礎(chǔ)性、戰(zhàn)略型產(chǎn)業(yè)。而隨著軟件產(chǎn)業(yè)的迅速發(fā)展,行業(yè)內(nèi)對軟件從業(yè)人員也提出更高層次的要求[1]。盡管對此,國內(nèi)高校也相應加大了軟件工程專業(yè)的人才培養(yǎng)力度,但高端軟件人才的匱乏卻嚴重阻礙著我國IT行業(yè)的發(fā)展。特別是近幾年,產(chǎn)業(yè)界不少企業(yè)共性地反映很多軟件工程專業(yè)畢業(yè)生雖然掌握較多的理論知識,但實踐技能較差,不能直接為企業(yè)所用,離一個合格的軟件工程師仍相距甚遠。如何培養(yǎng)出真正滿足企業(yè)需求的軟件工程師是我國高校軟件工程專業(yè)教育亟待解決的一個現(xiàn)實問題。
與此同時,為了適應經(jīng)濟社會發(fā)展和產(chǎn)業(yè)結(jié)構(gòu)優(yōu)化升級對本科工程專業(yè)培養(yǎng)的新要求,2010年6月,教育部在天津召開“卓越工程師教育培養(yǎng)計劃”的啟動會,聯(lián)合有關(guān)部門和行業(yè)協(xié)會,共同實施卓越工程師計劃。其目標旨在采用適合工程化人才培養(yǎng)的教育理念和教學理論,創(chuàng)新的教學模式和教學方法,在工程教育環(huán)境背景下,培養(yǎng)學生的實踐能力、創(chuàng)新能力和團隊協(xié)作能力[2]。卓越工程師計劃的出現(xiàn)給正在深化本科工程專業(yè)人才培養(yǎng)改革的工科院校指明前進的方向。
對比軟件工程專業(yè)學生的培養(yǎng)現(xiàn)狀和國家卓越工程師計劃的要求,我們不難發(fā)現(xiàn)當前的軟件工程教學離培養(yǎng)一個卓越的軟件工程師仍相距甚遠。究其原因主要在于長期以來,我國高校對軟件工程專業(yè)實踐教學不夠重視,實踐培養(yǎng)模式存在諸多弊端,突出表現(xiàn)在:
當前很多高校軟件工程專業(yè)設置只注重理論課程的系統(tǒng)性和一致性。對于實踐課程不重視,相關(guān)教學理念不清晰,實踐內(nèi)容缺乏對產(chǎn)業(yè)實際應用的針對性,因此很難培養(yǎng)出滿足企業(yè)需求的專業(yè)人才。
現(xiàn)有軟件工程實踐課程各自為政,分散教學。部分實踐課程教學內(nèi)容不僅老舊,而且存在重復,更多反映企業(yè)真實需求的實踐無法得到體現(xiàn),整個軟件工程專業(yè)實踐沒有形成一個完整的教學體系,也就很難培養(yǎng)出具有工程化能力的卓越工程師。
現(xiàn)有的軟件工程專業(yè)實踐教學方法多停留在對理論知識的實驗驗證層面,缺乏對軟件真實案例的教學。同時整個教學過程仍主要通過“教師教,學生學”的慣性模式,缺乏學生自主學習、師生互動學習等教學模式,忽略了在實踐中對學生自主能力和創(chuàng)新能力的培養(yǎng)。
當前軟件工程實踐考核主要基于個人運行程序和檢查文檔兩種手段,在此基礎(chǔ)上給出每位同學的實踐成績。這種方式看似公平,其實不然。由于考核體系單一,考核指標粗放,無法體現(xiàn)軟件工程教育的專業(yè)特點,也就無法準確地反映對學生能力化培養(yǎng)的實際效果。
現(xiàn)有的軟件工程專業(yè)實踐教師都是來自高校且多各自為政,在教學經(jīng)驗和教學方式上缺乏必要的溝通協(xié)作,沒有形成一個統(tǒng)一的教學團隊,同時部分教師自身的工程能力不強,一線隊伍中“雙師型”教師人才嚴重匱乏。沒有一支合格的專業(yè)教師隊伍也就很難培養(yǎng)出符合企業(yè)要求的卓越軟件工程師。
綜上所述,現(xiàn)有的軟件工程實踐教學已經(jīng)不能滿足卓越工程師背景下的專業(yè)培養(yǎng)要求,構(gòu)建新的實踐教學體系已成為當前的一個迫切需求。對此,自2011年起,作為“211”高校的安徽大學在其計算機科學與技術(shù)學院對軟件工程專業(yè)實踐教學方面進行一系列改革探索,并取得一定的階段性成果,本文就是在對已有部分成果總結(jié)的基礎(chǔ)上形成。
安徽大學計算機科學與技術(shù)學院成立于2004年,其前身是1984年成立的安徽大學計算機科學與工程系。學院是我國為數(shù)不多的幾個擁有計算機國家重點學科的單位,其下設的軟件工程專業(yè)為國家一級碩士學位點,近些年為我省乃至全國培養(yǎng)了大量的軟件工程專業(yè)人才。盡管如此,我院軟件工程實踐教育同樣面臨著前述的困境。針對現(xiàn)有軟件工程專業(yè)實踐教學的不足,并結(jié)合卓越工程師計劃的要求,自2011年起,我院對軟件工程專業(yè)的實踐教學進行以下幾個方面的改革:
當前的軟件工程專業(yè)只注重理論課程教育,對實踐教學缺乏足夠的重視,導致理論和實踐脫節(jié),學生動手解決實際工程問題的能力較差。對此,我院軟件工程專業(yè)結(jié)合卓越工程師計劃中注重“工程能力”培養(yǎng)的要求,提出面向工程的實踐教學理念。其核心是:以實際工程為背景,以工程技術(shù)為主線,將軟件工程專業(yè)的基礎(chǔ)知識點和軟件產(chǎn)業(yè)的實際應用相結(jié)合,在實踐教學中突出工程化教學理念,著力培養(yǎng)學生的工程意識、工程素質(zhì)和工程實踐能力。并將上述理念貫穿軟件工程實踐教學始終,通過全面改進軟件工程專業(yè)的人才培養(yǎng)模式、調(diào)整實踐教學體系、改進實踐教學方法、突出能力化考核方式、建立創(chuàng)新型實踐教學團隊等一系列改革措施,讓學生在各方面的能力得到全面均衡的發(fā)展,為將來走出校門,成為一名滿足軟件企業(yè)要求的專業(yè)人才奠定堅實的基礎(chǔ)。
現(xiàn)有的軟件工程專業(yè)實踐教學體系設置不夠完善,缺乏對實踐教學的統(tǒng)一規(guī)劃和過程化管理,因此難以達到卓越工程師的培養(yǎng)要求。對此,我院在前述面向工程的實踐教學理念指導下,將體現(xiàn)卓越工程師培養(yǎng)要求的CDIO思想引入軟件工程實踐教學中,構(gòu)建基于CDIO的一體化實踐教學體系。
所謂的CDIO是指構(gòu)思(Conceive)、設計(Design)、實現(xiàn)(implement)和運作(Operate),其核心思想在于以現(xiàn)代工業(yè)產(chǎn)品從構(gòu)思研發(fā)到運行改良乃至最終廢棄的生命全過程指導工程教學過程,并系統(tǒng)地提出具有可操作性的能力培養(yǎng),全面實施以及檢驗評測等眾多標準[3]。
具體來說,我院以軟件工程專業(yè)實踐教學平臺為基礎(chǔ),以CDIO提出的4類一級能力、17組二級能力以及73種具體能力為培養(yǎng)依據(jù),對軟件工程專業(yè)實踐教學體系進行分階段的整體規(guī)劃。整個實踐教學體系如下圖所示:
圖1 基于CDIO的一體化實踐教學體系
從圖中可以看出,本科階段的軟件工程實踐教學體系分為驗證性實驗、綜合型課程設計、院內(nèi)實訓和企業(yè)實習四個階段。其中第一階段:驗證性實驗為與專業(yè)課程配套的基礎(chǔ)性實驗,此階段主要培養(yǎng)學生的學科基礎(chǔ)能力;第二階段:綜合型課程設計是將內(nèi)容緊密耦合、存在內(nèi)在關(guān)聯(lián)的幾門課程整合為一體,建立基于課程群的課程設計,該階段主要培養(yǎng)學生的專業(yè)基礎(chǔ)能力;第三階段:院內(nèi)實訓是由院內(nèi)教師根據(jù)實際案例構(gòu)建若干個標準實訓課程,模擬企業(yè)開發(fā)過程,本階段主要培養(yǎng)學生的工程實踐能力,并初步鍛煉學生的團隊合作能力;最后一個階段為企業(yè)實習階段,學生在前幾個階段的基礎(chǔ)上,已具有一定的工程能力,在本階段通過讓學生進入真實的軟件企業(yè)實習,進一步提高學生的實踐能力,并重點培養(yǎng)學生的創(chuàng)新能力及團隊協(xié)作能力。通過上述分階段的一體化培養(yǎng),為學生成為一名卓越的軟件工程師打下堅實的基礎(chǔ)。
針對當前實踐教學方法單一,實踐教學效果差。結(jié)合卓越工程師計劃中“培養(yǎng)學生自主創(chuàng)新能力和團隊協(xié)作能力”的要求,我院根據(jù)軟件工程專業(yè)自身特點,提出采用多樣化實踐教學方法,重點引入面向問題驅(qū)動和案例驅(qū)動的實踐教學。其中在軟件工程專業(yè)實踐早期,由于學生專業(yè)知識較少,在實踐教學中采用面向問題驅(qū)動的教學,以專業(yè)問題求解為主線索來組織和設計實踐教學內(nèi)容,突出設計性實驗和綜合性實驗,鍛煉學生綜合運用所學理論知識進行問題分析、設計和實現(xiàn)的能力,在實踐中培養(yǎng)學生的自主創(chuàng)新意識。而隨著學生專業(yè)知識水平的不斷提高,在專業(yè)實踐后期,主要采用面向案例驅(qū)動的實踐教學方法,即根據(jù)學生的本階段知識水平將軟件企業(yè)的真實案例抽象為大小合適的實踐教學內(nèi)容,要求參與實踐的學生采用分組的方式共同合作完成一個實際案例,通過此過程培養(yǎng)學生的團隊合作能力。
此外,在以上兩種教學方法的基礎(chǔ)上,改變老師教、學生學的傳統(tǒng)教學模式,把國際上最新的翻轉(zhuǎn)課堂 (Flipped Class)引入實踐教學中[4],將課堂變成老師和學生、學生和學生之間互動的場所,同時擴充傳統(tǒng)“課堂”的概念,充分發(fā)揮互聯(lián)網(wǎng)的優(yōu)勢,形成以學生自主學習、師生互動為主,教師引導為輔的多樣化實踐教學方式,從而達到更好的實踐教學效果。
考核是軟件工程專業(yè)實踐教學的一個重要組成部分,對教學的最終效果具有導向性影響。傳統(tǒng)的基于運行程序,檢查文檔的單人考核方式從培養(yǎng)卓越工程師的角度來看顯然過于簡單。對此,我院結(jié)合軟件工程實踐教育的特點,以卓越工程師計劃的培養(yǎng)目標為依據(jù),創(chuàng)新地提出基于CDIO的能力化考核方式。具體來說,新的考核方式從CDIO的12條檢驗評測標準出發(fā)[5],對圖1中所示的不同階段實踐課程進行區(qū)別考核,細化每個階段實踐課程的考核內(nèi)容,明確考核指標。
對于第一階段的驗證性實驗,由于這時的實驗主要為專業(yè)基礎(chǔ)實驗,因此本階段的考核仍以傳統(tǒng)的單人考核方式為主,主要考核學生的實踐編程能力。在進入第二階段綜合型課程設計后,結(jié)合該階段為基于課程群的實踐特點,這時的考核雖仍是基于單人方式,但是考核的重點變成考核學生的個人級工程項目開發(fā)能力。從學生項目的大小、缺陷率、項目質(zhì)量、進度管理等進行全面度量,并以此作為最終評分依據(jù)。另外,對于高分同學需要進行額外的程序答辯,為進入下一個階段提前做好準備。當進入第三階段院內(nèi)實訓時,由于本階段主要通過實際案例模擬企業(yè)的實訓,要求參與案例的學生組成項目組,共同進行項目的開發(fā)。在此過程中,培養(yǎng)學生工程實踐能力和團隊協(xié)作能力。此時的實踐考核采用團隊評分制,按照項目的進展進行分段評分,在評分時強調(diào)相關(guān)團隊學生的參與性,最終的考核成績由文檔評審、程序評審、個人答辯和隊內(nèi)互評等多項指標按一定權(quán)值共同構(gòu)成。軟件工程專業(yè)實踐的最后一個階段為企業(yè)實習,它在第三階段考核體系的基礎(chǔ)上,重點將工程化能力和軟件職業(yè)素質(zhì)引入本階段考核內(nèi)容,并將企業(yè)的反饋作為學生本階段考核的一個重要指標,在此基礎(chǔ)上,全面地對學生進行綜合的能力化考核。
教師在教學過程中起到“引導學生入門、指導學生學習”的作用,提高教育師資隊伍的工程實踐能力和工程創(chuàng)新能力對培養(yǎng)卓越軟件工程師具有重要的影響[6]。對此,我院結(jié)合教師自身的實際情況主要從以下三個方面構(gòu)建具有專業(yè)背景的創(chuàng)新型實踐教學團隊。
首先,建立一支年齡知識結(jié)構(gòu)合理、專業(yè)水平高、教學能力強的軟件工程課程組,通過集體的力量共同建設實踐教學內(nèi)容,共同實施實踐培養(yǎng)過程,共同評價實踐培養(yǎng)質(zhì)量,突出團隊教學優(yōu)勢。
其次,積極地創(chuàng)造條件,提升團隊教師的專業(yè)知識水平,培養(yǎng)教師的工程實踐能力。通過組織教師參加軟件企業(yè)的新技術(shù)培訓,定期安排教師與企業(yè)研發(fā)人員開展軟件新技術(shù)和項目管理經(jīng)驗交流等活動,使教師獲得一定的實際項目能力和經(jīng)驗。此外,每年至少給團隊內(nèi)教師提供一次參加國內(nèi)外軟件工程實踐會議的機會,通過與國內(nèi)外同行的交流溝通,讓一線的教師隨時掌握軟件工程實踐教學的最新進展,將更新的知識帶入實踐教學中。
最后,大力引進具有工程實踐背景的軟件技術(shù)人員充實到實踐教學團隊中,建立一支校內(nèi)專職實踐教師和校外兼職實踐教師相結(jié)合的高水平“雙師型”師資隊伍[7]。一方面鼓勵團隊內(nèi)教師利用課余時間去軟件企業(yè)兼職,通過參加企業(yè)實際項目的研發(fā),不斷地學習和提高自身的工程實踐能力、創(chuàng)新能力。另一方面,堅持聘請校外一些具有高水平或豐富實踐經(jīng)驗的專家和軟件工程師,參加學院本科生的專業(yè)實踐教學,共同指導學生的畢業(yè)設計和企業(yè)實習等。通過專職教師和兼職教師的相互學習和技能互補,共同提高實踐教學的效果。
自2011年新的實踐教學體系在我院軟件工程專業(yè)進行試點到現(xiàn)在,總共涉及近500名學生,總體實施效果明顯,學生的綜合實踐能力明顯增強,就業(yè)情況普遍較好。以2013年軟件工程專業(yè)畢業(yè)生為例,學生一致反映改革后的專業(yè)實踐教育確實提高了學生的實際動手能力,并在一定程度上鍛煉學生的工程實踐能力和創(chuàng)新能力。后續(xù)的跟蹤調(diào)查表明,在這批學生進入到實際的軟件企業(yè)后,都能較快地融入企業(yè)項目中,不少學生甚至在不到一年的時間內(nèi)成為企業(yè)的業(yè)務骨干。與此同時,企業(yè)的相關(guān)反饋也表明,我院所采取的面向卓越工程師的實踐教育機制適合軟件企業(yè)的需求,培養(yǎng)的學生在專業(yè)技能、團隊協(xié)作、人際交流、項目規(guī)劃等方面具有較強的能力,更加適合在現(xiàn)代軟件企業(yè)中發(fā)展。
針對現(xiàn)有軟件工程專業(yè)實踐教學中存在的不足,本文結(jié)合卓越工程師培養(yǎng)計劃的要求,從多個角度對專業(yè)實踐教學進行改進。首先根據(jù)卓越工程師的培養(yǎng)目標提出面向工程的實踐教學理念;然后,在此基礎(chǔ)上構(gòu)建基于CDIO的一體化實踐教學體系;針對當前實踐教學方法單一,實踐教學效果差,提出采用多樣化的實踐教學方法;同時對舊的實踐考核方式進行改革,引入基于能力化的考核方式;最后,通過建立一支具有專業(yè)背景的實踐教學團隊來保障實踐教學的有效實施。近三年的實施效果表明:新的實踐教學體系確實鍛煉學生的實踐能力和創(chuàng)新能力,增強學生的綜合素質(zhì),為將來成為卓越軟件工程師奠定堅實的基礎(chǔ)。
[1]姚寶敬,余燕丹.2013-2014上海入圍國家規(guī)劃布局內(nèi)重點軟件企業(yè)情況簡析[J].軟件產(chǎn)業(yè)與工程,2014,(1):65-69
[2]教育部高教司理工處文件.卓越工程師培養(yǎng)計劃學校培養(yǎng)標準編制要求(討論稿)[Z].2009
[3] J Bankel,KF Berggren,K Blom,et al.The CDIO syllabus– a comparative study of expected student proficiency[J].European Journal of Engineering Education,2003,28(3):1 -26
[4]張金磊,王穎,張寶輝.翻轉(zhuǎn)課堂教學模式研究[J].遠程教育雜志,2012,(8):46 -51
[5]畢忠勤,單美靜.基于CDIO的軟件工程專業(yè)培養(yǎng)體系建設[J].計算機教育,2013,(8):23-26
[6]趙韓強,郭寶龍,趙東方,等.國外大學產(chǎn)學研合作教育對我國實施卓越工程師教育培養(yǎng)計劃的啟示[J].高等理科教育,2010,(4):49 -52
[7]王責成,張明雷.“卓越工程師教育”中青年教師教學能力培養(yǎng)研究[J].煤炭高等教育,2010,(3):14-19