王 宏,于 曉,韓家新,衛紅春,王武習
(1.西安石油大學 計算機學院,陜西 西安 710065;2. 西安石油大學 研究生院,陜西 西安710065)
工科專業是應用型本科院校的主體,擔負著培養高級應用型工程人才的重大任務,但工科專業原有的人才培養方向、課程體系建設、實踐環節安排、授課團隊配置、教學過程管理和考核評價方式還難以適應這一轉變,致使培養出的畢業生實踐動手能力差、市場競爭力不足,與經濟社會發展對工程人才的質量要求差距較大[1]。
以軟件工程專業為例,人才培養中出現的主要問題有以下幾方面。
(1)理論講授時間多,實踐環節安排少,忽視專業本身特點。軟件工程是典型的工科專業,工程性和實踐性很強,特別強調動手能力的培養,而過少的實踐課時和過淺的內容安排導致學生難以將理論應用到實踐過程中,使能力培養效果大打折扣。
(2)教學體系流水化,培養過程無節奏,跟不上人才需求趨勢。基于灌輸式理論授課和被動式實驗模仿的教學體系常常滯后于行業發展,培養過程依序平推,缺乏以案例為紐帶、松緊有致的互動式設計實踐環節,更難與企業中的軟件項目開發過程合拍。
(3)理論與實踐兩張皮,交互融合不充分,未體現理論指導作用。軟件工程專業不僅交叉課程多而且融合要求高,如果不進行多課程聯合施教和綜合實訓,課堂上的理論講授就會流于表面,體現不出理論對軟件開發過程的指導作用。
(4)孤立授課少銜接,協作教學無抓手,難達到專業產出目標。軟件工程人才培養是一個多維度的知識傳授和能力形成過程,只有打破課程界限,整合教學資源,組建協作團隊,將多維度教學融會到統一的軟件項目開發過程中,才能達到專業人才產出目標。
CDIO關注工科教育中的工程化主動性和實踐過程完整性,OBE則更加關注以學生中心、目標導向和持續改進[2-3]。兩者既有重疊部分,又有觀點差異[4],但同時也存在著很大的互補空間,因此需要融合CDIO和OBE的核心思想,通過理論實踐融合式的培養流程,以CDIO的工程化教學形式實現OBE期望的高級工程人才。
具體到應用型本科教育中,就必須要明確對畢業生的能力要求,對4年學習過程進行通盤考慮,將理論知識講授和實踐能力培養融合起來,不斷開辟理論教學與實驗訓練的融合節點,促使學生學會使用所學知識分析和解決實際問題,激發學生的主動性和創造性,大力提升其專業素質和實踐能力,從而順利完成從理論學習到實踐能力的過渡。融合CDIO-OBE的雙線程交互式教學模式由6個聯系的核心部分組成,如圖1所示。

圖1 雙線程交互教學模式的核心結構
從圖1中可以看出,在CDIO-OBE工程教育理念指導下,設置優化協作課程群,建設創新性實踐示范課程,構建工程化教學案例平臺,借力契合行業需求的學科競賽,并通過雙線程交互式教學流程使這些教學方式交互聯動,形成一個橫跨理論教學與設計實踐、融合課堂講授與現場指導、貫穿專業教學所有環節的軟件工程應用型人才全周期培養范型。圖1中的楔形區域是在雙線程交互式教學中選擇的融合交互節點,這些節點是理論實踐融合式教學的重要依托和發力點。
針對軟件工程專業理論知識體系和實踐能力要求,可以設置2類課程群。
1)側重理論的課程群。
基礎理論群,包括數字邏輯、離散數學、編譯原理、操作系統等課程;大類基礎群,包括計算機組成原理、計算機網絡等課程;專業理論群,包括軟件工程導論、信息系統分析與設計、軟件案例分析等課程。
2)實踐為主的課程群。
開發技術群,包括程序設計基礎、數據結構、面向對象程序設計、工程軟件設計與實踐、軟件建模技術等課程;工程應用群,包括數據庫原理與應用、軟件體系結構等課程。
線程交互式教學模式中,借用計算機軟件中的線程概念,將理論傳授與設計實踐抽象成兩個側重點不同但貫穿整個專業教學的線程,通過對線程間交叉銜接與交互滲透的精心組織,在若干個階段性協作課程群支持下,采用融合交互節點的雙線程交互式教學流程,從而為構建有機融合的CDIO一體化教學奠定堅實基礎。
融合CDIO-OBE的雙線程交互式教學模式如圖2所示。在圖2中,為實現技術應用型高級專門人才的培養目標,按照軟件工程的專業要求,分別設置理論傳授和實踐培養兩個線程,每個線程包含數個不同類型的課程群,為在雙線程推進中實現理論與實踐融合的目的,特別選擇一些教學環節作為融合交互節點,并針對各環節的教學內容,組建相應CDIO-OBE綜合教學團隊以保證融合交互節點的教學效果,同時構建工程化教學案例平臺為理論實踐融合式培養提供支持。
從圖2中還可以看到,融合交互節點在4年教學過程中,重心不斷向實踐線程遷移,在此過程中,理論知識對實踐活動的指導作用越來越深入,抽象的概念原則也一步一步融入具體的軟件開發實踐中,右上至左下的4個黑色粗箭頭體現這一轉變過程。
在雙線程交互式思想的指導下,先期選擇課程設計、實踐性課程、生產實習、校外實訓和畢業設計作為融合教學節點,在實踐和理論兩個教學線程正常推進的情況下,通過設置協作課程群、組建CDIO綜合教學團隊、進行實踐項目針對性指導等創新方式,不斷強化學生運用專業知識解決實際問題的能力,從而使學生深切了解“學以致用”的工科專業價值取向,掌握主流軟件開發方法和工具,不斷積累開發經驗,提高參加創新實踐活動的積極性。

