前言:想要寫出一篇引人入勝的文章?我們特意為您整理了獨立學院軟件工程課程教學探究范文,希望能給你帶來靈感和參考,敬請閱讀。
【摘要】《軟件工程導論》課程是獨立學院計算機專業培養中非常重要的一門課程。本文介紹了獨立學院《軟件工程導論》課程目前的教學現狀,描述了一種針對該課程的,以CDIO理念為指引,以提高學生工程化開發能力為目的進行的教學改革思路。
【關鍵詞】軟件工程導論;CDIO;教學改革;工程化
1、引言
在就業環境日益嚴峻的現今,軟件人才仍然需求火熱。企業需要合格的軟件人才,而應屆畢業生希望找尋到合適的企業接收。在供和求都有需求的情況下,仍然存在企業需求不被滿足的情況,這體現了目前的現狀:在計算機行業內,既缺少行業特色型人才,也缺少應用型人才。在這種情況下,以創建應用型本科為目標的獨立學院所面臨的改革壓力非常大,各個專業也開始尋求全新的發展方向[1];與實踐相關的專業紛紛開始展開各項教學改革研究,特別是針對實踐類的課程教學改革[2]。作為獨立學院的計算機專業,在教學上必須結合行業的需求,緊跟行業內的技術發展趨勢;同時立足自身定位,對專業的培養目標進行適當調整。而在計算機相關專業的培養計劃中,《軟件工程導論》作為一門承上啟下的重要專業課程,對于學生的影響十分重大,在教學中需給予正確的定位[3]。
2、課程現狀
福建師范大學協和學院建立了基于CDIO的教學培養模式。CDIO是工程領域一種較新的教學理念,于2000年由美國麻省理工學院、瑞典皇家理工學院等四所大學的工程教育改革團隊聯合提出。“CDIO這個縮寫包含了Conceive、Design、Im-plement和Operate,其代表的含義是構思、設計、實現和應用”[4]。這種教育理念所倡導的創新能力和與社會大環境的協調發展對于目前的獨立學院教育是非常吻合的。在目前的教學體系中,計算機專業的《軟件工程導論》課程安排在三年級的上學期進行教學,主要安排為理論課程。由于課時的限制,也因為課程本身的導論性質,教師在教學中理論講授的時間偏多,存在以講授為主的教學行為,導致學生的學習積極性不夠;而學生所獲取的知識點相對零散,無法建立起統一完整的知識體系。這種情況若任其發展,將使學生喪失對課程的興趣,因此,課程改革勢在必行。
3、教學改革措施
本課程教學改革的核心在于基于CDIO的指引,將工程化理念引入《軟件工程導論》的教學當中,對現有的教學理念進行修正。CDIO倡導“基于項目的教育和學習”,將學生作為教學的主體,而不是以教師為主;CDIO提倡以工程項目從研發到運行的生命周期為載體,讓學生以主動的、實踐的、課程之間有機聯系的方式學習,以此來培養學生的工程能力、運用知識分析和解決問題的能力、終生學習的能力以及團隊協作的能力。這些能力的培養對于信息技術相關專業的學生來說尤其重要;這種以工程項目為驅動的教學方法非常適合于《軟件工程導論》課程的教學開展。課程教學的改革將圍繞獨立學院所設定的應用型本科人才培養為目標[5]。首先,工程化理念的引入并不是在《軟件工程導論》課程中才首次提出。在大一新生入學后,在編程的入門課程中,教師可以為學生引入簡化后的工程化思想。在需要通過編程去解決問題時,首先要思考出完整的解題思路(在軟件工程中我們稱之為解決方案),而不是立刻開始代碼的編寫。通過長時間的訓練讓學生習慣“謀定而后動”,并且將這種習慣延續下來。在目前的教學培養中,我們在大一學年安排了《高級語言程序設計(C語言)》和《面向對象程序設計(C++)》課程作為專業的基礎入門課程,主要完成C語言和C++語言的學習。在教學過程中,我們注重了驗證性實驗和設計、綜合性實驗的合理搭配,避免讓學生陷入一味驗證的套路中,通過實驗的設計去啟發學生對同一問題的不同解決方案。在課程的正常教學結束之后,我們安排了一個綜合性實驗,要求學生分組完成一個基于DOS平臺的簡易的MIS信息管理系統。這個系統允許學生分組(每組2-3人)完成,遵從需求分析———數據結構設計———功能模塊劃分———模塊代碼實現———調試完成總體功能的大體順序開發完成。通過這樣的實驗安排,既能滲透簡化的軟件工程思想,也能強化學生的編程能力,鍛煉學生的團隊合作能力;在項目的工程化實現過程中提升學生的總體能力。其次,在《軟件工程導論》之前的前導課程中,都可以不斷的滲透工程化的開發思想,為后續的課程打好基礎。工程化開發思想在后續的學習和之后的工作中都是不可缺少的。在在《軟件工程導論》之前,培養計劃中安排了《數據庫原理與技術》、《數據結構》、《網絡編程》等專業課程,均設置了以項目形式主導的課程設計或綜合實驗。在各門前導課程的綜合訓練中,我們一次次的強化了項目管理的相關知識,不斷的向學生傳輸工程化的軟件開發思想。這種潛移默化的引導為后續《軟件工程導論》課程的開展奠定了良好的基礎。再次,在不增加現有課時的前提下,對學生進行分組,提供相關的課程選題,由各組選擇完成并以課程大作業的形式完成提交;課程大作業將作業課程最終成績的重要組成部分。選題的設置要注意貼近實際,要能讓學生能夠展開實際的調研;同時要注意難度的合理設置,既能關注到尖子生的提升性要求,也能照顧到落后學生,避免部分學生對課程的學習失去信心。結合課程中的分析講解、分組討論和課后的文檔完成,我們希望學生在這個過程中能夠體驗到完整的軟件開發的流程,將課堂講授的知識應用到所選課題中,能夠更深入的體驗分工合作的團隊精神,從而對課程教學內容有更加深入的理解。第四,在課程結束后的課程設計中,每個小組對所選的項目進行優化完善,提供一個可以運行的版本,并完成項目答辯。通過現場答辯的形式讓小組成員更明確的了解自己的項目作品在哪些環節仍存在缺漏。當然,在這個課程中,我們主要關注的每個小組對于所選課題的需求分析和設計的過程,對于實現環節,我們鼓勵學生盡可能的完成,在困難環節可以與教師進行溝通,認識到自身知識體系的薄弱環節并進行提升,為后續的畢業設計打完基礎。總而言之,我們希望以這種分組團隊項目開發的形式,為學生提供軟件工程課程的實踐體驗,加深對課程知識的印象,鍛煉文檔撰寫的能力;同時,在項目開發的過程中,讓每一個成員都能夠參與起來,能夠完整的體驗整個項目開發的流程,并且熟悉流程中涉及到崗位角色,建立起一定的團隊合作精神。另外,在對不同專業開設《軟件工程導論》課程時,要綜合考慮不同專業的培養目標,對課程內容進行相應調整。
4、小結
通過上述相關措施的執行,學生對于《軟件工程導論》課程的學習積極性和主動性有所提升,對于軟件開發的完整流程有了更加深刻的認識;同時也深刻認識到軟件開發并不是一個“單打獨斗”的過程,需要有團隊成員的良好合作才能有很好的軟件作品產生。以上這些都將為本專業的學生進入專業工作領域奠定良好的基礎。目前的行業發展趨勢表明,企業仍然是需要人才的,既缺少高級軟件工程人才,又缺少高技能的應用型人才。根據獨立學院的特殊定位,我們在教學中應該定位于培養高技能的應用型人才,注重實踐動手能力的培養,注重提高團隊溝通和協作能力的培養,提高畢業生質量,為軟件企業輸送人才。在后續的教學開展中,我們將在堅持現有良好措施的前提下,將相關課程更好的組合成為一個課程體系,打通課程之間的壁壘,降低學生的學習難度,增強學生的成就感,從而更好的提高總體的教學效果。
參考文獻:
[1]林昌意,張杰,林鴻.獨立學院電子信息工程專業建設的探索與實踐[J].中國石油大學勝利學院學報,2012,26(2):80-82.
[2]林昌意,蘭其斌,陳海霞,等.技術實踐與創新并舉的實驗教學體系研究[J].福建電腦,2017(3):87-88.
[3]韓智,張振虹,李興娟.基于CDIO理念的軟件工程課程教學改革[J].計算機教育,2010(11):56-59.
[4]陳翠榮,趙颯.高校多媒體教學中存在的問題與對策———基于調查訪談法的分析[J].黑龍江高教研究,2013(5):19-22.
[5]廖禮萍,劉宏哲,馬小軍,等.面向應用型人才培養的軟件工程課程教學改革[J].計算機教育,2014(14):19-21.
作者:陳叢 單位:福建師范大學協和學院