邵奇峰 韓玉民 車戰斌


摘 要: 針對當前軟件學院教學與實踐脫節造成的學生實踐能力差及就業問題,提出在建設大學生創新創業中心的經驗基礎上,利用其附帶的實踐教學職能驅動軟件學院課程體系、教學方式、考試方法和實踐環節的系列改革,以達到提高學生軟件實踐能力及拓展學生就業領域的目的。
關鍵詞: 創新創業中心; 實踐能力; 教學改革; 軟件學院
中圖分類號:G642 文獻標志碼:A 文章編號:1006-8228(2015)09-71-04
Research on practice ability training mode based on student innovation and entrepreneurship center
Shao Qifeng, Han Yuming, Che Zhanbin
(School of Software, Zhongyuan University of Technology, Zhengzhou, Henan 450007, China)
Abstract: According to the poor practice ability and employment issues of software college students caused by the disjointed teaching and practice, a reform scheme based on student innovation and entrepreneurship center is presented. The education reform on course architecture, teaching method, exam method and practice procedure in software college is driven by utilizing the practice teaching function of the center, to improve students the ability of software practice and solve the employment issues.
Key words: innovation and entrepreneurship center; practical ability; educational reform; school of software
0 引言
在研究建設大學生創新創業中心的基礎上,聯合軟件企業驅動軟件學院的教學改革,強化學生的工程實踐能力培養,同時讓創新創業中心成為軟件工程實踐能力培養的重要平臺,有效提升軟件學院學生工程實踐能力及綜合素質,拓展其就業領域和就業渠道惠及眾多軟件學院的學生。
1 大學生創新創業中心現狀
中原工學院軟件學院作為河南省首批軟件學院之一,從辦學伊始,即堅持“面向軟件企業和社會需求,以校企結合和工學結合為手段,培養具有工程實踐能力的優秀軟件工程師”的辦學理念。經過多年努力,已在軟件工程師培養模式、校企合作等方面進行了卓有成效的改革,取得了一系列教研成果并獲得省級獎勵多項。軟件學院于2007年9月設立了大學生創新創業中心,其主要宗旨是為學生提供一個創新創業的平臺,提高學生的工程實踐能力、創新能力和創業能力。但據對我院及省內外同類院校大學生創新創業中心運行管理的追蹤分析,目前均不同程度存在諸多問題,具有代表性的問題如下。
⑴ 真實企業中的軟件開發不僅僅是編程,還涉及到如軟件建模、版本控制、代碼管理、持續集成、軟件測試等軟件工程工具與方法,因課堂教學只注重編程技術,而較少涉及此類工具,使得學生無法及時融入企業項目。
⑵ 創新創業中心的項目完成時間與上課時間、作業提交時間甚至考試時間沖突。
⑶ 面對傳統考試/考核方式,在創新創業中心做真實項目的學生一般考不了高分。
⑷ 創新創業中心與教學部門各自獨立、缺乏溝通。如教學部門在課堂教學中急需真實的軟件開發案例,創新創業中心學生已開發出了一些優秀項目,但任課教師沒有積極采用。
⑸ 學生實踐能力較弱,面對開發周期嚴格的企業真實項目,無法快速上手及按時完成。
⑹ 創新創業中心規模不斷擴大,但缺乏真實企業項目,“缺與假”的項目影響了學生參與積極性[1]。
⑺ 部分學生已開發出一批優秀項目,卻不知該如何推廣和尋找投資,導致項目半途而廢[2]。
創新創業中心學生的工程實踐能力基本上已經代表了一個學院學生的最高水平,所以他們身上的問題必然也存在于學院其他學生之中,因此本文基于大學生創新創業中心的建設,以提高學生軟件工程實踐能力的為目標,依托中原工學院軟件學院多年應用型人才培養成果與經驗,論述如何開展系列的教學改革以避免及解決以上此類問題。
2 課程體系改革
中原工學院軟件學院以大學生創新創業中心為窗口,根據學生在中心開發企業真實項目時所遇到的諸多問題,及時的進行課程體系的調整和改革。在中心與企業合作開發項目時發現:真實企業的軟件開發不僅只是編程,還涉及到如版本控制工具、軟件建模工具、集成開發環境、自動集成工具、軟件測試工具等軟件工程工具和方法,學生因為平時較少接觸此類工具,所以根本無法立即上手、快速融入企業項目。這就要求制定基于具體編程技術,強調工程實踐能力,覆蓋企業開發全過程工具的課程體系。以下以軟件工程專業Java方向為例,探討其程序類課程體系的改革。
本科軟件工程專業Java方向的Java系列課程的教學內容如何取舍、學時如何分配,才能使其既迎合Java編程技術的更新發展,同時又能有機融入常用軟件工程工具的講解,這成為了較難權衡的問題。為此,根據創新創業中心與軟件企業合作開發項目時部分企業的實際需求,又通過對河南金穗、河南信源、長城信息等用人單位人才需求的實際調查,同時又對達內、傳智播客等實訓公司課程體系的深入分析研究,再結合高校教學的實際情況,將Java系列課程分為Java程序設計、Java高級程序設計、Java WEB程序設計和Java EE框架開發四門課程,在每門課程中循序漸進的進行各個軟件工程工具的講解。考慮到掌握Java整套編程技術本身就有一定的難度,該系列課程首先從教學內容上覆蓋到了軟件企業最常用的Java編程技術,然后結合每門課程的教學內容及其軟件開發規模,循序漸進的逐個引入各種軟件工程工具的講解,具體情況如圖1所示。
⑴ Java程序設計主要講授內容為:基本數據類型、控制語句、方法、數組、對象與類、字符串、繼承與多態、抽象類與接口。因為該課程涉及到面向對象的概念,所以在課程中講解了軟件建模工具Rose的使用。
⑵ Java高級程序設計主要講授內容為:Swing、異常、文件I/O、集合、多線程、Socket編程、JDBC。因為學生基于該課程已可開發單人桌面應用程序,所以課程中講解了集成開發環境Eclipse、單元測試工具JUnit。
⑶ Java WEB程序設計主要講授內容為:Servlet、JSP、DAO與MVC、Cookie與Session、過濾器、監聽器、自定義標簽、EL、JSTL。因為學生基于該課程已可開發部門級WEB應用程序,所以課程中講解了版本控制工具CVS、持續集成工具Maven。
⑷ Java EE框架開發主要講授內容為:Struts、Spring和Hibernate框架。因為學生基于該課程已可開發出企業級WEB應用程序,所以課程中講解了如何基于軟件工程理論來綜合應用各種軟件工程工具。
3 教學方式和考試方法改革
3.1 教學方式的改革
根據專門針對創新創業中心學生開展的培訓和講座經驗我們認為,實踐能力的養成不能僅指望學生的課外實訓,授課教師在課堂上就應以“實踐”的方式進行授課。真實軟件企業的用人需求要求學生能獨立熟練的編寫符合企業規范的程序代碼,課堂教學應著重講解如何編寫程序代碼,程序代碼的講授方式直接關系到教學目標的實現效果。目前代碼的講授方式主要有:板書或幻燈逐步演示代碼、開發工具講解課下編好的代碼、課上當堂編寫調試代碼等幾種方式。
⑴ 板書或幻燈逐步演示代碼是傳統的代碼講授方式,該方式的優點是:逐步推導的教學方法比較符合傳統教學習慣,形式上學生相對容易接受。其缺點是:無法演示代碼的調試排錯過程,對于代碼的編寫風格(如縮進、注釋等)不能直觀的給予體現。
⑵ 開發工具講解課下編好的代碼,優點是:可利用開發工具的代碼處理功能(如著色、自動縮進)以更豐富的形式展示代碼;可在較短的時間講解完較長的程序。其缺點是:直接展現全部代碼,學生不知應從何處著手分析代碼,從形式上會難以接受;沒有逐步推導,學生無法了解代碼的編寫過程。
⑶ 課上當堂編寫調試代碼,優點是:學生可直觀感受到程序是如何從零開始編寫的;通過當堂編譯代碼可讓學生學習到如何調試代碼錯誤;因為逐行敲入代碼需要時間,該時間段就給了學生思考理解的機會。其缺點是:課上從零輸入、編譯和調試代碼會占用較多時間,無法講授較長的程序;該方式要求授課教師必須具有較強的代碼編寫和調試能力。
綜合以上分析,在課堂講授代碼時,對較短或核心程序應以課上當堂編寫調試代碼的方式講授,對較長的程序則采用開發工具講解課下編好的代碼的方式講授。對項目驅動的教學方法,教師可考慮花費多個課時,以課上當堂編寫調試代碼的方式講授[3]。同時教師要經常提煉并引入創新創業中心開發的真實企業項目,積極的應用于課堂的實戰案例教學中,因為這些項目來自于學生身邊,所以更能引發學生的學習興趣和積極性。
3.2 考核方法的改革
考試成績是對學生學習該門課程的最終評價,授課教師應保證開發企業項目的、實踐能力強的學生能夠考出高分,要以考試來引導學生注重實踐能力的培養。目前程序類課程從考試形式上主要有:筆試、機試、大作業三種方式。從監考方式上主要有:開卷和閉卷兩種方式。程序類課程應如何進行考核,以避免死記硬背,讓編程能力強的學生考出高分,是長久以來授課教師最頭痛、最難處理的問題。
⑴ 筆試適合于考核概念類題目,但若用于考核程序設計題目,則對學生答題和教師判卷都極不方便。機試適合考核程序設計題目,學生可借助開發工具的輔助功能答題,教師可依據程序是否可編譯、是否可正確運行以判卷,但其無法考核概念類題目。大作業便于考核學生的綜合設計能力,但很難杜絕學生間的抄襲或從網絡上的抄襲。
⑵ 閉卷考試適合與筆試方式相結合,但用于上機考試時,如果不允許學生查詢相關資料(如:API文檔),則顯然與實際程序開發時的情境相違背。開卷考試適合與機試方式相結合,但若用于筆試則會極大的限制教師的出題范圍。
筆者最終選擇了閉卷筆試+開卷機試的考核方式。閉卷筆試主要考核概念類題目,考試時間1小時,滿分為30分;開卷機試主要是程序設計題目,考試時間3小時,滿分為70分。兩種方式相結合既考核了基本概念又考核了程序設計能力,避免以往程序類課程考試,學生死記硬背或夾帶字條的現象,經多年實踐檢驗,收到了良好的教學效果[4]。
由于程序類課程注重實踐的特點,其考試制度也應進行相應改革,如對參與企業項目開發的同學,可準其不參加某門課程考試,甚至可免修該門課程,授課教師可依據其在企業項目中的工作量及完成情況給定成績。還可通過企業項目與課程置換,競賽獲獎與課程置換等靈活的考試管理方案,解決學生同時參與課堂教學和課外實踐的時間沖突問題。
4 實踐環節體系建設
在創新創業中心與軟件企業合作開發項目時,針對企業反映接觸企業項目的學生實踐能力較弱,上手較慢的問題。學院提出并設計了多段一體化的實踐環節體系,多段是指由多段集中實踐構成,具體為“三級實踐課題+二級軟件工程實踐+IT行業實踐+軟件工程實訓+畢業設計”;一體化是指各階段緊密銜接、循序漸進、逐步提高,形成一套完整的實踐環節體系。如對應于Java系列課程體系,除了專業課程內的實驗上機外,體系中的每一個集中實踐環節都有明確的教學目標、成果要求和考核標準,具體情況如圖2所示。
⑴ 實踐課題:分為一級、二級和三級實踐課題,分別安排在第2、3、4學期初,實踐內容均為上學期所學專業知識的綜合性訓練。該實踐階段的目的是使學生能及時地總結、理解和綜合應用學過的知識,培養程序設計能力和自主學習能力,培養利用程序解決一般問題的能力。
⑵ IT行業實踐:IT行業實踐一、二分別安排在第1、2學年暑期,該實踐環節通過到知名IT企業參觀、頂崗實習等方式,使學生了解IT行業的發展和應用、IT行業企業規范,培養實際工作能力,同時培養協作、交流等社會實踐能力和職業素養,樹立自信心,提高個人的綜合素質。
⑶ 軟件工程實踐:包括軟件工程實踐一、二,分別安排在第5、6學期初,為上學期專業課程的綜合性高級課程設計。該階段的目的是在上一階段的程序設計能力培養的基礎上,建立軟件工程思想,培養工程化、系統化分析和解決問題的能力。
⑷ 軟件工程實訓(畢業實訓):軟件工程實訓階段為第7學期全學期,要求學生獨立或參與完成一個完整的軟件項目開發,并提交實訓報告。本階段的目的是通過參與實際軟件工程項目的開發和訓練,培養學生系統化解決實際問題的綜合能力和創新能力,并培養較完善的軟件工程思想。實訓可以在校內外實訓基地或校外IT公司完成,能力強的學生可直接就業,并可將工作成果作為實訓成果來獲得實訓學分。
⑸ 畢業設計(畢業論文):該階段為第8學期全學期,本階段學生可參與實際項目開發或參與教師科研項目,完成必要的技術方案設計、軟件開發等工作,并在所取得的工程實踐成果基礎上完成學士學位論文的撰寫。本階段目標是培養學生的軟件工程能力與總結提煉能力,實現理論與實際結合、技能與職業素質成長。
為使學生能充分結合個人專業興趣、職業規劃和就業意向來開展實踐活動,對于上述集中實踐的任一環節,學生都可以通過在IT企業實習或工作、在校內外實訓基地實踐、參與創新創業中心項目、參與導師科研項目或參加學科競賽的方式來完成。實踐環節體系也突破了傳統的課程設計限制,不再依附于某門專業課程集中訓練,而是進行多門專業課程綜合性訓練,各級課題環環相扣,同一個題目在不同的階段有不同的要求,課題難度逐步提高,使學生開發能力和實踐能力也不斷提高。
5 創新創業中心經驗借鑒
中原工學院軟件學院大學生創新創業中心成立于2007年9月,由學生自主管理,至今已經歷了三次模式變革。目前創業中心四種形式并存,即校企合作項目工作室、教師項目工作室、中軟信息模擬公司、鄭州昊華科技有限公司(注冊公司)。入駐企業有:中科金慧、浙大網新等,成立七年來已開發項目100多項,其中20多項得到實際應用,畢業學生先后入職華為、阿里巴巴、奇虎360、小米等知名企業。在創新創業中心多年的發展與改革中,有著不少的成功經驗推廣應用到了學院的實踐教學中,具體比較典型的方案如下。
⑴ 深化校企合作:引進知名軟件企業,開展深度校企合作及工學結合,通過聯合項目開發、聘用企業講師、企業課程置換、學生頂崗開發等方式的合作,不但給學生帶來了開發真實企業項目的機會,也使學生了解了行業標準和企業標準,提高了工程實踐能力,縮短了從學校走向社會的適應期。同時通過與軟件企業的接觸和合作,也促進了教學體系、教學內容及教學方式的調整與改革。
⑵ 引導創新創業:創新創業中心的學生能提出很多創新性的項目,但因學生通常缺乏實際的應用經驗,因此指導教師必須要進行篩選和指導,要幫助學生進行深入的可行性分析和創業設計[5]。對于最終成功實現的項目,學院除了要主動幫助尋找投資方外和客戶外,還應該制定政策給予獎勵,以此推動后續學生的創新積極性。
⑶ 以競賽促建設:近年來政府部門和國際企業都推出了多種類型的軟件大賽,積極鼓勵、組織和指導學生參加系級、校級、省級和國家級的各層次的比賽,除了在行業中橫向比較并驗證學生的軟件實踐能力外,也給學生推廣自己作品和了解行業發展趨勢提供了好機會。競賽獲獎可給予學生極大的成就感,是提高學生學習興趣、激發學生潛能、快速提高學生自主學習能力、實踐能力和創新能力的有效手段[6]。
⑷ 強調示范作用:以創新創業中心的學生為核心,鼓勵其主動帶領普通學生完成項目開發,通過“學生帶學生,學生教學生,學生幫學生”的學習培養模式,一方面激發了更多學生的主動性與積極性,以點帶面的提高學院學生整體的實踐能力[7]。另一方面也提高了創新創業中心學生的主觀能動性,培養了其團隊協作、溝通交流和組織管理能力。
6 結束語
作為學院的“王牌部隊”,大學生創新創業中心不能僅讓參與的學生受益,還要注重其對其他學生的示范和激勵作用,要積極利用其與企業合作的窗口作用,強化其服務于培養全院學生實踐能力的意識,研究更適合于工程實踐的教學改革。中原工學院軟件學院經過長期系列的探索和實踐,實現了以大學生創新創業中心為依托,驅動軟件學院系列教學改革,提高學生工程實踐能力,促進整體學風建設,進而又推動大學生創新創業中心發展的正反饋式良性循環。這些改革經驗具有一定的意義和創新性,其研究成果可為省內外同類院校的大學生創新創業中心的建設及學生實踐能力的培養提供參考。
參考文獻:
[1] 王瓊,盛德策,陳雪梅.項目驅動下的大學生創新創業教育[J].實驗技術與管理,2013.30:99-101
[2] 王偉,魏靜,王雅等.創業實訓平臺構建與教學設計探索[J].實驗技術與管理,2013.30:160-163
[3] 邵奇峰.Java課程教學方法探討[J].計算機教育,2008.12:50-52
[4] 邵奇峰.Java系列課程的教學改革與實踐[J].計算機教育,2010.20:40-42
[5] 錢小明,榮華偉,錢靜珠.基于導師制下“大學生創新創業訓練計劃”教育的實踐與思考[J].實驗技術與管理,2014.31:21-23
[6] 車戰斌,韓玉民.以競賽促進兩年制學生自主學習能力提高的探索與實踐[J].計算機教育,2007.3:69-70
[7] 韓玉民,車戰斌,郭基鳳,等.論卓越軟件工程師工程實踐能力和創新能力培養[J].計算機教育,2014.9:44-47