范慶春
(合肥師范學院 計算機學院,安徽 合肥 230601)
軟件產(chǎn)業(yè)作為信息產(chǎn)業(yè)的一個重要組成部分,在國民經(jīng)濟發(fā)展中占有越來越重要的地位,逐漸發(fā)展成為國家基礎性和戰(zhàn)略型產(chǎn)業(yè)。如何培養(yǎng)卓越工程師成了我國高等工程教育迫切需要解決的問題。
“卓越工程師教育培養(yǎng)計劃”(簡稱“卓越計劃”)是貫徹落實《國家中長期教育改革和發(fā)展規(guī)劃綱要(2010—2020 年)》和《國家中長期人才發(fā)展規(guī)劃綱要(2010—2020 年)》的重大改革項目,也是促進我國由工程教育大國向工程教育強國轉變的重大舉措,對促進高等教育面向社會需求培養(yǎng)人才、全面提高工程教育人才培養(yǎng)質量具有十分重要的示范和引導作用[1]。
然而,我國高等教育軟件工程專業(yè)普遍存在底子薄、應用弱的問題,最關鍵的制約因素還是軟件專業(yè)人才的結構性短缺,不僅缺乏系統(tǒng)分析員、項目總體設計師、產(chǎn)品經(jīng)理,而且缺乏從事基礎性軟件開發(fā)與設計、軟件測試的人才。目前,在軟件人才供需方面出現(xiàn)了這樣相互矛盾的難題:一方面,公司、企業(yè)招不到所需要的軟件專業(yè)人才;另一方面,軟件專業(yè)的畢業(yè)生動手能力差、就業(yè)難。之所以出現(xiàn)這種難題,究其原因,主要包括以下幾個方面:
實踐課程的教學通常依附于理論課程,往往是由理論教師根據(jù)需要安排實驗課時,實驗課程和實驗教師均處于被動地位。實踐課程的內(nèi)容也脫離軟件工程的實際,與社會及企業(yè)關于應用型人才的實踐能力要求尚存在很大的差距。
長期以來,高校普遍采用的人才培養(yǎng)模式主要以課堂傳授理論知識為主,實驗、實訓、實習的實踐還不夠充分。學生重理論,輕實踐,實踐教學地位也有待進一步提高。
當前高校從事實踐教學的師資隊伍大都是“從學校到學?!保狈嶋H項目的開發(fā)經(jīng)驗。高校由于與相關企業(yè)、行業(yè)的聯(lián)系不多,難以及時準確掌握企業(yè)的最新技術發(fā)展動向,導致從事實踐教學相應的實踐應用能力、創(chuàng)新能力不足。
在實踐教學中,普遍缺乏有效管理和質量意識,缺少符合實踐教學特點的質量評價體系和考核機制,對實踐教學的過程缺乏有效監(jiān)督。
本文從合肥師范學院卓越軟件人才培養(yǎng)實際出發(fā),探討解決以上軟件人才培養(yǎng)的矛盾難題。在國家倡導的“卓越計劃”的大環(huán)境下,合肥師范學院作為地方應用型本科高等院校,我們有必要研究面向卓越工程師的軟件工程專業(yè)人才培養(yǎng)的實踐教學體系構建,結合不同階段的能力培養(yǎng)要求,建立梯進式的實踐教學體系,構建應用型本科軟件工程專業(yè)實踐教學體系。
我院“卓越計劃”軟件工程專業(yè)培養(yǎng)方案,是按照既定的“三個平臺”和“八個模塊”課程體系[2]來重建的軟件工程專業(yè)培養(yǎng)方案,改善了原有培養(yǎng)方案中效果不佳的地方,形成了全新的專業(yè)課程培養(yǎng)體系,如圖1所示。
圖1 “卓越計劃”軟件工程專業(yè)課程體系的構建
在“卓越計劃”軟件工程專業(yè)課程體系的構建中,我們分為通識教育平臺、專業(yè)教育平臺和素質拓展教育平臺三大板塊,既最大限度地培養(yǎng)了學生的軟件開發(fā)和工程思維能力,又鼓勵學生創(chuàng)新創(chuàng)業(yè),參與社會實踐活動,開拓視野,與時俱進。
首先,將“數(shù)據(jù)結構”課程從原來的本科第三學期移到第二學期開設,這樣就與第一學期的“高級語言程序設計”課程聯(lián)系起來了;并將高級語言程序課程中的“指針和數(shù)據(jù)結構”課程的指針部分內(nèi)容融合到一起進行學習。接著,在原先的培養(yǎng)方案里,“Java程序設計”課程和“軟件工程”課程都是到本科第五學期才開設的,但軟件工程的項目教學因為學生之前沒有案例合作的經(jīng)歷,導致學生學習軟件工程實際效果不佳。而在新的培養(yǎng)方案中,將“Java程序設計基礎”課程移到第三學期,與“數(shù)據(jù)庫原理及應用”課程同時開設,學生在經(jīng)過這些課程的學習之后,可直接參與到開放實驗室項目的學習中,能夠完成規(guī)模適中的項目。
最為可貴的是,專業(yè)拓展課也按照“軟件開發(fā)崗位模塊”和“軟件測試崗位模塊”來設立課程群,涵蓋了Java程序設計基礎、Java高級編程技術、Oracle開發(fā)技術、Web開發(fā)基礎、JavaWeb開發(fā)技術、移動開發(fā)技術基礎、移動高級開發(fā)技術、Python程序設計、云計算與大數(shù)據(jù)概論、互聯(lián)網(wǎng)+營銷、Linux系統(tǒng)及應用等課程,較大程度地培養(yǎng)了學生的工程思維。
按照大學本科四年分段,卓越軟件工程班的實踐教學大體分為四個階段,即程序編程實驗階段、軟件系統(tǒng)實訓階段、綜合開發(fā)實訓階段和企業(yè)工程實踐階段,如圖2所示。
第一階段(大一),在完成高級語言程序設計實驗和數(shù)據(jù)結構實驗的基礎上,開展數(shù)據(jù)結構課程設計。這個階段的目標是訓練學生的編程思維,注重對學生個體編程能力的培養(yǎng)。
第二階段(大二),學生在系統(tǒng)學習數(shù)據(jù)庫原理及應用、Java程序設計基礎實驗等核心課程后,可以2~3人結成小組,完成一定規(guī)模的軟件項目,并將Java程序設計和數(shù)據(jù)庫結合起來開展Java程序設計課程設計。在學習了Oracle開發(fā)技術實驗、Java高級編程技術實驗等課程之后,學生則可以完成更大規(guī)模的項目,便于開展Java綜合課程實訓。這一階段的實訓目的主要是培養(yǎng)學生以小組的形式開發(fā)軟件系統(tǒng),一定程度上訓練學生的軟件開發(fā)能力。當然,在這個過程中,學生會面臨諸如項目計劃、需求分析、軟件測試等系列問題,借以啟發(fā)學生思考應對軟件開發(fā)可能遇到的問題的具體舉措。
第三階段(大三),學生在完成Web開發(fā)基礎實驗、JavaWeb開發(fā)技術實驗、軟件測試技術實驗、軟件工程實驗等基礎上,實施JavaWeb課程實訓。在學習移動開發(fā)技術基礎實驗、移動高級開發(fā)技術實驗的基礎上,逐漸完成移動綜合課程實訓。這個階段的教學模式是以軟件工程的指導思想來指導學生進行軟件的開發(fā),學生可以通過5~6人的團隊合作來完成更大規(guī)模的軟件開發(fā)和測試,從而訓練學生的工程思維,培養(yǎng)學生的團隊合作精神。
第四階段(大四),是企業(yè)工程實踐階段。在“軟件項目管理實驗”、“互聯(lián)網(wǎng)+營銷”等課程的學習基礎上,學生進入企業(yè)實戰(zhàn)學習,啟發(fā)工程思維,激勵學生在企業(yè)中完成畢業(yè)設計。畢業(yè)設計是由企業(yè)工程師和學校指導老師開展“雙師制”指導,實現(xiàn)真題真做,學生由企業(yè)實習階段順利實現(xiàn)工作過渡。
圖2 卓越軟件工程班梯進式實踐教學體系
經(jīng)過對相關院校軟件工程專業(yè)培養(yǎng)的調研,結合當前前沿的知識和技術,不斷引入軟件工程新的課程。
譬如,第四學期新設“Web程序設計”和“Oracle數(shù)據(jù)庫開發(fā)技術”等新課程。其中,Web程序設計課程主要講授Servlet、JSP、JavaBean和MVC模式等新技術,并通過一個指定的網(wǎng)站項目的實例演練,將所有章節(jié)的重點內(nèi)容貫穿起來,每章項目代碼層層迭代、不斷完善,最終形成一個完整的系統(tǒng)。Oracle數(shù)據(jù)庫是當前使用率排名第一的數(shù)據(jù)庫開發(fā)技術,許多軟件項目都需要使用Oracle數(shù)據(jù)庫來做開發(fā),學生學習該課程之后,便可以結合“JavaWeb開發(fā)技術實驗”完成較大規(guī)模的軟件項目的設計和開發(fā)工作。第七學期引入了“云計算和大數(shù)據(jù)應用”、“互聯(lián)網(wǎng)+營銷”課程等。
傳統(tǒng)的實驗考核通常采用教師驗收的方式,缺乏上機考試環(huán)節(jié),由于一個班的學生人數(shù)較多,教師驗收時間長,很可能造成驗收不全面、評價不統(tǒng)一等問題。因此,我院新建了軟件工程實訓室、移動開發(fā)實驗室和網(wǎng)絡綜合布線實驗室;招標軟件實訓平臺建設,現(xiàn)由睿亞訓公司開發(fā)的“云博”軟件實訓平臺已經(jīng)上線;積極組織本院程序設計課程組教師學習由浙江大學計算機學院開發(fā)的PTA軟件平臺的具體使用方法。
采用PTA平臺上機考核,學生提交答卷后,系統(tǒng)直接給出評價結果,無須教師參與,而且系統(tǒng)會根據(jù)題目的難易設置多個測試數(shù)據(jù)進行測試,對于不能完全給出合適算法的學生也能取得部分成績,并且能夠有效區(qū)分學生的水平差異。該平臺還可以平時用來訓練學生的程序設計和實現(xiàn)能力,學生只要在可以上網(wǎng)的地方都可以演練,更加便捷。目前我院2016級軟件工程專業(yè)的兩個班級的高級語言程序設計正在使用該平臺來做程序設計訓練模擬,2015級軟件工程專業(yè)的兩個班級的數(shù)據(jù)結構課程的實驗使用該平臺來教學并完成期末考核。
本院采用Swimming Pool(“泳池式”)在線學習模式展開課程實訓?!坝境厥健苯虒W理念是將課堂還給學生。教師從知識的傳授者轉變?yōu)閷W習的組織者、學習任務的提出者和學習情景的營造者,學生則從被動地接受知識轉變?yōu)橹鲃拥孬@取知識?!坝境厥健苯虒W模式要求學生養(yǎng)成每日總結的習慣,記錄學習筆記和學習日志,而學習日志則是效仿企業(yè)中的每天工作日報的形式,可以進一步把控學生的學習過程。學生通過“泳池式”在線學習模式的訓練,學會自主學習,在技術層面和學習方法上逐漸“會學”并“學會”?!坝境厥健苯虒W模式既減輕了指導教師的工作量,又能夠使師生在該平臺上有效溝通,大大提升了實驗實訓的教學效果。
我院2015級軟件工程專業(yè)在Java8基礎課程的教學中引入了由銳聘學院開發(fā)的Java 8基礎應用與開發(fā)平臺,該平臺采用企業(yè)的“泳池式”在線學習模式進行實訓,實訓內(nèi)容是將具體的一個個小的任務讓學生去自行完成,平臺上既有視頻資源和在線習題供學生演練,還可以讓學生直接寫在線筆記,并且在實訓后期提供一個中等難度的任務,使得學生對Java知識的掌握起到拔高的作用,而教師還可以在該平臺上隨時查詢學生的學習進度,隨時答復學生的問題。此外,近年來,我院在“泳池式”教學模式的基礎上,積極開展校企合作。如組織學生從暑假開始進入中軟國際有限公司合肥分公司、合肥兆尹信息技術股份有限公司等軟件公司實習,參與由達內(nèi)公司的工程師指導的IOS企業(yè)見習等,均達到較好的實訓效果。
軟件工程專業(yè)是培養(yǎng)工程實用型人才的專業(yè),對教師有更高的要求,既要有實際項目的開發(fā)經(jīng)驗,同時也必須具備一定的學術理論水平。因此,建立一支“雙師型”專業(yè)教師隊伍就顯得非常重要[3]。為了實現(xiàn)這個目標,一是利用寒暑假時間,集中加強對師資隊伍的培訓,選派骨干教師到知名軟件企業(yè)參與工程項目,大大提高了教師的工程實踐能力;二是積極安排項目組老師參加新課程培訓,引入“Java 8基礎應用與開發(fā)”、“JavaWeb開發(fā)技術”等新課程,適時更新教學模式;三是積極組織教師參加全國高等學校計算機程序設計課程研討會、工程應用型人才培養(yǎng)教學模式創(chuàng)新與改革研討會等,同時參加機器學習及其應用等會議,讓教師接觸最新的教研、科研成果,了解發(fā)展動向,反哺教學,提升實踐教學水平。
從2015年開始,對2015級、2016級軟件工程專業(yè)學生實行本科生導師制,給本專業(yè)的每一位學生安排專業(yè)老師作為指導老師,從大學一年級起,就對學生的平時學習、職業(yè)規(guī)劃等做指導,因材施教。對以就業(yè)為目標的學生,鼓勵參與軟件企業(yè)項目實踐,加強實訓技能培養(yǎng),做到不掉隊、不落伍,與時俱進。對以考研為目標的學生,根據(jù)個人發(fā)展計劃和考研學校與專業(yè),分析考研科目,并按照培養(yǎng)方案,分析相關考研課程的學習時間,進一步制定落實時間點的詳細學習和復習計劃。
近年來,國內(nèi)很多高校在卓越軟件工程師人才培養(yǎng)、實踐教學體系改革方面進行了有益探索。安徽大學程凡結合其所在學院的軟件工程專業(yè)提出“三橫兩豎”的課程建設思路,并在此基礎上給出詳細的課程設置方案[4]。遼寧工程技術大學軟件學院呂歡歡等提出具有多層次結構的軟件工程人才培養(yǎng)實踐教學體系和教學模式,實例示范、三位一體、多層次等實踐教學模式應用于軟件工程專業(yè)人才培養(yǎng)[5]。湖北工業(yè)大學宗欣露、徐慧面向不同階段的能力培養(yǎng)要求,建立層次化漸進式的實踐教學體系,軟件工程專業(yè)實踐教學中采用梯進的形式,循序漸進地培養(yǎng)學生的工程實踐創(chuàng)新能力[6]。東華大學計算機科學與技術學院李鋒、夏小玲針對軟件工程專業(yè),從實踐教學的內(nèi)容、方式上對實踐教學的開展方式進行了探索[7]。
我院在吸取相關院?!白吭接媱潯避浖瞬排囵B(yǎng)方案的基礎上,結合本校實際,提出軟件工程專業(yè)以程序設計不斷線為目標,形成基礎實踐、綜合實踐、創(chuàng)新實踐、專業(yè)實踐的漸進式實踐教育體系[2],目前正在逐步實施和完善中。
按照“卓越工程師教育培養(yǎng)計劃”的實施方案要求,本文以合肥師范學院為例,構建全新的適合卓越軟件工程人才的培養(yǎng)的軟件工程梯進式實踐教學體系,運用PTA軟件平臺、“泳池式”在線學習模式、探究式教學等教學模式,充分培養(yǎng)學生的創(chuàng)新能力、工程思維和專業(yè)技能,對挖掘學生卓越工程師核心潛力具有重要的理論和實踐意義,對工程類其他同類課程實踐教學亦具有一定的參考價值。
[1] 關于實施卓越工程師教育培養(yǎng)計劃的若干意見[S]. 教高[2011]1號.
[2] 謝飛,范慶春.新型本科院校軟件工程專業(yè)人才培養(yǎng)模式改革[J].合肥師范學院學報,2016(11):81-83.
[3] 姜書浩,潘旭華.面向卓越軟件工程師培養(yǎng)的專業(yè)課程及實踐教學體系研究[J].電子商務,2015(12):93-94.
[4] 程凡.面向卓越工程師的軟件工程專業(yè)課程體系建設——以安徽大學為例[J]. 現(xiàn)代教育技術,2014(6):106-112.
[5] 呂歡歡,郭偉,張輝,王闖.面向卓越軟件工程人才培養(yǎng)的實踐教學體系研究[J].計算機教育,2016(1):38-42.
[6] 宗欣露,徐慧. 面向卓越工程師的層次化漸進式軟件工程實踐教學體系探索[J]. 教育教學論壇,2014(53):156-157.
[7] 李鋒,夏小玲. 計算機軟件工程專業(yè)卓越計劃實踐教學[J]. 計算機教育,2013(13):18-21.