圖2 融合CDIO-OBE的雙線程交互式教學模式
在上述常規的融合教學節點取得成效的情況下,學科競賽和科研項目也被納入學生知識與技能的融合教學中。
為保證雙線程交互式教學流程正常推進,教學組織方式改變如下。
1)教學過程由流水式向波浪式轉變。
依序平推的實踐教學環節難以對培養效果進行階段性的成果檢查和評估,也體現不出實際軟件開發中的進度要求和緊張節奏,致使教師和學生均認為實踐環節是相對放松的時段。實際上,卓有成效的實踐環節才是將理論應用于實踐的最好場合,因此在這些環節上,必須讓教師和學生從思想上“緊”起來,從情緒上“熱”起來,從精力上“動”起來,形成具有波峰和浪涌的波浪式教學氛圍,最大限度地發揮實踐環節的作用。
2)課程資源由“各自相繼為戰”向“實踐教學會戰”轉變。
如何使各課程講授知識能更快地指導實踐?如何使學生充分了解各個課程知識是怎樣指導自己實踐活動的?會戰是一個可行的思路,“實踐教學會戰”則是會戰思路在工科專業實踐教學的一個創新應用。
會戰前必須做好準備工作,包括選擇合適的實踐環節、確定教學會戰主題、協調相關課程師資、妥善安排實踐環境等。
3)評價重點由靜態知識測試向動態實踐能力轉變。
理論教學與能力培養脫節的重要原因是對教學效果的考核還停留在紙面答卷或靜態分析階段。對于工科專業來講,針對特定需求和現實情況,在理論的指導下拿出可行技術方案并使用專業技能實現它,才是最貼近產業人才需求的[5],因此必須將對實踐成果的評價提高到一個顯著的高度,從而引導學生重視實踐鍛煉,培養自己動手解決問題的能力。
在軟件工程專業教改中,將教學成果評價體系分為3個層次:專業大類基礎課的試卷靜態考試、軟件工程理論課的主題分析考查和軟件設計實踐課(環節)的成果動態答辯。通過評價體系的漸次演進,不斷將學生的關注點從純粹的專業知識學習導向為用理論指導實踐。
工程軟件設計與實踐課程是本次專業教改先導和融合CDIO-OBE的雙線程交互式教學模式的核心節點,在工程教育專業認證要求的“課程—能力”矩陣[6]中占有重要位置。
該課程是一門實踐性非常強的課程,需通過課堂講解和大量動手實踐才能取得實效,因此,在教學方法上應大量使用多媒體手段為學生展示程序代碼和設計效果,在課時分配上也向實踐環節傾斜,達到26/64,對于一些章節甚至直接放在實驗室進行教學。此外,該課程還需要大量的軟件工具和實踐案例,鑒于此,專業教學團隊已收集、篩選、整理總數超過800個的課程課件、綜合教程、項目案例、技術標準、軟件工具等資料,并在校內BB平臺發布,成為學生動手實踐的有力幫手。在課程協作上,由于該課程與Java程序設計、數據庫原理與應用、軟件建模技術、信息系統分析與設計等課程聯系密切,因此各授課教師要針對課程任務要求,結合所授課程知識給學生以針對性的指導。
考評方式改革是該課程建設的另一大特色。課程注重階段性的綜合考評,整個課程大體分為內容銜接并逐次遞進的3個部分,每階段開始時先將本階段需要完成的設計任務告訴學生,讓學生帶著任務和進度要求自由組成團隊進行學習和實踐,每階段完成時進行結果考核,考核不采用書面答卷方式,而是通過設計結果展示與小組(個體)答辯相結合的方式進行,既能夠考查開發水平,又可以評價工程能力。課程考評整體流程如圖3所示。
從圖3可以看出,對學生實踐能力的考查貫穿于課程推進的全過程,學生邊學習專業知識,邊使用這些知識指導自己完成每個階段的個人或團隊任務,進而對CDIO的所有要素都有了解[7];同時,也特別注意以OBE要求的指標點為重點[8],在學生完成任務的過程中要求CDIO-OBE綜合教學團隊的教師給予針對性指導,大大提升教學效果。
課程教學中特別注重對學生綜合運用所學知識進行軟件項目設計能力的培養,從而促進學生軟件編碼和工程實踐能力的大幅提升,表現為以下幾方面。
(1)學生通過這門課程能將所學多個專業課程的知識點串聯起來,而不再感到只是支離破碎的枯燥概念,并將其融入實際軟件項目的需求分析、總體設計、團隊協作、編碼實現、軟件測試及文檔編寫的全過程中,進而深入了解現代軟件項目開發需要掌握的各種技能和職業素養,從而加深對軟件工程專業相關知識的理解。
(2)通過自由分組、共同完成考查題目的形式,不僅教會學生如何提高自己的實際編程能力,而且培養學生的團隊協作能力,為學生融入現代軟件開發過程提供有益的嘗試。

