李 昕 ,劉益先 ,程 維
(1.東北大學 軟件學院,遼寧 沈陽 110000;
2. 東北大學 國家級軟件工程實驗教學示范中心,遼寧 沈陽 110000)
我國的高等教育正從單純知識傳授型教育向全面綜合素質教育推進,向培養學生的創新能力方向轉變,教育模式也從“應試教育”向“知識—素質—能力”轉變。國家示范性軟件學院的培養目標是培養“多層次、實用性、復合型和國際化”的軟件工程人才。如何培養社會所需的具有實踐能力、工程能力、合作能力和創新能力的復合型人才一直是軟件工程專業人才培養所不能忽視的課題。目前,幾乎所有的軟件學院都設置了大量的實驗、實踐教學環節,并通過實訓、畢業設計等環節加強學生的工程實踐能力。為此,如何建立更加科學合理的軟件工程專業實踐教學體系,建立配套的成績考核體系,真正為學生提高實踐動手能力和創新能力搭建廣闊的平臺,就成為軟件工程人才培養過程中亟待解決的問題。
從過去10余年的經驗看來,實踐教學的效果并不盡如人意,具體表現在以下幾方面[1-2]。
(1)教學內容的設置跟不上行業相關技術的飛速發展,一定程度上制約實踐課應發揮的作用。軟件技術的快速發展要求我們必須與時俱進地調整課程體系,可現實情況是實踐課內容及案例基本幾年都難以更新一次。
(2)實踐教學各自為戰,不注重課程之間的聯系,沒有形成體系。軟件工程專業目前涉及6門實踐類課程,各門課程都是各自設計其實踐教學內容,相互之間沒有銜接,與課程實驗差別不大。
(3)未充分考慮學生個體差異,沒有采用分層次教學,忽視學生的個性發展。學生的個人能力不同,自身升學、就業、出國等人生規劃也不同,不加以區分地按照統一的標準進行實踐教學,必然無法滿足不同學生的需求。
(4)教學方法和手段相對單一,無法充分調動學生的學習積極性。現有的實踐課教學大多采用老師布置任務,學生自己動手操作,有問題再單獨向老師尋求指導的方式。一些動手能力差的學生在畏難心理的驅使下會選擇加入項目組,過度依賴一些能力強的學生,導致動手能力得不到有效鍛煉。
(5)考核體系不完善。現有實踐課程考核大多由3部分組成:課堂表現、程序演示和實踐報告。這種考核方式相對單一,學生比較容易通過,且學生對知識的實際掌握程度不一致,考核結果難以對后續課程教學提供有效支撐。
(6)缺乏具備行業工程領域背景和國際化背景的高水平創新實踐教學團隊。現有授課教師多為本校專職教師,長期從事理論教學工作,項目經驗不足,在指導過程中更多的是“理論派”的指導,學生反饋不佳。
CDIO工程教育模式是由麻省理工學院、瑞典皇家工學院等4所大學經過4年的探索研究創立的一種先進的工程教育模式。CDIO代表構思(conceive)、設計(design)、實現(implement)和運作(operate),以產品研發到產品運行的生命周期為載體,讓學生以主動的、實踐的、課程之間有機聯系的方式學習工程。CDIO培養大綱將工程畢業生的能力分為工程基礎知識、個人能力、人際團隊能力和工程系統能力4個層面,要求以綜合的培養方式使學生在這4個層面達到預定的目標[3-4]。將CDIO工程教育理念引入軟件工程專業的人才培養過程中,通過實驗、實踐、實訓、畢業設計一體化的工程能力訓練體系,完成對CDIO能力的培養[5-6]。
重新構建的軟件工程專業實踐教學體系由實驗、實踐、實訓、畢業設計4個子系統構成,如圖1所示。

