摘要:本文提出了軟件工程專業基本實踐能力培養的實訓方案。該方案幫助學生逐步地提高計算機的基本實踐水平,它與傳統課堂教學相互補充,在改善教學效果的同時,提高學生的項目實踐能力。該方案以建筑領域作為具體的應用背景,充分發揮了本校在建筑領域的專業優勢。
關鍵詞:實訓方案;軟件工程;實踐能力
中圖分類號:G642文獻標識碼:B
1引言
軟件工程專業是近幾年發展起來的計算機領域內的一個新專業,它是順應市場需求而產生的。該專業對學生的實踐能力要求很高,因此對學生進行項目實踐能力培訓是很必要的。我院在充分發揮本校在建筑領域的專業優勢的同時,將計算機與建筑領域結合,提出了一套建筑領域本科軟件工程專業項目實踐能力實訓方案。
在傳統的純粹課堂式的教學模式下,隨著學科的發展教學內容越來越多,致使每門課的課時被明顯壓縮,也導致其實踐課時明顯不足,伴隨著有一些相對簡單的內容(如計算機基礎、網頁設計等)被刪除,這對于低年級學生提出了嚴格的要求,他們需要自學這些計算機的基礎知識。但是由于他們對專業還較陌生的,如何自學,從哪里著手來學,成為擺在學生們面前的一個很現實的問題,并且如果沒有合適地引導他們往往會走許多彎路。實訓方案便是為解決這樣的問題而設計的。實訓方案同課堂學習相結合,有效地彌補了傳統模式下實踐課時不足、學生自學困難的情況,使課堂教學變得更加流暢,減少在計算機基礎知識方面摸索的時間,可大大提高教學效率。
2實訓方案
實訓方案的設計同我院軟件工程專業特殊的教學模式是密切相關的。我院軟件工程專業使用“2+1+1”的教學培養模式,即2年基礎理論教育,1年專業知識教育,1年分流實踐培養。基礎理論教育主要包括軟件開發基礎、建筑類基礎以及其他公共課三模塊組成。其中軟件開發基礎由數學基礎、程序設計語言、面向對象程序設計、數據結構、數據庫原理及應用以及相應課程設計等核心課程組成。建筑類基礎模塊主要學習基本的建筑知識,如土木工程概論、城市規劃原理等。
實訓方案包括由課內實訓和課外實訓兩部分組成。前者主要指的是教學計劃內的實驗和課程設計,后者通過計劃外的計算機輔助培訓實現。
由于每一門課程的課程設計都側重于該課程的內容,比較孤立,因此課程之間的銜接很不自然。學生往往出現這樣的情況:每一門課的課程設計都做的不錯,但對于一個綜合運用各門課程知識進行的項目,感覺無從下手。此外,在一些綜合項目中所用的知識有相當一部分需要自學,由于學生經驗的不足,從一無所知到知道學什么然后怎么學需要一個很長的摸索時間。為了解決這一系列的問題,對學生實踐能力的鍛煉不應只局限在教學計劃內,還需要在教學計劃外對學生在進行系統的課外培訓,來更好地輔助軟件工程專業教學工作,增強實踐能力。
2.1實訓方案內容
方案的課內實訓部分強調最大限度的增加實踐時間投入,對每一門專業課均配有大量的實驗和相應的課程設計,并且注重每門課程在教學內容和實驗上的銜接,切實保證教學工作的高效和流暢。比如:C語言與數據結構,離散數學與數據庫、數據結構,數據庫與軟件工程等這些專業課之間都有這很密切的聯系,處理好它們之間的關系,對于教學有很大的幫助。
課外實訓方案則根據專業設置及課程安排,分階段有步驟地進行,強調理論和實踐最大限度地有效結合。每階段的具體安排如下表1所示。