圖3 課程考評整體流程
(3)通過項目完成過程中師生多次指導和交互,既能幫助學生完成一次工程意義上的完整編程實踐,又能讓各課程教師對如何指導學生將理論應用于實踐有更深的領悟。
為保證雙線程交互式教學流程的順利推進,使學生充分掌握現代軟件工程的方法、工具和過程,我們搜集、篩選和整理近百個適合進行理論聯系實際教學的軟件開發案例并部署到服務器上,構建工程化教學案例平臺,有力配合相關課程的教學,如軟件開發類的課程在教學案例平臺的支持下,已經實現項目驅動下的多課程協作教學,針對特定的軟件系統開發任務:信息系統分析與設計,指導學生進行需求分析和體系結構設計; 軟件建模技術,指導學生將需求分析和軟件設計通過建模的方式展示出來以便交流;數據庫原理與應用,幫助學生在需求分析基礎上設計數據庫結構; Java程序設計,為實現軟件系統提供具體編碼手段;工程軟件設計與實踐作為融合節點,指導學生如何使用已掌握的編程技術實現一個完整的軟件系統,它既是軟件開發課程組群的終結點,又是學生進入專業生產實習環節的起點。
學科競賽是提高學生實踐能力的一個重要途徑。考慮到軟件工程的專業特點,選擇和組織學科競賽時應依照以下3個原則進行。
(1)優先選擇能體現工程化的綜合性競賽項目。通過參加這類項目,學生會獲得完整的項目構思、系統設計、編碼實現與項目運營經驗[9]。
(2)盡量參與學科競賽中的企業命題項目。通過參與這些競賽項目,一方面能夠開闊學生的技術視野,另一方面也可以檢驗專業課程實踐的成果,還能面對面地建立校企合作項目。
(3)選擇能體現團隊協作的項目。教改中有意組織學生通過自由組合參加一些團隊協作的競賽項目,并安排富有責任心、性格開朗的青年教師融入開發團隊中,通過實際競賽項目增加學生對軟件項目中團隊協作重要性的理解。
融合CDIO-OBE的雙線程交互式教學模式,是一套課程內容銜接合理、能力培養環環相扣、教學形式豐富多樣的軟件工程專業培養方案與模式,是提高學生工程實踐能力的有力推手,激發了學生對專業基本理論的學習興趣,提高了學生參與實踐教學環節的積極性,也使學生對軟件工程專業價值取向有了進一步了解;同時,經過較長磨合之后形成的雙線程協同交互教學機制,不僅教會了學生將這些知識應用到實際軟件開發中的方法與過程,也使得專業教學團隊的實踐教學能力走上一個新臺階。
目前,工程教育專業認證倡導的以學生為中心、目標導向、持續改進等理念反映了OBE的本質特性,給工科類專業的教學改革帶來新的機遇和思路。后續,我們將圍繞工程教育專業認證要求,繼續完善融合CDIO-OBE的雙線程交互式教學模式,為實現應用型高級專門人才的培養目標提供有力保障。