【摘要】目前《軟件工程》課程教學中存在基礎理論較為枯燥、學生學習的主動性與積極性較差、項目開發(fā)經(jīng)驗少、對軟件工程涉及的方法與工具使用困難、一對一輔導時間較少等問題。本文在借鑒德國高校普遍使用的教學方法的基礎上,結合我校實際情況,采用以2人一組為單位提交作業(yè),鼓勵多組討論做作業(yè),課堂隨機抽取及師生共同點評作業(yè)的方式,收集和分析學生對知識的掌握情況。有效提高學生學習的主動性、縮小理論教學和實踐環(huán)節(jié)之間的差距,改善課堂教學效果。
【關鍵詞】軟件工程 小組作業(yè) 師生共同點評作業(yè)
【中圖分類號】G642 【文獻標識碼】A 【文章編號】2095-3089(2018)39-0240-01
1.引言
《軟件工程》課程強調軟件開發(fā)的工程性,使學生在計算機科學與技術知識及技能的基礎上熟練掌握從事軟件需求分析、軟件設計、軟件測試、軟件維護和軟件項目管理等工作所必需的知識、方法和技能,突出對學生專業(yè)知識及技能的培養(yǎng)[1]。軟件工程學科最早起源于德國,幾十年后我國高校才開始開設??v觀中德兩國大多數(shù)院校,《軟件工程》課程都分為理論教學和學生進行項目實踐兩部分。
目前國內對《軟件工程》教學已有大量的改革和探索,如理論教學方面的情境教學、案例教學、任務驅動等多種優(yōu)秀的教學方法[2][3],在實驗實踐環(huán)節(jié)也提出了課程群建設的思路[4],也有研究將CDIO(Conceive構思、Design設計、Implement實施和Operate運作)工程教育理念引入軟件工程實踐教學環(huán)節(jié)[5],王璐提倡沉浸式教學法[6]等,但在高等院?!盾浖こ獭氛n程的實際教學過程中依然存在以下問題:(1)軟件工程的基礎理論較為枯燥,學生缺乏主動性與積極性;(2)學生缺少軟件項目開發(fā)經(jīng)驗,對軟件工程涉及的方法論與工具存在困難;(3)平時成績加期末考試成績的考核方式無法真實體現(xiàn)學生的工程實踐能力;(4)一般由一位教師負責所有的理論講授、實驗和課程設計環(huán)節(jié),教學任務重,分配給每位學生的時間和精力較少。
2.德國高?!盾浖こ獭氛n程授課方式
在德國的許多高校中,《軟件工程》課程的理論部分由一位教授負責的大班課形式授課,教授在每一次或兩次講授課結束后會布置實踐性很強的中小型作業(yè)。此外,講授課還同步配套有練習課。練習課以每班20-30人的小班形式舉行,分別由幾位助教負責。所有學生必須根據(jù)自己的時間和對助教個人的喜好自由報名參加一個練習課。作業(yè)以2人一組合作完成再交給助教。練習課主要由助教逐一批改作業(yè)、歸納出錯誤有針對性的集中講解以及解答學生提出的問題和講解額外的習題。
在講授課結束后的幾個學期內,每位學生必須參加至少兩個項目的開發(fā)。項目開發(fā)也是以由助教負責的20人左右的小班形式進行。根據(jù)具體項目情況,5-6個同學組成一個開發(fā)小組,每個小組有不同的選題。首先,助教會指導大家在學校提供的服務器內搭建好包括如subVersion版本控制工具、在線討論論壇、mailingList郵件共享群發(fā)等工具在內的開發(fā)環(huán)境,并且給每個學生開通一個訪問賬號。學生在課堂或者課外時間都可以隨時訪問服務器,在每次編碼后將自己的代碼導出到服務器中,在遇到問題時通過論壇在線討論或通過郵件和組員之間保持溝通,通過版本控制工具隨時了解項目開發(fā)進度。而助教則會通過賬號來區(qū)分代碼的作者,以此來判斷每位學生在項目開發(fā)過程中的積極性、工作量以及工作內容的重要程度,最后據(jù)此給每位學生打分。得益于小班練習課,學生積累了一些開發(fā)經(jīng)驗,在后期進行整個項目開發(fā)的時候大部分學生不會感到無所適從。同時由于有助教和各種先進工具的輔助,使得學生在課后也能有一個舒適的討論和學習環(huán)境。最重要的是助教給學生打的分數(shù)有據(jù)可依,極大的激發(fā)了學生學習的積極性和主動性。
3.適應現(xiàn)高等院校的新授課方法
鑒于目前國內許多高校師資力量不足,課時有限的情況,我們不能給學生配套小班形式的練習課。對此,本人在借鑒德國高校教學方式的基礎上,創(chuàng)新出適用我校學生的授課方式:每個階段和大知識點都布置作業(yè),作業(yè)也理論和實踐兩部分,實踐部分作業(yè)大約占80%。作業(yè)由2人為一組完成,同時鼓勵多組進行探討。這樣便于學生通過課后討論加深對課堂知識的理解和掌握,同時也增加學生模擬實際項目開發(fā)過程中和客戶等不同人群進行溝通的機會。
通過檢查和匯總作業(yè)中出現(xiàn)的問題,在講授新課前有針對性的抽取幾組作業(yè)進行集中點評。基于軟件工程的實踐作業(yè)多數(shù)屬于分析和設計作業(yè),沒有標準答案這個特點,作業(yè)點評由小組成員先講解和解答老師、同學的問題,最后由老師對作業(yè)進行點評給出修改建議,并對相關知識點進行復習和總結。本人曾在廣西財經(jīng)學院執(zhí)教4個班的《軟件工程》課程,其中兩個班采用單人完成作業(yè),進行集中點評的方式。另外兩個班采用新方法。通過觀察,發(fā)現(xiàn)采用新方法的班級在上課時課堂氣氛相對活躍,作業(yè)完成質量更高,期末考試平均分也比另外兩個班高許多,更重要的是,這兩個班的學生在期末時體現(xiàn)出來的語言表達能力、溝通能力和協(xié)調能力等綜合能力都相對較高一些。
4.小結
以2個學生為一個小組完成作業(yè),鼓勵多組探討,同時師生共同點評作業(yè)的方式,是以學生為中心的培養(yǎng)模式,建立從理論學習、動手實踐再到探究學習的教學鏈條,把設計活動貫穿于教學全過程,實現(xiàn)理論教學與實踐教學的交叉螺旋進行,實踐能力培養(yǎng)不斷線,使學生獲得有意義的綜合設計體驗,通過主動實踐和做中學,形成未來工程師的綜合品質和工程能力。
參考文獻:
[1]教育部高等學校計算機科學與技術教學指導委員會. 高等學校計算機科學與技術專業(yè)核心課程教學實施方案[M].北京:高等教育出版社,2009
[2]張佩云.項目驅動的軟件工程課程案例式分段情景教學研究[J].計算機教育,2013(3):77-79
[3]孫明,田蜜, 康文杰. 設計型項目驅動的軟件工程實踐教學改革[J]. 計算機教育, 2016(3): 156-159
[4]陳昊,明仲,彭小剛.軟件工程課程群實驗教學改革探討[J]. 實驗科學與技術,2011(4):93~96
[5]趙楷,張琳琳,張振宇,張亞紅,陳佳麗. 基于CDIO的《軟件工程》實踐課程教學改革與探索[J].現(xiàn)代計算機, 2012.09:30-33
[6]王璐.沉浸式教學法在《軟件工程》課程中的應用與實踐,軟件應用,2017,42-43
作者簡介:
李愛泉(1982-),女,碩士,研究方向:計算機科學與技術。