張永強 張墨華


摘要:針對地方普通高等院校軟件工程專業實踐教學遇到的主要問題,從教學模式、課程體系、內容設計、過程實施、考核體系、師資培養以及校企合作多方面闡述一個集中實踐教學體系建設的思路,介紹一個基于CDIO培養目標的教學設計案例。
關鍵詞:軟件工程;教學改革;實踐教學;集中實踐;CDIO
0 引言
我國軟件產業一直保持著高速發展的態勢,軟件工程專業的就業率及就業工資水平均居高校各專業前列。同時我們也必須清醒地看到,地方高校的軟件工程專業就業質量并沒有顯著提高,IT實訓產業的興旺折射出軟件工程專業的人才培養質量并不樂觀,很多高校的畢業生需要額外付出高昂的學費參加一些實訓機構舉辦的各類技術培訓。
軟件工程專業起源于復雜的工程實踐。實踐教學對于提高學生的綜合素質、培養學生的創新精神與實踐能力有著理論教學不可替代的特殊作用。根據河南財經政法大學委托Mycos針對2012屆畢業生社會需求和培養質量所作的就業調查報告,計算機學院畢業生對教學提出的主要問題就是實踐教學的不足。
1 當前實踐教學中存在的主要問題
(l)過分依賴IT實訓機構,加重學生負擔。這幾年國內IT實訓蓬勃發展,這類機構招收的學生主要面向地方高校畢業生。在最后一學年,有意愿參加的學生在實訓機構經過3-6個月左右的培訓,基本上能夠順利就業。這就使得部分地方院校產生了一定的依賴思想,放松了對自己辦學的要求,實際上是將本應由高校承擔的培養任務轉移至社會,學生往往需要額外付出一定的費用,增加了學生的負擔;另外,IT實訓機構魚龍混雜,水平參差不齊,等發現問題時,學生已經成了試驗品。
(2)實驗教學體系存在嚴重問題。日前,國內高校圍繞教學計劃的修訂,增加通識教育,壓縮專業課時和學分,激發學生自主學習能力成為普遍共識,但是相應的配套機制沒有建立起來。這突出表現在:驗證性實驗占據了實踐教學的主要內容,綜合性和創新性實驗無法得到保證;教學內容嚴重滯后于社會需求,IT新技術引入不足;實驗內容的設計嚴重脫離實際,缺乏工程價值;實驗教學體系不能滿足分類分層培養的需要;考核體系輕過程,重結果,甚至存在走過場的情況;師生之間普遍缺少在課余的互動,學生的課余時間沒有得到有效的利用,缺乏教師指導。
(3)具有工程能力的師資匱乏,缺乏激勵機制。由于受高校人才引進政策的影響,很多高校傾向于引進高學歷且科研能力較為突出者,忽略引進人員在工程能力方面的要求;在工作中由于受教師評價、職稱政策的影響,工程能力培養計劃很難落實到實處。同時,地方高校對實踐教學工作也普遍存在著重布置輕落實的情況,缺乏一套嚴格的評價和激勵機制,導致教師在這方面投入時間有限,能夠承擔高水平集中實踐教學的教師缺乏,而承擔集中實踐教學任務的教師,由于對該項工作的重視程度不夠也會影響教學效果。
出現這些問題,究其原因,還是一些地方高校在什么是應用型本科教育、應用型本科教育的培養目標上存在模糊的認識。地方高校多數屬于教學型院校,即使定位于教學研究為主的院校,其多數專業也是教學型為主,因此這就決定了地方院校的軟件工程專業應以培養高素質的工程型應用人才為主要目標,實踐教學應當列為人才培養計劃的重中之重。
2 集中實踐教學改革的實踐
為了進一步做好集中實踐教學,從2012年開始,學院組織教師認真研討,結合應用型本科專業培養的特點,瞄準就業需要,從課程體系、師資培養、課程考核、校企結合幾個方面作了積極的探索。
2.1 轉變教學思維
實施獨立的集中實踐教學,勢必會壓縮正常的教學周期。因此,要積極引導教師轉變傳統教學觀念,從以知識傳授為主轉變為以能力培養為主的教學模式。經過討論,我們確定了軟件工程專業作為應用型專業,教學計劃的制定應以職業能力培養目標為依據,較高的工程素養是學生的核心競爭力。另外,學院組織教師,認真研究CDIO的相關資料,參考外校的實施經驗,重新修訂各門課程的教學大綱,要求沒計的實踐項目應明確能力培養的目標和培養方式。
2.2 實施獨立的集中實踐教學模式
河南財經政法大學是一所以經管法為主修的學校,教學模式一直以來保持春秋兩個學期的傳統。為了進行集中實踐教學,我們從2011級開始實行每學期一周的獨立集中實踐,從2013級開始,每學期的獨立集中實踐增加為兩周。集中實踐的教學內容結合學生的教學計劃單獨設計,和所在學期的課程教學基本無關。除此之外,目前正在準備實施暑期“實踐小學期”的強化訓練計劃。
2.3 制定獨立的集中實踐課程體系
以教學計劃為基礎,結合培養目標的定位,集中實踐教學重點突出軟件開發的能力培養;在內容設計上,做到4年培養不斷線,另附以軟件測試和數據庫開發兩個職業方向,具體內容見表1。
2.4 基于CDIO的課程教學設計,明確能力培養
集中實踐課程由于能力培養目標的不同,導致其課程內容和開展方式有一定的差別。例如:低年級的程序設計實踐,由于學生程序設計能力較弱,計算思維尚未完全建立,因此,這一課程的開展主要以學生“刷題”為主,著重培養學生個體的基本程序設計能力;以操作類為主的課程則重點以熟悉系統、解決問題為主,如自動化測試、數據庫維護等;而Web開發項目實踐、企業級項目開發實踐則主要以培養項目開發能力為主,通常以實現一個有一定復雜度和規模的項目為主。
例如,Web開發項目實踐是一門開設在第五學期的集中實踐課程,學生剛剛完成JSP課程的學習,前期已經學習了網頁設計與規劃、Java程序設計、數據原理與應用等課程,按照教學計劃,同步正在開展軟件需求工程和UI的學習,因此這門課程的安排,一方面是系統培養學生的Web應用開發能力,另一方面是配合正在進行的需求工程課程。
2.4.1 技術知識和推理
學生應當能夠做到:應用HTML、CSS、JavaScript、面向對象程序設計(Java)、JSP等方面的專業開發知識;描述和評價人機交互設計;描述和評價需求規格;描述和評價系統設計方案的策略、方法;描述和評價相關開源技術在系統研發和設計中的作用。
2.4.2 能力和技術
學生應當做到:收集一個項目的用戶需求,對需求進行分析和評價并作出取舍,能使用USECASE等方法,對需求進行規范化闡述;能夠基于規范的人機交互設計要求,完成界面的分析和設汁,達到基本的工業標準;能夠應用UML建模工具,對問題域進行分析和建模;獨立應用所需的開發技術,制定問題的解決方案,并能分析對整體方案的影響;樹立起項目開發的工程規范意識,提升自己的職業素養;提升進行項目實踐的個人能力,如主動性、時間管理、學習能力等。
2.4.3 人際交往、團隊協作能力
學生應當做到:能夠運用規范化的方法和工具,就需求、技術方案和其他成員進行溝通和展示;能夠欣賞并吸取其他成員和團隊的工作成果;能夠和不同的成員組成團隊并協同完成任務。
2.4.4 在企業和社會環境下構思、設計、實現和運行產品、過程和系統
構思項目,包括發現問題、界定需求、系統建模和簡單的項目管理;開發完成一個系統并達到目標;能夠提出系統改進和演變的目標。
在具體的教學設計上,這門課遵循一個“引導一模仿一創新”的策略。由于這是大多數同學第一次接觸到較為復雜的項目,需要同時應用到不同的技術,因此給出必要的技術指引非常重要。例如,針對“學院經費管理系統”,教師可以采用基于工作流的分析技術,列出主要的任務并進行分析,界定出的功能性需求用規范的USECASE進行描述,要求學生重點從易用性、保密性以及功能的完善性等方面補充需求,初步鍛煉學生進行需求獲取和分析的能力。
2.5 “兩階段”過程實施及課程考核
由于一周或兩周的集中實踐,難以完成一個獨立的項目,因此,學院將集中實踐劃分成了“準備和實施”兩個階段,充分利用學生的課余時間,提前把一些準備工作做好。每學期開學,學院就會公布每個專業每個班的集中實踐要求,包含指導教師、題目、技術規格、進度要求、考核標準等,要求提前進行準備;在考核模式上,嚴格實行“兩階段”考核要求,確保實踐周期問項目質量和進度能夠得到保證。表2列出了Web開發項目實踐這門課程兩階段的實施策略及考核要點。
不同的實踐課程,因為培養目標不同,組織策略也可不同。如Web開發項目實踐課,在集中實踐階段,著重采取敏捷開發策略中的結對編程、每日發布原則,一個模塊固定兩人一起完成,更換模塊時人員要求互換,角色也要求互換,確保每個同學都能得到充分的鍛煉。指導老師按照事先項目組提供的分組計劃,對完成的模塊質量和進度進行打分,每個模塊的進度一般按照兩個階段,對一個人的開發能力打分,包括頁面交互開發階段和服務開發階段。
這樣,通過一系列的過程評價,可以有效地評估出每個小組、每名同學的任務完成情況,有效預防了以往分組教學中部分同學濫竽充數,或者僅依靠最后的作品展示獲取分數的弊端。
2.6 重視橫向課題研發、密切校企合作的師資培養模式
師資培養主要借助于兩個渠道,一是通過積極組織橫向課題研發,二是加強校企合作。學院這幾年積極抓住機會,通過承接一些橫向課題的開發,提升了一批教師的開發能力,獲得了寶貴的工程經驗;這些項目經過消密后,被充實到了集中實踐教學中,進一步提高了課程的質量。另外,學院也積極爭取Oracle、SAP、HP、華為以及部分優秀實訓企業或機構提供的優質師資培訓課程,選派教師深入掌握有關開發技術,體驗企業培訓過程。
學院也會根據需要,針對師資欠缺的方向,設計一些“企業課程”,如UI設計、手游開發等,邀請合作企業選派符合要求的獨立師資承擔,學
3 結語
經過近兩年的實施,我們最終形成了集中實踐教學支撐平臺,使這項工作的開展有了基本的規范,避免了集中實踐教學的隨意性和結果的不可控性。集中實踐的教學改革受到了學生的普遍歡迎,提高了他們的開發能力和團隊意識。另外,在項目實施過程中,我們也認識到,高校的集中實踐教學不同于目前社會上的IT實訓班,要通過科學的培養,著重從系統的高度看待項目,奠定堅實的理論基礎,注重人才培養學術性與職業性的有機統一,培育學生長遠發展的動力。
當然,在實施的過程中,也遇到了一些新的問題,如開展實踐教學的教師工作量補償問題,完全學分制下的集中實踐教學實施引起的教學計劃調整,大規模實施導致的資源緊張等。這些問題都將在后續的教學改革中深入調查研究,以找到更好的解決辦法。