安向明,王振幅,邵國強
(大慶師范學(xué)院 計算機科學(xué)與信息技術(shù)學(xué)院,黑龍江 大慶 163712)
高校計算機實訓(xùn)課程以彌補學(xué)生理論與實踐脫軌的缺陷為主要目標(biāo)應(yīng)運而生,并且受到了越來越多高校的重視[1]。高校在引入實踐教學(xué)過程中逐漸摸索著教學(xué)與實戰(zhàn)經(jīng)驗,形成了各自的培訓(xùn)體系。但是存在的問題也逐漸暴露:高校老師的課堂案例教學(xué)大多數(shù)是以模擬軟件開發(fā)或綜合性實驗為主,并不是源于真正開發(fā)項目,所以與企業(yè)的人才需求仍有部分偏差,收獲甚微。
本文首先以實訓(xùn)課程設(shè)置為出發(fā)點,討論項目實訓(xùn)對課程體系的要求,進而提出實訓(xùn)中要以企業(yè)技能需求為主導(dǎo),以實際項目案例為主線,讓學(xué)生通過實戰(zhàn)的演練,積累大量實際開發(fā)的項目經(jīng)驗與技巧,這樣有的放矢的讓同學(xué)們?nèi)プ鲕浖_發(fā),鍛煉學(xué)生的動手能力,可以與企業(yè)需求吻合,使學(xué)生在進入企業(yè)前就具備開發(fā)正式項目的經(jīng)驗,達到軟件開發(fā)企業(yè)對員工的技術(shù)要求,最終提高學(xué)生在就業(yè)時的競爭力。
高校計算機專業(yè)的課程體系設(shè)置應(yīng)改變原來的以專業(yè)和課程為中心的觀念。在打牢學(xué)生的基礎(chǔ)知識體系前提之下,重新構(gòu)建以適應(yīng)我國就業(yè)市場對人才的需求為主要目標(biāo)的人才培養(yǎng)體系。但是所謂“欲速則不達”,高級人才畢竟是需要學(xué)生有一整套完整的計算機理論體系,在此基礎(chǔ)之上,再培養(yǎng)促進就業(yè)的實踐動手能力,二者一個是基礎(chǔ),一個是拔高,缺一不可。由此,在確立本科培養(yǎng)目標(biāo)時,要做好理論和實踐課程的協(xié)調(diào)和統(tǒng)一。
專業(yè)設(shè)置中,從構(gòu)建.NET實訓(xùn)體系課程方面來講,需扎實掌握的專業(yè)課程如下:
1)透徹掌握C語言。作為最基礎(chǔ)、最核心的一門程序設(shè)計語言,與C++、C#一脈相承下來,其過程性語言部分幾乎可以相通。所以C語言課程必須要求學(xué)生掌握透徹,這是計算機程序入門的基礎(chǔ)。
2)精學(xué)C#。對于選修.NET平臺開發(fā)的學(xué)生,極力推崇此種面向?qū)ο笳Z言。不建議開設(shè)多門面向?qū)ο笳Z言,因為語言類課程觸類旁通,精髓近乎相同。要求達到能獨立調(diào)試程序,以面向?qū)ο笏枷霊?yīng)用到程序設(shè)計中去,熟練掌握調(diào)試及查錯能力,以免編程陷入僵局。
3)SQL數(shù)據(jù)庫設(shè)計與應(yīng)用。作為與.NET平臺連接的數(shù)據(jù)庫中最協(xié)調(diào)的搭配者,要求學(xué)生掌握SQL增、刪、改、查語法、觸發(fā)器、存儲過程的應(yīng)用及SQL數(shù)據(jù)庫的設(shè)計。
4).NET 中的數(shù)據(jù)訪問技術(shù)及.NET Framework。這部分是基于.NET開發(fā)項目的技術(shù)核心,要求在項目軟件開發(fā)前要把此部分基礎(chǔ)知識必須掌握。
5) HTML、XML語法及JAVASCRIPT基礎(chǔ)知識。.NET中源代碼部分需要會書寫簡單的HTML代碼,并理解腳本語言函數(shù)的調(diào)用。
6) 其他專業(yè)課也起到強有力的支撐作用。如:涉及線程,鎖等進程并發(fā)執(zhí)行時的概念,操作系統(tǒng)知識必不可少;涉及哈希、堆棧、數(shù)組等數(shù)據(jù)結(jié)構(gòu)課程的內(nèi)容。
實訓(xùn)的課程為機房授課,邊講邊練習(xí)。本人認為實訓(xùn)的效果很大部分就在于是否實現(xiàn)小班授課,要求一個班30人左右。在學(xué)生水平不是很高的情況之下,我們要培養(yǎng)一個熟練的代碼工,采用小班授課可以及時解決學(xué)生編程遇到的問題,課上做練習(xí)的時候?qū)W生基本都可以得到教師的指導(dǎo),這樣有利于學(xué)生對知識的掌握,最終必然會達到熟練掌握的效果。
1)項目開發(fā)經(jīng)驗豐富,接受新知識能力強。建議高校若是條件允許,最好配備專職從事項目開發(fā)的教師[2],這些教師專門負責(zé)實訓(xùn)教學(xué),并且最好有開發(fā)實際項目經(jīng)驗。如果本校內(nèi)師資、技術(shù)方面不允許,那么一定要配備易于接受新知識、有工作熱情的教師,并且有機會要派出學(xué)習(xí)項目開發(fā),將實戰(zhàn)項目經(jīng)驗引回來備用,否則實訓(xùn)不會起到很好的作用。到頭來很有可能就是閉門造車,跟實際需求脫鉤。
2)要求授課教師知識面要廣泛。涉及的理論知識、各科交叉知識必須要有所掌握和理解。
3)要求實訓(xùn)教師具有吃苦能力,因為引入實訓(xùn)給授課教師帶來比正常授課大幾倍的工作量??梢酝ㄟ^我院實例說明:2008級一共有120名同學(xué)參加NET實訓(xùn),每30人分為一個自然班,可分為4個自然班,共由2名教師指導(dǎo)。雖然是模擬公司環(huán)境進行軟件開發(fā),但是學(xué)生畢竟還不能熟練編程,所以需要教師對每個出現(xiàn)的問題都及時進行解決,這種接近一對一輔導(dǎo)的工作量遠比大范圍講解的課堂授課任務(wù)繁重。
授課對象主要針對畢業(yè)想去企業(yè)從事軟件開發(fā)工作的學(xué)生。要求他們做到積極建立對實訓(xùn)軟件項目開發(fā)的興趣,如果沒有興趣則采用外在各種手段督促其學(xué)習(xí),比如通過考評、點名、評估等手段嚴(yán)格管理學(xué)生,起到督學(xué)的作用。
設(shè)計案例必須遵循技術(shù)和語言的前沿性[3],做到以企業(yè)需求為主導(dǎo),所涉及的知識涵蓋領(lǐng)域接近于現(xiàn)階段軟件公司編程人員開發(fā)需求技能,有方向性、目標(biāo)性,使學(xué)生學(xué)習(xí)的知識更具有實用性。
1)具有開發(fā)項目經(jīng)驗的教師從自己項目中提取項目案例,應(yīng)用于教學(xué)。
2)來源于企業(yè)。嘗試性的與一些外包企業(yè)聯(lián)合,采用派出年輕教師跟著外包企業(yè)開發(fā)一個真正項目的方式,讓教師具備開發(fā)實際項目的素質(zhì)和技能,并且將此項目稍加改造引入課堂,保證前沿性,所學(xué)即所得。
要求軟件開發(fā)過程嚴(yán)格遵循軟件工程指導(dǎo)思想,從軟件可行性分析、需求分析開始,并配備程序設(shè)計文檔,簡明扼要的指明整個軟件設(shè)計流程,讓學(xué)生對軟件工程有一個從理論到實踐的認識,同時明確學(xué)生實訓(xùn)目標(biāo)定位在代碼設(shè)計和測試兩個模塊上。因為對于本科畢業(yè)后直接去企業(yè)從事編程工作的學(xué)生來說,工作都是從此部分開始展開的。
為了更好地體現(xiàn)實訓(xùn)的工程性,保證實訓(xùn)的質(zhì)量,提出在實訓(xùn)管理平臺中融入軟件企業(yè)項目管理的理念,更加真實地保證軟件開發(fā)現(xiàn)場模擬的真實性。因此,應(yīng)用實訓(xùn)管理系統(tǒng),此系統(tǒng)主要由個人管理、項目管理和資源共享三個模塊組成(圖1)。其中個人管理模塊主要是管理參加實訓(xùn)同學(xué)的基本信息;項目管理模塊是對于當(dāng)前各個項目信息的查詢,包括已完成項目、在研項目、規(guī)劃項目的完成和分配情況;資源共享里最關(guān)鍵的是一張模擬公司Q&A表的共享電子表格,此電子表格供項目組成員共用,對無法解決的技術(shù)問題寫到Q&A表中,避免了學(xué)生專注于某一問題而影響進度的情況。
圖1 實訓(xùn)管理平臺圖
明確其角色和職責(zé),對其進行分組,并分配個人角色:教師作為項目經(jīng)理PM(Project Manager),兼任質(zhì)量監(jiān)督員QC(Quality Control);推薦學(xué)習(xí)比較優(yōu)秀的學(xué)生為項目組長PL(Project Leader);各組推薦一名學(xué)生為系統(tǒng)工程師SE(System Engineer);普通組員為程序員PG(Project Manager)。其各層人員關(guān)系如圖2。大多數(shù)成員均為PG,其主要職責(zé):編碼規(guī)范、代碼審查、源代碼管理、提交成果。
圖2 模擬軟件公司的學(xué)生職責(zé)分配圖
1)確定實訓(xùn)項目,明確系統(tǒng)功能、采用的架構(gòu)形式,出具相關(guān)程序需求分析文檔,做到目的性明確。
2)創(chuàng)建任務(wù)規(guī)劃,制定總體進度規(guī)劃。指定PL、SE、PG的任務(wù),規(guī)定好每個任務(wù)的預(yù)定開始和結(jié)束時間,要求每節(jié)課如實提交程序進度,不定期檢查其提交進度的真實性,跟蹤項目進展情況。
3)遵循企業(yè)工作的秩序性和紀(jì)律性。不能討論,需獨立完成,編程技術(shù)問題需要通過全班共享的Q&A表請教PL(項目組長)或PM(老師)。
4)要求編碼具有規(guī)范性,嚴(yán)格按照編碼規(guī)范進行,采用源代碼管理器MSS進行源碼的簽入、簽出管理,將本地的代碼移交到服務(wù)器上去。
5)完成編碼后需要實現(xiàn)單元測試和綜合測試,主要測試方法為組間交叉測試。
考試分為兩部分:平時成績和期末成績,如表1所示。
表1 實訓(xùn)項目考核方式評分表
本文針對現(xiàn)在高校實訓(xùn)課程引入項目案例進行探討,設(shè)計以企業(yè)技能需求為主導(dǎo)的項目案例并加以實踐,這樣可以直接與企業(yè)對人才的技能需求掛鉤,免去學(xué)生參加高額培訓(xùn)的財力支出,學(xué)以致用,可以很好的提升學(xué)生在就業(yè)中的競爭能力。
[參考文獻]
[1] 吳紹根.基于案例在線的軟件開發(fā)綜合實訓(xùn)項目設(shè)計[J].計算機教育,2009(7): 104-106.
[2] 侯九陽,鄭國禹,趙福軍.計算機專業(yè)工程實訓(xùn)教學(xué)改革的探索與實踐[J].信息系統(tǒng)工程,2010(2):28-29.
[3] 鄭根讓,朱建樓.計算機軟件專業(yè)實訓(xùn)的真實項目引入探索[J].職業(yè)教育研究, 2009(6):109-110.