圖1 軟件工程專業工程化實踐教學體系
1)課程實驗。
課程實驗是單門課程的實踐環節,是對理論教學的有效補充,也是整個實踐課程體系的基礎,注重對學生基礎專業技能的培養。根據教學目標的不同,課程實驗可以分為驗證型、設計型、綜合型等不同層次。通過一個個完整的小項目將課程知識串聯起來,加強學生對所學知識的理解和應用。
2)課程設計及實踐類課程。
課程設計是在實驗的基礎上,選擇一些實踐性更強也更具代表性的課程作為單獨課程開設綜合性課程設計,如面向對象程序課程設計、數據結構與算法課程設計等,具有更強的綜合性和實用性,是實踐課程體系非常重要的一個組成部分。為了切實提高學生運用專業知識分析和解決問題的能力,所有實踐課案例均來自企業真實的項目開發實例,教師還可以根據軟件工程的培養目標,對相應的實踐課程體系進行調整。
面向對象程序課程設計是學生接觸的第一門實踐類課程,通過完成一個小型應用系統的設計和開發,學生可深入理解面向對象的思想,提高軟件開發能力,熟練掌握一種編程語言。通過該課程設計的培養,學生可以了解軟件項目的開發過程,提高學習熱情。隨著理論學習的不斷深入,相繼開設Web開發程序設計實踐、數據結構與算法課程設計、數據庫應用程序設計實踐等課程,分別針對學生的Web開發技術,數據結構和算法的設計能力,數據庫的設計、創建、優化、查詢等能力進行鍛煉。4門實踐類課程的周期均為2周,以個人為單位獨立開發。學院從相關的軟件公司聘請專門的團隊對學生進行指導,用軟件工程的理論指導開發,最終使學生完成需求分析、建模、設計、實現、測試的全過程。
在上述實踐課程的基礎上,為了使學生能夠設計和開發出具有良好用戶體驗的系統,并培養學生的團隊合作意識,接著開設人機交互程序設計實踐。該課程以小組為單位,組內成員分工合作共同開發一個完整的項目,協作完成系統的分析、設計、評估、文檔報告撰寫等過程。
3)實訓。
實訓是綜合運用多門相關課程知識完成工程項目的實戰訓練。為了讓學生體驗真實的企業開發環境,感受真實的軟件開發“實戰”過程,培養學生的職業素養,有效提升學生的分析與解決問題能力、交流與組織協調能力、主動獲取知識能力、科學創新能力、工程實踐能力與國際競爭能力,可在第6學期末安排學生進入企業實訓基地進行實訓,模擬企業真實開發環境,并嚴格按照企業管理模式對學生進行管理和考核,讓學生真切體會到實際項目開發的工作氛圍和職業要求,著力提高學生的工程意識、工程素質和工程實踐能力,全面提升學生的就業競爭力。
4)畢業設計。
畢業設計是本科人才培養的最后一個環節,也是實踐教學體系中最后一個綜合性、創造性的實踐環節。為了提高畢業設計的質量,可以從4個方面進行嚴格把關:①要求學生到企業完成畢業設計,選題必須是企業的實際課題,強調可行性和實用性;②采用雙導師制度,企業導師負責學生的課題進展情況,校內導師負責把控畢業設計全過程;③畢業設計過程中需如期提交開題報告和中期報告,師生定期進行交流,確保畢業設計按期完成;④嚴格審查畢業設計材料,確保質量。
成績考核是實踐教學的重要環節之一,成績考核體系的建立有利于評價學生的學習情況,是進行學生成績考核的基礎,也是保證考核結果準確、合理的重要因素。實踐教學的考核方式不同于傳統的理論課程考核方式,更注重對學生實踐動手能力、文檔閱讀和寫作能力、團隊協作能力以及創新能力的考核。
結合實踐教學的實際,有目的、有計劃地對實踐教學各個環節進行評價和監控,改變以往一次驗收決定成績的做法,校內教師與企業教師配合,在實踐課程的各個階段對學生進行相應的考核,建立一套合理的、量化的、覆蓋全過程的實踐考核機制。需要重點考核的地方包括:①平時表現。這部分主要涵蓋學生的出勤情況、學習態度、課堂交互、項目階段完成情況、團隊協作情況等。②實踐驗收。這部分主要涵蓋程序結構是否清晰、系統運行是否正常、代碼書寫是否規范、文檔是否規范、是否有創新等方面。③報告質量。這部分主要考查學生的報告格式是否規范,內容是否充實、準確等。各門實踐課程負責人可以根據自身課程特點對上述各項考核設置不同的權重,這樣得到的考核結果可以比較全面、客觀地反映出學生在這一階段的實踐情況。
傳統的實踐教學大多采用“教師講授+學生實踐+教師答疑”的指導方式,指導教師也較多為本校教師,很難擺脫理論教學的影子。為了提高實踐教學質量,需要建立一支具有行業背景的高水平實踐教學團隊,采用“請進來、走出去”團隊建設模式,學院、行業雙向互動,打造高素質師資隊伍。
“請進來”指的是通過校企合作的方式從合作伙伴中選擇、聘任符合兼職實踐課教師任職條件的業務骨干加入教學隊伍中,擔任實踐教學團隊兼職教師,以達到優化師資隊伍架構的目的。這些企業中的業務骨干從教學實例的選取到課程的教學、答辯、報告批改等全程參與實踐教學。以東北大學軟件學院為例,學院目前引入企業兼職實踐課教師20余名,兼職教師的學時比例達到40%以上,他們的參與極大地豐富了在校教師的實踐經驗。
“走出去”指的是鼓勵和資助教師多參與培訓進修學習,以提升教師實踐教學水平。通過參加企業培訓、參與企業項目開發等方式,教師可以掌握最新的軟件技術,能夠使用主流的軟件開發平臺,積累項目開發經驗,并將所學運用于實踐教學中,提升實踐教學質量。
在“請進來、走出去”的過程中,軟件工程專業堅持通過專業建設、教學資源建設、課程建設、實訓基地建設為兼職教師搭建交流平臺,形成了專任教師向兼職教師學技術、比技能、學技巧、取經驗,兼職教師向專任教師學教法、學課堂組織管理的互動長效機制。
東北大學軟件學院軟件工程專業工程化實踐教學體系的建設通過一年多的實施,改革的效果已經逐漸凸顯出來,總體上已經達到了改革的目的。
1)形成了相互銜接的實踐教學體系。
現有實踐教學體系以軟件工程專業本科教學培養計劃為基礎,按照由淺入深、由基本到綜合的規律合理安排實踐教學環節,分段培養,形成相互銜接的實踐課程體系,更有利于提升學生的工程能力。
2)形成了軟件工程專業實踐課程考核體系。
各實踐課程形成統一的考核體系,各門課程可以在此考核體系基礎上根據自身課程特點進行動態調整,形成整體統一、細節靈活的考核標準。
3)建立了校企協同的創新性實踐教學團隊。
學院目前已經同中軟國際、東軟睿道等公司建立合作關系,每年由企業選派優秀的企業教師全程參與實踐課程的設置、講授等過程。截至目前,軟件工程專業涉及的6門實踐課已經實現校企協同教學團隊的組建,并已經完成了1~2個輪次的教學工作。從學生的反饋情況來看,90%以上的學生認為改革后的教學模式更有利于學生實踐動手能力的提高,教學效果明顯提升。
學生通過實踐類課程的學習,其理論知識進一步強化,工程實踐能力顯著提高,創新性得到有效激發。從教學成果看,學生的綜合成績穩步提升,學生對改革后實踐課程的評價顯著提高。由于改革的時間所限,還沒能夠將本次改革完整地在一屆學生的4年學習中貫徹實施,后續我們將繼續實施及改進,為軟件工程的工程化實踐教學貢獻力量。