曾俊 李柳柏
摘 要: 根據目前國內外軟件人才培養的實際情況,以CDIO的教育理念為指導,以全面提高學生的動手實踐能力為目的,提出“三階段-四層次的實踐教學體系”。以程序設計與問題求解課程為例,構建了該課程的實踐教學改革方案,細化了每個階段的教學內容,并將其應用到實踐教學中,提高了學生的綜合應用能力。
關鍵詞: 軟件人才; CDIO; 實踐教學; 程序設計
中圖分類號:G642 文獻標志碼:A 文章編號:1006-8228(2016)06-85-04
Abstract: According to the actual situation of domestic and international software talent training at present, in order to improve the students' practical ability, this paper puts forward the "practical teaching system of three phases and four levels" with the CDIO education philosophy as the guide. Taking programming and problem solving course as an example, the scheme of practical teaching reform of the course is constructed, and the teaching contents of each stage are refined and applied to practical teaching, which have improved the students' comprehensive application ability.
Key words: software talent; CDIO; practical teaching; programming
0 引言
近十年來,我國各類高等院校共培養了100多萬計算機專業人才,而且每年培養人數還在遞增。然而軟件人才的供需缺口卻越來越大,出現了前所未有的“人才饑荒”,各地對軟件人才的爭奪戰也不斷升溫。究其原因主要有三點[1]。一是軟件產業規模擴大,橄欖形人才結構中兩極人才的短缺,導致了軟件人才緊張。二是畢業生到公司后不能很快勝任工作,須再經過6-12個月的培訓才行。三是軟件教育體制調整的速度落后于軟件產業發展的速度。四是軟件人才培養層次不清,最終導致許多人才高不成低不就。
為了滿足軟件產業對人才的需求,國內各個高校進行了許多探索,特別是在實驗教學體系建設上,采取了多種手段,想方設法提高人才培養質量,滿足軟件行業各崗位的需求。
1 國內外軟件人才培養情況
1.1 國外軟件人才培養情況
美國和印度是目前在軟件產業和軟件工程人才培養做得比較出色的國家。美國的軟件教育和人才培養的層次非常清晰[2]。①基礎教育:幾乎所有的高校和社區學院的計算機科學、電子工程、信息技術系和有關繼續教育系都設有軟件工程、網絡設計等軟件基礎課程,為本科生提供軟件理論與工程方面的入門知識,為軟件公司培養從事軟件開發與設計方面的人才。②系統理論:研究生教育側重系統軟件理論的教育,為高校的教學和研究以及大公司輸送從事軟件研究和項目人才[3]。③一般較大的軟件公司都設有培訓部門或中心,主要根據市場和公司的需求培養各個層面的動手能力強的操作和編程人員,學習者不僅可以獲得專業證書,而且可以獲得學位。從高校、社區學院、公司到社會,構成了全方位的教育和培訓網,它們都由市場所驅動,為社會發展提供就業和服務。
印度軟件產業及人才培養重視數學,注重溝通技巧和抗壓能力的培養,學生與新技術的發展完全不脫節。學校充分運用業界的力量,歡迎業界成立校園實驗室,24小時對學生開放。業界提供豐富的資源,學校搭橋運輸養分,學生盡情吸收。學生、學校、業界形成一個共存共榮的循環體系。
1.2 國內軟件人才培養情況
國防科技大學的計算機學院建立了“4433”計算機專業實踐教學體系[4],即:計算機實踐教學與能力培養貫穿于課程實驗、實習/實訓、課外實踐和畢業設計等四個環節;將課程實驗分為基礎驗證性實驗、課內綜合性實驗、綜合課程設計和自主科研創新活動四個層次。依托學校在超級計算機上的科研優勢,讓學生參與科研子項目,與浪潮電子、長沙軟件園、長沙電信等單位建立實訓基地,讓學生多參與項目開發,積累項目經驗,提高實踐能力。
華東交通大學軟件學院提出了一種“基于螺旋模型”的軟件人才培養模式[5],即產學研聯合,企業參與到學校的教學活動中,學生也參與到企業的項目開發和實習中,學生在學校與企業的互動中不斷提高自己的實踐能力。
大連理工大學軟件學院依托校企合作人才培養模型[6],共同研究制定實踐教學培養標準,共建實踐課程及雙師型師資隊伍,通過校企良性互動,共同培養卓越軟件工程技術人才。
杭州電子科技大學引入CDIO工程教育理念,構建了一套以項目為核心、以學生團隊為主體的課程教學體系,培養創新能力強的軟件工程人才[7]。
我院為了培養高素質軟件人才,以CDIO的教育理念為指導[8],提出了“三階段-四層次的實踐教學體系”,形成知識講解案例化、課程設計項目化、畢業設計工程化的培養方式,使學生不僅能較好掌握專業知識,而且能有效提高實踐創新能力和團隊協作精神。本文結合“三階段-四層次的實踐教學體系”,以程序設計與問題求解課程為例,提出該課程的實踐教學改革的方案,并應用到實踐教學中。
2 “三階段-四層次”的實踐教學體系
“三階段-四層次”實踐教學體系是基于CDIO理念,以“培養工程能力強、創新能力高、綜合素養好的軟件工程人才”為目標,通過深入分析實踐教學內涵與軟件工程學科特點而提出的,如圖1所示。基于該體系設計培養學生專業技能、工程實踐能力、創新能力和職業素養的漸進性階梯式實踐教學方案,圍繞實踐教學方案,構建分階段、層次化的考核方案、評價體系和過程化管理平臺。
2.1 三階段
三階段主要是指校內實驗、實訓基地和企業實習三個主要階段。
2.2 四層次
⑴ 基礎實驗
本層次主要指課含實驗,實驗類型包括技能型、驗證型、設計型和創新型,要求學生掌握軟件工程課程的核心內容、各種程序設計語言的框架結構以及編程所需的綜合思維能力。
⑵ 課程設計
本層次是指基于某一門課程的綜合型軟件系統開發訓練,主要在實訓周完成。具體方案是在人才培養方案中安排與專業核心課程配套的實訓周,專業核心課程在課程結束后(包括理論課程和課含實驗)的下一學期,均安排有實訓周,實訓周內不安排其他課程教學,學生基于該門課程的整體知識,完成復雜程度較高的綜合型軟件系統設計,學生通過作品+答辯考核方式獲得實訓成績和學分。本層次要求學生從系統設計的角度出發,達到程序員(軟件藍領)的要求;學生可參與各種學科競賽,培養學生的創新能力;可反饋信息到第一層次并修改實驗教學內容。
⑶ 企業導向的中小型系統研發
本層次是指基于課程群、企業實際項目案例的系統研發,主要在實訓基地完成模擬軟件設計和開發的整個過程。該過程要求學生具有系統思維能力、綜合實踐能力;學生可參與各種綜合型學科競賽;還可承接軟件工程中小型訂單,團隊協作完成系統研發;可反饋信息到第一、二層次并修改實驗教學內容。
⑷ 企業應用級系統研發
本層次要求學生在真實的企業環境中研發應用級軟件,需要學生既懂技術又懂得協調和管理,成長為軟件工程高級應用型人才;可反饋信息到第一、二、三層次并修改實驗教學內容。
3 程序設計與問題求解課程實踐教學改革
該課程是我校計算機科學與技術專業第一學期開設的專業基礎課,以C語言為平臺,介紹高級語言程序設計的基本概念、基本理論和基本方法。通過本課程的學習,使學生掌握C語言的基本語法知識和編程常用算法,掌握基本的程序設計過程和技巧,具備基本的分析問題和利用計算機求解問題的能力,為后續課程學習和將來從事軟件開發奠定良好的基礎。
學生非常喜歡這門課程,但一般都學得不扎實,所以在設計“三階段-四層次”實踐教學內容的時候,要結合學生實際情況,引導學生學會提出問題、分析問題和解決問題。
3.1 基礎實驗
本層次主要指課含實驗,實驗類型包括驗證型、設計型和綜合型,要求學生掌握C語言的核心內容、編程的框架結構以及編程所需的綜合思維能力。結合教學大綱,本層次主要設計10個基本實驗,如表1所示。本層次均要求學生提交實驗報告,以便于考核學生的成績。
3.2 課程設計
本層次是指基于C語言的綜合型軟件系統開發訓練,主要在第二學期開學的實訓周內完成。結合學生的學習情況,設計了綜合基礎實訓庫和綜合設計實訓庫。第一部分計劃用時2.5天完成25道綜合基礎實訓庫里面的題目,如表2所示。第二部分計劃用時2.5天完成1個綜合設計實訓庫里面的題目,如表3所示。本層次要求學生提交綜合課程設計的報告和設計的代碼。綜合課程設計的報告要求學生理清設計思路,最后通過答辯的方法獲得成績。
3.3 企業導向的中小型系統研發
本層次是指基于課程群或企業實際項目案例的系統研發,主要在校外實訓基地完成,使用企業研發過的題目,模擬軟件設計和開發的整個過程,學生分組協作,真題真做,訓練系統思維能力、綜合實踐能力。部分企業項目如表4所示。本層次完全按照企業項目的管理辦法,要求學生提交研發文檔和研發的作品,才能獲得成績。
3.4 企業應用級系統研發
本層次要求學生在企業實習,利用大四實習期間,在真實的企業環境中研發應用級軟件,需要學生既懂技術又懂得協調和管理,成長為軟件工程高級應用型人才。
4 總結
本文以提高學生的動手實踐能力為目的,提出“三階段-四層次的實踐教學體系”,根據各階段的特點和層次的要求,結合“程序設計與問題求解”課程的特點,設計了相應的教學內容和教學方法,構建了培養學生專業技能、工程實踐能力、創新能力和職業素養教育的漸進性階梯式的實踐教學課程方案,細化了每個階段的教學內容,并應用到實踐教學中,提高了學生的綜合應用能力。該體系是集教學、企業于一體的實踐教學體系,為實踐教學改革提供了支撐。在今后的研究中,將進一步研究語言類課程群的三階段-四層次實踐教學方案。
參考文獻(References):
[1] http://it.sohu.com/56/26/article15612656.shtml
[2] 張喜平,王佐成,汪林林.國內外軟件人才培養模式現狀研究[J].
青年與社會·中外教育研究,2009.1.
[3] 從正規的軟件工程教程學習到畢業實踐項目中知識和技能的
轉換.Ray Bareiss和Edward Katz(卡內基梅隆大學硅谷分校)http://blog.sina.com.cn/s/blog_553f35510100zsdo.html
[4] 張春元.國防科技大學計算機學院計算機實驗教學中心[J].
實驗室研究與探索,2013.11:2-3
[5] 湯文亮,嚴麗平.螺旋型軟件人才培養模式下產學研結合模
式的探討[J].實驗技術與管理,2010.11:144-146
[6] 陸坤,李鳳岐,郭禾.基于校企合作的卓越軟件人才培養模式的
探索[J].實驗技術與管理,2013.11:176-178
[7] 方振宇.高校創新型軟件工程人才培養途徑探析[J].浙江師
范大學學報(社會科學版),2012.4:89-93
[8] 范會聯,仲元昌.基于CDIO理念的軟件人才培養模式探索[J].
實驗室研究與探索,2012.1:131-146