培訓方案集中在大學的前兩學年內完成,這樣設計是為了可以更好地適應2年基礎理論的學習,提高動手能力,并為第三學年專業知識的學習打下堅實的基礎。本著循序漸進的原則,該方案以建筑領域的計算機應用為背景,從零開始然后逐步提升學生的計算機專業水平。下面分階段詳細介紹每個階段的工作。
第一階段主要的工作是計算機基本技能培訓及建筑學基礎介紹。主要針對以前從來沒有接觸過計算機及建筑學知識的學生,對曾接觸過的學生進行進一步的指導,提高其計算機的應用水平。
主要內容包括計算機硬件基礎、辦公軟件(Word、Excel、PowerPoint)、打字軟件等計算機基本技能的培訓;建筑領域的計算機化程度及應用前景介紹,該領域主要的軟件產品簡介。必要時,帶領學生參觀相關的軟件企業,進一步認識計算機及軟件在社會生活中的地位及重要性,激發學生的學習熱情和好奇心。
第二階段的主要工作是個人基本軟件設計能力培養。該階段工作是第一階段工作的鞏固和進一步的提升,并且對幾乎所有學生來說都是以前沒有接觸過的或很少接觸過的內容,所以相對較難。因此,需對所有學生統一嚴格要求,并且導師需給予更多的指導。
主要內容包括網頁設計相關培訓,涉及到與網頁設計相關的各個方面。由于所能安排的培訓講座有限,講座只介紹網頁設計的基礎知識和網頁美工這兩部分內容,其他內容通過指定的參考書自學完成。對于低年級的學生來說自學能力較欠缺,這里需要學生積極主動地同導師溝通來解決問題。導師也應主動的引導學生。
通過該階段的學習,學生的軟件設計能力、自學能力以及與人溝通的能力將得到充分的鍛煉,為下一階段的學習打下很好的基礎。
第三階段的主要工作是團隊軟件設計能力培養。軟件開發工作是一項團隊合作完成的工作,因此團隊軟件設計能力對未來的軟件工程師來說是必不可少的。經過前兩個階段的培訓及理論課的學習,學生已初步具有軟件設計能力和意識,加上本階段所處的時間正是數據結構、數據庫原理這些理論課程開設的學期,所以進行小型的團隊軟件設計與開發是可能的。
主要內容包括小型項目模擬實戰,開發小規模的信息管理系統(房地產管理系統、建筑項目管理系統等)、簡單游戲軟件等,在開發的過程中將學生分組,每4人一組,每個組完成一個實際項目的開發,并且每組的項目都各不相同,組成員都有明確的分工。在該階段學生需要在導師的指導下,自學相關的軟件開發工具,并進行合理的分工。每個組推選一名學生作為組長,組長在導師的幫助下完成分工,為每個組員分配具體任務。
該階段學習完成后,學生已初步具備團隊軟件開發的能力了,為最后一階段的培訓做了很好的鋪墊。
第四階段的主要工作是鞏固第三階段的成果,積攢實際項目開發經驗,為后續軟件工程相關理論課程的學習打好實踐基礎。
主要內容包括團隊開發中型項目,該項目為實用的項目,具體內容根據當時的情況確定。學生在導師的指導下進行規范的軟件開發,包括測試、性能評估等專業知識的實踐。
總之,四個階段的工作都有很強的實踐性和實用性,由淺入深地帶領學生邁進軟件開發與設計的門檻,使其建立起軟件工程專業的學習興趣,盡快地適應本專業的學習。
2.2實訓方案的實施
為了方便教師對學生的指導,本專業開創性的在本科班中試行導師制,即為每個學生配指導教師,負責幫助學生及時解決學習及生活中的困惑及問題。每個導師同時指導8個左右的學生。導師制的實行在一定程度上保證了實訓方案的可行性與高效性。
課內實訓部分的實驗和課程設計,以本課程的授課教師為主,導師為輔,共同來對本專業學生進行輔導。學生在實驗和課程設計中遇到的問題可及時向授課教師或導師反映,導師可向授課教師放映學生的具體實驗情況。這樣可以增加學生們答疑的途徑,更好的同學生進行溝通和交流,提高教學效率。
對于課外實訓方案每個階段的項目都有專門的老師負責自己的學生的指導和督促工作,因此,方案的實施是在導師的幫助下,在學生積極參與的基礎上開展開來的。每一階段的任務都分為四個步驟來進行,具體如下:
第一步為相關知識培訓。由教研室統一安排,或由本院的老師做相關知識的講座,或請我院實驗基地的相關專業技術人員給學生做若干相關知識講座。講座的內容根據階段的不同而做適當的安排,如表2所示:

