安俊秀 李 超 陳高云
摘要:本文通過研究CDIO教育理念、分析詳實(shí)的社會調(diào)研數(shù)據(jù),創(chuàng)新性地提出了螺旋式軟件人才培養(yǎng)模式。該模式架構(gòu)了全新的核心課程體系,建立了理論、實(shí)踐、工程、素質(zhì)的螺旋式培養(yǎng)過程。在整個培養(yǎng)過程中各要素既相互影響,又不斷地向工程型、復(fù)合型、創(chuàng)新型人才成長升華,螺旋式的上升狀態(tài)很好地舒展和刺激了學(xué)生的創(chuàng)新能力、管理能力。
關(guān)鍵詞:螺旋式軟件人才培養(yǎng)模式;課程體系;職業(yè)素質(zhì);KPE
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:A
CDIO工程教育模式是美國麻省理工學(xué)院、瑞典皇家工學(xué)院等四所大學(xué)提出的面向工程教育的教育模式。CDIO(Conceive、Design、Implement、Operate)最根本的特征是教育和產(chǎn)業(yè)的高度互動,因此制定軟件人才培養(yǎng)的課程體系應(yīng)堅(jiān)持“來源于產(chǎn)業(yè)、根植于產(chǎn)業(yè)、服務(wù)于產(chǎn)業(yè)”的教育理念。在深入分析了軟件產(chǎn)業(yè)發(fā)展趨勢及人才培養(yǎng)規(guī)律的基礎(chǔ)上,我們創(chuàng)新性地提出了螺旋式軟件人才培養(yǎng)模式(Helical Education Model for Software Engineer,簡稱HEM-SE),建立理論、實(shí)踐、工程、素質(zhì)的全新人才培養(yǎng)方案。
1建設(shè)適合軟件產(chǎn)業(yè)需求的課程體系,促進(jìn)課程綜合化與集成化
市場機(jī)制推動全球化的進(jìn)程中,軟件工程專業(yè)所需要的人才具有綜合化的趨勢。因此,建設(shè)軟件工程人才培養(yǎng)的課程體系必須適應(yīng)全球化社會發(fā)展,跟蹤新技術(shù),促進(jìn)課程的綜合化和集成化。我們創(chuàng)新性地提出了螺旋式軟件人才培養(yǎng)模式,并在HEM-SE指導(dǎo)下,根據(jù)社會對軟件工程人才的各種知識、能力和素質(zhì)的基本要求及學(xué)生的學(xué)習(xí)成長規(guī)律,建設(shè)具有KPE(Knowledge/Practice/Engineering)特色的軟件工程核心課程體系,以實(shí)現(xiàn)課程綜合化和集成化的目標(biāo),如圖1所示。
軟件工程專業(yè)核心課程體系是提高本科生編程能力的課程體系、軟件技術(shù)課程體系、外語工程應(yīng)用課程體系、軟件工程課程體系、職業(yè)素質(zhì)教育課程體系。針對學(xué)生在實(shí)踐和工程兩方面的短缺,我們?nèi)聵?gòu)建了課程中的實(shí)習(xí)環(huán)節(jié),以突出實(shí)踐/工程要素。該課程體系建設(shè)的思路是要跳出單門課程的框架束縛,以不同的模塊組合滿足教學(xué)計(jì)劃的需求,可按功能類型、需求類型、學(xué)科類型等進(jìn)行編制。課程體系之間由淺入深、逐漸遞進(jìn)形成螺旋平面的階梯形狀。課程體系之間互相銜接、互相依賴、互相融合,使學(xué)生經(jīng)過五個階段的學(xué)習(xí)后,既具備了理論基礎(chǔ),又有了真實(shí)的項(xiàng)目研發(fā)經(jīng)驗(yàn);既具備了軟件工程人才素質(zhì),又熟悉了企業(yè)運(yùn)作特點(diǎn)。
2提高本科生編程能力的課程體系
提高本科生編程能力的課程體系是在低年級階段實(shí)施,編程能力是一種過程性知識,它必須通過大量的定向性較強(qiáng)的實(shí)訓(xùn)才能提高?;贑DIO理念,經(jīng)分析發(fā)現(xiàn)學(xué)生編程能力的提高,并非哪一門課程的任務(wù),編程能力的提高是長期的、循序漸進(jìn)的過程,必須由相關(guān)系列課程的教學(xué)共同承載。為有效提高低年級學(xué)生的編程能力,我們構(gòu)建了以C語言為基礎(chǔ)的KPE課程體系,構(gòu)成的課程體系及教學(xué)計(jì)劃安排如表1所示。這一舉措實(shí)現(xiàn)了學(xué)生在前三個學(xué)期完成編程訓(xùn)練,為后續(xù)的語言類課程和計(jì)算機(jī)理論課程的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。
從表1可以看出,本課程體系將五門課程通盤考慮,進(jìn)行資源優(yōu)化整合。在教學(xué)過程中始終貫穿CDIO理念及KPE教學(xué)方法。從基本的編程語句開始,通過理論、實(shí)踐、素質(zhì)、實(shí)踐工廠的培養(yǎng),環(huán)環(huán)相扣,循序漸進(jìn),形成編程訓(xùn)練的生態(tài)鏈,將課程理論學(xué)習(xí)與編程訓(xùn)練有機(jī)地融合起來,五門課程聯(lián)手打造的“提高本科生的編程能力”效果明顯。
另一方面,我們意識到,要培養(yǎng)軟件產(chǎn)業(yè)界所需的工程型人才,加強(qiáng)編碼規(guī)范性訓(xùn)練是很有必要的。為此我們專門編寫了《編碼規(guī)范》,其內(nèi)容包括:整體編碼風(fēng)格、函數(shù)編寫風(fēng)格、符號使用風(fēng)格、程序編寫風(fēng)格和合法性檢查等諸多內(nèi)容?!毒幋a規(guī)范》的實(shí)施是從第一門“C語言程序設(shè)計(jì)”課程開始循序漸進(jìn)地執(zhí)行該規(guī)范,直到本科教育結(jié)束,使編碼規(guī)范貫穿整個本科教育體系,從而培養(yǎng)學(xué)生形成良好的工程師習(xí)慣。
3軟件技術(shù)課程體系
軟件技術(shù)的應(yīng)用范圍非常廣泛,有各種不同的技術(shù)體系和技術(shù)路線。傳統(tǒng)的軟件工程專業(yè)課程設(shè)計(jì)更多地考慮到學(xué)生什么都應(yīng)當(dāng)學(xué),因此開設(shè)的軟件技術(shù)課程多而全,但因教學(xué)時(shí)間有限,使得學(xué)生學(xué)習(xí)深度不夠。結(jié)果是學(xué)生學(xué)習(xí)了很多軟件技術(shù)課程類語言,卻只了解這些語言的基本知識和用法,無從談起運(yùn)用能力。
為了打造適合市場亟需的軟件技術(shù)人才,基于CDIO理念,經(jīng)過充分論證后,我們選擇以Java技術(shù)體系為主的軟件技術(shù)課程體系,構(gòu)成的課程體系及具體的教學(xué)計(jì)劃安排如表2所示。Java課程體系貫穿大一至大四整個教學(xué)過程,學(xué)生們可以由淺入深,循序漸進(jìn)地學(xué)習(xí);老師也可以對課程內(nèi)容進(jìn)行充分地講解。由于每門課程都配有充分的實(shí)驗(yàn)課,這使得學(xué)生的理論學(xué)習(xí)得以深化、動手能力得到提高,實(shí)現(xiàn)了在校學(xué)習(xí)Java技術(shù)不斷線。
4外語工程應(yīng)用課程體系
外語(英語或日語)是軟件工程師必備的技能,因此針對外語能力的培養(yǎng)我們將建立分層次梯度機(jī)制。首先了解軟件工程的業(yè)務(wù)流程;其次是把軟件工程外語課程設(shè)置為三大模塊,即語言課程模塊、應(yīng)用課程模塊、百科知識課程模塊。這三個模塊作為整個課程體系的有機(jī)組成部分,既有各自的獨(dú)立性,又有主次關(guān)系,互相聯(lián)系、互相支撐。核心是應(yīng)用課程模塊,語言課程和百科知識課程是為學(xué)生最終獲得外語實(shí)際操作應(yīng)用能力而服務(wù)的。這樣,梯度和模塊互動分層次達(dá)到了服務(wù)外包人才外語綜合能力的培養(yǎng)目標(biāo)。
5軟件工程課程體系
多年來,一直存在這樣的認(rèn)識誤區(qū),學(xué)生認(rèn)為學(xué)習(xí)軟件就是編寫程序,而對軟件的工程管理、文檔編寫、團(tuán)隊(duì)開發(fā)、測試等能力的培養(yǎng)重視不夠。究其原因,就是高校對軟件工程課程的開設(shè)存在教學(xué)與實(shí)踐脫節(jié)等問題。為了有效培養(yǎng)與國際接軌的軟件工程師,使學(xué)生充分掌握從軟件項(xiàng)目規(guī)劃到軟件系統(tǒng)提交的各個設(shè)計(jì)開發(fā)過程中所需要的技術(shù)和管理知識,在尊重教學(xué)規(guī)律和學(xué)生個性發(fā)展的原則上,我們將過去傳統(tǒng)的軟件工程課程進(jìn)行結(jié)構(gòu)調(diào)整和內(nèi)容更新,構(gòu)建了課程體系的多元化模塊結(jié)構(gòu),采用分模塊的方法設(shè)計(jì)軟件工程KPE課程體系。
基于CDIO理念,根據(jù)軟件工程課程體系的建設(shè)思路、國際化的軟件開發(fā)模式和規(guī)范化的軟件開發(fā)過程,我們按照以KPE為核心要素的螺旋方式在第三學(xué)期開始就逐步持續(xù)培養(yǎng)學(xué)生的軟件工程能力,最后進(jìn)入軟件工程項(xiàng)目訓(xùn)練課程,讓學(xué)生獲得工程經(jīng)驗(yàn)。構(gòu)成的課程體系及具體的教學(xué)計(jì)劃安排如表3所示。
在該課程體系建設(shè)中,我們以軟件工程技術(shù)為主干線,統(tǒng)籌安排,全盤考慮,螺旋式循序漸進(jìn)地部署了既獨(dú)立又相互聯(lián)系的6門課程,從而將學(xué)生的工程化能力推向新的高度,極大地提高了本科生的創(chuàng)新以及工程管理能力。
6素質(zhì)教育課程體系
軟件工程專業(yè)的素質(zhì)教育是一個系統(tǒng)工程,HEM-SE從軟件專業(yè)職業(yè)素質(zhì)的內(nèi)涵要求出發(fā),不是獨(dú)立設(shè)置一些理論課程,而是將職業(yè)素質(zhì)融入到教育環(huán)境中培養(yǎng),與理論知識融為一體。
我們在教學(xué)過程中注意點(diǎn)點(diǎn)滴滴地培養(yǎng)學(xué)生的職業(yè)素質(zhì),如在講解語言設(shè)計(jì)類課程時(shí),要著力養(yǎng)成學(xué)生編寫程序規(guī)范的習(xí)慣,培養(yǎng)其吃苦耐勞、敬業(yè)的精神;在實(shí)踐工廠中著力培養(yǎng)學(xué)生的創(chuàng)新能力和團(tuán)隊(duì)協(xié)作精神等。軟件工程專業(yè)知識的教學(xué)內(nèi)容中不乏人文精神內(nèi)涵,教師應(yīng)充分挖掘?qū)I(yè)課本中的人文內(nèi)涵,向?qū)W生充分展示軟件工程專業(yè)的魅力,引領(lǐng)學(xué)生看到不只是印刷在書本上的理論知識,還要讓學(xué)生領(lǐng)略更廣領(lǐng)域里和更深程度上的軟件工程科學(xué)文化,充分調(diào)動學(xué)生的專業(yè)學(xué)習(xí)熱情和興趣,培養(yǎng)學(xué)生對科學(xué)的執(zhí)著追求精神。
7依托軟件生產(chǎn)實(shí)驗(yàn)中心,全面優(yōu)化課程實(shí)踐體系
根據(jù)軟件工程人才培養(yǎng)理念,只有將課堂、實(shí)驗(yàn)室、企業(yè)組成一個相互促進(jìn)、相互引導(dǎo)的教學(xué)循環(huán)體系,才能實(shí)現(xiàn)理論指導(dǎo)實(shí)踐、實(shí)踐提升理論的良性循環(huán)。校內(nèi)課程實(shí)踐教學(xué)體系的建設(shè)是軟件工程人才培養(yǎng)成敗的關(guān)鍵,軟件生產(chǎn)實(shí)驗(yàn)中心是學(xué)校和企業(yè)溝通的橋梁。我們要充分利用軟件生產(chǎn)實(shí)驗(yàn)中心,把軟件工程師的職業(yè)環(huán)境作為教育環(huán)境,建設(shè)循序漸進(jìn)的KPE教學(xué)循環(huán)實(shí)踐課程體系。因此在軟件生產(chǎn)實(shí)驗(yàn)中心需要建設(shè)軟件工程工廠環(huán)境、軟件工程生產(chǎn)開發(fā)項(xiàng)目、崗位輪訓(xùn)平臺、軟件工程生產(chǎn)指導(dǎo)平臺、生產(chǎn)人員資料庫、評審和會議中心、配置管理系統(tǒng)、軟件工程生產(chǎn)支撐系統(tǒng)等。
除了依托學(xué)校建設(shè)的軟件生產(chǎn)實(shí)驗(yàn)中心外,我們還要爭取多種形式的聯(lián)合共建,進(jìn)一步鞏固和完善校外實(shí)習(xí)基地,建設(shè)工程資源庫。遵從市場導(dǎo)向原則,通過實(shí)現(xiàn)深層次的合作,選擇一些條件優(yōu)越、技術(shù)實(shí)力強(qiáng)、能較好體現(xiàn)業(yè)務(wù)發(fā)展趨勢的單位作為新增、拓展的校外工程資源庫。通過不斷完善實(shí)驗(yàn)室功能,使軟件工程專業(yè)實(shí)驗(yàn)室更加符合人才培養(yǎng)目標(biāo)的要求,提高本科生的綜合實(shí)踐能力。
8總結(jié)
本文論述的核心課程體系不是孤立的,而是相互關(guān)聯(lián)、相互促進(jìn)的,螺旋式地實(shí)現(xiàn)了創(chuàng)新型、工程型軟件工程人才的培養(yǎng)。提高本科生編程能力的課程體系是軟件技術(shù)課程體系的基礎(chǔ),編碼能力直接決定了項(xiàng)目開發(fā)的效率,這就要求學(xué)生在校期間至少精通一到兩門編程語言。我們在提高本科生編程能力的課程體系中選擇了C語言,在軟件技術(shù)課程體系中選擇了Java語言,這使得每一位學(xué)生都能掌握和精通兩門編程語言,同時(shí)要求學(xué)生具有自覺的規(guī)范意識和團(tuán)隊(duì)精神。在這兩個課程體系之上,我們提出了軟件工程課程體系,建立了軟件工程的概念,要求學(xué)生從項(xiàng)目需求分析開始到安裝調(diào)試完畢,都必須能清楚地理解和把握這些過程,并能勝任各種環(huán)節(jié)的具體工作。素質(zhì)教育課程體系始終貫穿于軟件工程專業(yè)所開設(shè)的每一門課程中,從而真正實(shí)現(xiàn)了創(chuàng)新型、工程型軟件人才的培養(yǎng)。
注:本文是四川省高等教育教學(xué)成果獎二等獎——《探索螺旋式人才培養(yǎng)模式,培養(yǎng)實(shí)用型軟件工程師》的核心支撐。
參考文獻(xiàn):
[1] 吳勁,任立勇. 高校軟件人才培養(yǎng)的思索[J]. 計(jì)算機(jī)教育,2007(7):67-70.
[2] 安俊秀. 構(gòu)建“興趣本位,任務(wù)驅(qū)動教學(xué)”的課程體系論[J]. 教育理論與實(shí)踐,2008(8):59-60.
[3] 姚雅鵑. 計(jì)算機(jī)專業(yè)教育中人文素質(zhì)教育的引入[J]. 計(jì)算機(jī)教育,2008(10):61-62.
[3] 杜永美. 美國軟件人才培養(yǎng)基本經(jīng)驗(yàn)[J]. 合作經(jīng)濟(jì)與科技,2007(11):49-50.
[4] 瞿中,王練,程克非. 培養(yǎng)適應(yīng)社會需求的復(fù)合型軟件人才研究[J]. 計(jì)算機(jī)教育,2007(8):75-77.
[5] 陳笑蓉,劉鵬,邱力生. 培養(yǎng)與國際接軌的高水準(zhǔn)軟件人才模式探索[J]. 計(jì)算機(jī)教育,2007(8):70-72.
[6] 趙佩華. 淺談軟件人才的培養(yǎng)體制與途徑[J]. 常州信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007,6(3):1-3.
[7] 安俊秀,李超,盧軍. 軟件人才職業(yè)素質(zhì)教育模式的探索與實(shí)踐[J]. 計(jì)算機(jī)教育,2009(8):
[8] 盧曉勇,揭敏,劉曉強(qiáng). 改革傳統(tǒng)教學(xué)模式培養(yǎng)創(chuàng)新性軟件人才[J]. 中國高教研究,2007(4):81-82.
[9] 景紅,何濱. 關(guān)于改革軟件人才培養(yǎng)模式的探索[J]. 教育與職業(yè),2006,20(516):173-174.
[10] 莊晉林,楊彬. 關(guān)于培養(yǎng)產(chǎn)業(yè)型軟件技術(shù)人才的教學(xué)改革措施[J]. 教育理論與實(shí)踐,2007,27(6):13-14.
[11] 王小銀. 計(jì)算機(jī)軟件人才培養(yǎng)模式的研究[J]. 陜西師范大學(xué)學(xué)報(bào):自然科學(xué)版,2007,35(11):184-186.
[12] 王鑫,肖化,陳小蘭. 美、印、日、韓軟件人才培養(yǎng)比較與借鑒[J]. 高等理科教育,2007(1):51-55.
[13] 馮斌. 培養(yǎng)高級軟件人才的探索與實(shí)踐[J]. 科技咨詢導(dǎo)報(bào),2007(19):127-128.
[14] 鄭晶,張愷. 校企合作培養(yǎng)軟件人才的探索與實(shí)踐[J]. 科技咨詢導(dǎo)報(bào),2007(25):235-235.
[15] 劉才興,孫微微. 以軟件工程人才培養(yǎng)模式促進(jìn)計(jì)算機(jī)學(xué)科教育[J]. 計(jì)算機(jī)教育,2007(3):75-76.
[16] 吳彥. 印度IT職業(yè)教育的特色及啟示[J]. 教學(xué)與管理,2007(7):158-160.
[17] 祝惠. 印度軟件人才培養(yǎng)模式及其對我國的啟示[J]. 現(xiàn)代企業(yè)教育,2006(12):10-11.
[18] 李祥. 應(yīng)用型軟件技術(shù)人才培養(yǎng)模式探索與實(shí)踐[J]. 計(jì)算機(jī)教育,2007(8):72-74.
[19] 邱惟明,賴茂生. 中國軟件產(chǎn)業(yè)規(guī)模和軟件人才趨勢的系統(tǒng)動力學(xué)分析[J]. 情報(bào)科學(xué),2007,25(9):1287-1292.
[20] 徐國慶. 如何培養(yǎng)職業(yè)素質(zhì)[J]. 職教論壇,2007(9):1.
[21] 李萍. 軟件技術(shù)專業(yè)的職業(yè)素質(zhì)教育[J]. 機(jī)械職業(yè)教育,2007(7):11-12.
[22] 安俊秀,李超. 軟件與服務(wù)外包發(fā)展策略研究[J]. 福建電腦,2008(4):34-18.
[23] 馬文婧. 哈爾濱工業(yè)大學(xué)徐曉飛博士談工業(yè)化軟件人才的培養(yǎng)[J]. 計(jì)算機(jī)教育,2006(1):4-7.
[24] 李超,李鐵剛,安俊秀. 中小型軟件企業(yè)產(chǎn)學(xué)合作模式探索[J]. 計(jì)算機(jī)教育,2009(1):43-45.
Design of Course System Based on CDIO and HEM-SE Model
AN Jun-xiu, LI Chao, CHEN Gao-yun
(ChengDu University of Information Technology Software Engineering College, Chengdu 610225, China)
Abstract: At present, the software industry market leads to a “vicious circle” of the software talents in demand. Through a series of specific social research and CDIO educational ideal of studying , innovatively put forward a spiral software talents training mode. We frame a new core curriculum, establish a training process of theory, practice, quality and project, in which they are affected by each other and continuously growing into talents of engineer type, complex type and innovative type, so as to frame a spiral training mode, stretch and stimulate students ability of innovation and management.
Key words: helical education model for software engineer; course system; career quality; KPE