第二步為輔導反饋。各導師定期同學生交流了解學生的學習情況,然后通過各種方式給學生做輔導,使學生知道如何著手來進行工作,如何安排自己的時間,如何同其他成員溝通等這些在軟件開發工作中所必需具備的基本素質。
在前兩個階段的培訓方案實施過程中,由于學生處于剛剛認識大學的新鮮狀態中,他們對任何大學里的事物都充滿了好奇,因此,導師充分的引導和與他們交流,對學生學習興趣的建立,學習積極性的提高起著舉足輕重的作用。
師生間良性規范的交流方式的建立也是必須的。可讓學生養成每周寫學習筆記的習慣,以這種方式來記錄學生的學習情況、遇到的問題及解決方案。這樣可使學習的效率顯著提高,減少重復勞動。導師要認真檢查每個學生的學習筆記,及時發現出現的問題,并給出解決方案,幫助學生快速的進入正常的學習軌道。同時,導師需定期總結學生們遇到的普遍問題,并做好筆記,方便新來的學生快速地投入學習中,減少從頭摸索的時間。
第三步為任務實戰。學生需充分利用本學院實驗室環境及自己的電腦,在課余時間完成培訓任務及作業。每次的培訓任務后都會布置具體的作業要求學生完成,鞏固培訓知識。這些作業的選擇本著實用的原則來進行,使學生在完成作業之后有很強的滿足感,增強學生繼續學習下去的信心和求知欲。
比如,在“計算機組成簡介”培訓完成后,要求大家自己組裝一臺電腦。一開始是在學院的實驗室里進行,然后,想配置電腦的學生,可以將已學知識用到現實中,自己到科技市場去組裝一臺電腦或者幫助別人組裝一臺電腦。再如,在“網頁設計”培訓完成后,可要求學生自己設計個人網站,然后將其發布到已申請的域名空間中,這樣自己隨時可以瀏覽到自己的設計的網站了。雖然一開始設計的質量不是很高,但這可以增強學習專業的信心和興趣。每個培訓任務都有若干的實用作業來做,這里就不再贅述。
此外,學習時間的保證也是培訓計劃得以順利執行的保證。考慮到大部分學生沒有自己的電腦,為了讓學生有充足的時間來完成培訓任務,我學院對本學院學生在課余和周末安排了充足的開放實驗室時間來利用。在這些時間里,學生可以免費上機實驗,并且輔導老師將進行定期輔導,如果在上機過程中遇到什么問題可以隨時幫忙解決。沒有及時解決的,學生可通過各種方式反饋給自己的導師,由導師協助完成作業。
第四步為作業考核。對作業完成質量的好壞,要有合適的考核體系,如果只布置不考核,那么很有可能使得培訓流于形式,起不到很好的效果。由于所培訓的內容都是實踐性很強的,因此,傳統的筆試考核形式不能很好體現作業完成質量的高低。可采用師生互動的方式進行考核,即演示+答辯的形式進行考核。
學生以小組(約4人一組)為單位,通過PowerPoint演示文稿的形式,展現作業完成過程和結果。演示過程限時20分鐘,演示結束后由答辯小組向演示組成員提問題,由演示組成員回答。然后,答辯小組成員根據回答情況討論演示組中每個成員的成績。如果為團隊合作才能完成的作業,則只需給出團隊的成績即可,沒有個人成績。
為了保證成績的公正性、客觀性,答辯小組的成員建議由學生和老師共同組成。其中學生每班一名(一般為學習委員),負責從學生的角度向演示組提問題,同時反饋演示組成員的總體情況。老師兩名,一名負責技術評價,一名負責文檔規范評價。最后的總成績是在答辯組長(老師)的主持下,小組成員共同商定。
2.3實訓方案實施效果
本實訓方案目前正在我院07級軟件工程專業的2個班中實施。目前已進行了兩個學期的實踐。通過與其他相關專業的學生在各方面能力的對比來看,該方案當前的實施效果明顯。在學習態度上,本專業學生入校以來高漲的學習熱情一直保持的,大部分學生能夠主動同導師聯系, 主動要求學習新的相關知識。而其他相關專業學生則開始出現對所學專業的迷惘狀態;在實踐能力上,本專業大部分學生具備了基本的計算機能力和網站設計能力。與其他專業只有很少的幾個學生具有這樣的能力相比,學生們普遍都有很強的成就感,他們的自信心及對本專業繼續學習的興趣明顯提高。
3結論
由于實訓方案正處在實驗階段,課內實訓中課程之間的合理銜接,課外實訓的內容和實施方式,以及實施的具體步驟還有待進一步驗證和完善。這也是我們的教學團隊正在努力的方向。
參考文獻:
[1] 郭劍,朱立華,孫力娟. 程序設計實踐課程中程序員素質的培養[J]. 計算機教育,2007,(22):25-27.
[2] 潘怡. 合作學習在“軟件工程”課程實踐教學中的應用探討[J]. 計算機教育,2007,(22):54-56.
[3] 龐國斌,王冬凌. 合作學習的理論與實踐[M]. 上海開明出版社,2003:13.