楊微
摘 要:分析軟件工程課程教學中存在的問題,提出“自主學習任務單”的設計原則,通過一個具體的實例展示“自主學習任務單”的設計方案,從課程教學過程和課程考核體系兩方面論述基于“自主學習任務單”的軟件工程課程教學設計思路。
關鍵詞:軟件工程;自主學習任務單;課程改革
0 引 言
軟件工程課程是計算機及其相關專業(yè)的一門核心課程[1],是指導計算機軟件開發(fā)、維護和管理的普遍原理和技術的一門綜合性課程,主要講授軟件工程學的基本原理、概念和技術方法。軟件工程課程是一門來源于軟件開發(fā)工程化的實踐并運用于實踐,且在不斷完善中的課程;具有綜合性和整體性,包含人、工程、技術和管理,整個知識體系邏輯關聯(lián)較強,相輔相成;不同于程序設計、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)原理等課程著眼于培養(yǎng)學生對某一方面問題的解決能力,而著眼于培養(yǎng)學生解決全局問題的能力。
鑒于軟件工程課程的重要性,針對該課程的教學改革很多。文獻[2]提出以項目為驅(qū)動,結(jié)合案例教學、團隊合作等教學方法,指出這樣能使學生系統(tǒng)地掌握軟件開發(fā)的過程、方法和工具;文獻[3]從課程內(nèi)容、教學方法、實踐環(huán)節(jié)、考核環(huán)節(jié)等幾方面對課程的教學改革進行探討,提出從案例教學、理論與實踐相結(jié)合教學兩方面進行課程教學改革;文獻[4]提出理論教學與實際項目開發(fā)相結(jié)合的教學方法;文獻[5]提出在傳統(tǒng)案例式實踐教學中引入設計型項目驅(qū)動思想,構(gòu)造典型實用的軟件項目案例簇,引入公開答辯考核方式,實現(xiàn)軟件人才的動態(tài)培養(yǎng)。基于“自主學習任務單”的軟件工程課程教學改革,在強調(diào)軟件工程課程在軟件開發(fā)人才培養(yǎng)中的重要性以及加強課程的實踐、培養(yǎng)學生運用方法和工具的重要性的同時,還強調(diào)加強軟件工程課程實際教學中各個環(huán)節(jié)銜接性的重要性。
1 課程教學現(xiàn)狀及存在的問題
軟件工程課程在軟件開發(fā)人才培養(yǎng)中具有重要的地位,是一門理論性和實踐性都非常強的課程,因此很多高校在開設軟件工程課程時會設置理論課時和實踐課時。廣州大學華軟軟件學院軟件工程系開設的軟件工程課程為34課時——理論課和實踐課各17課時,但在教學中,學生對課程內(nèi)容的掌握情況還是不樂觀。分析軟件工程課程的教學現(xiàn)狀,可以發(fā)現(xiàn)其存在以下問題。
(1)軟件工程課程是理論和實踐性都非常強的課程,內(nèi)容包括豐富的軟件工程基本原理、方法、工具和管理知識;采用傳統(tǒng)的大課講解理論,受到課時以及學生學習自覺性的限制,導致學生的軟件工程知識、原理、方法、工具、管理等基礎理論知識掌握得不扎實,實踐基礎儲備不充足。
(2)在實踐學習中,學生需要運用掌握的原理、工具、方法來解決實際問題,但是受到前一個問題的限制,學生的實踐運用能力不夠,具體表現(xiàn)在其他關聯(lián)課程的學習效果不理想以及軟件開發(fā)過程的控制方面表現(xiàn)不佳。
(3)由于軟件工程課程系統(tǒng)性、理論性、綜合性比較強,學生在課程學習中有一定的難度,在實踐運用中收獲不了成就感,再加上課程考核方式比較單一,導致學生學習積極性不高,課堂參與不夠,又進一步影響學生學習效果。
分析這3點背后的原因,很大一部分是理論課和實驗課程銜接的問題。學生對軟件工程知識、原理、方法、工具、管理等基礎理論知識掌握不夠,在實驗課的項目實踐中沒有學以致用的喜悅,又影響到后面理論課程的學習激情,惡性循環(huán),學習效果不好,不能很好地達到課程教學的目標,因此迫切需要教師積極探索教學改革,改善課程教學效果。
2 “自主學習任務單”
在網(wǎng)絡和信息化的大環(huán)境中,學習的行為方式正在發(fā)生著革命性的變革:獲取知識的途徑更多、更便捷、更廉價。你想知道什么——“谷歌”與“百度”;你想學某一門課程,有層出不窮的在線學習平臺提供課程資源。因此,我們的課堂教學應該改變傳統(tǒng)教育中解決學生“知”與“不知”問題的角色,不再延續(xù)一門課、一本教材、一個老師、一堆知識點?!白灾鲗W習任務單”是學生自主學習的任務要求,作為教師教學文件的一部分,提前下發(fā)給學生。“自主學習任務單”要求學生借助網(wǎng)絡、教師提供的資源等多種開放的途徑進行自學,解決課程學習“知”與“不知”的問題;繼而在課堂上通過輔導、研討、交流等課程教學方式引導學生對知識的深入探索,培養(yǎng)學生分析和解決問題的能力,創(chuàng)造更多教師和學生互動交流的機會?;凇白灾鲗W習任務單”課程教學的最大轉(zhuǎn)變是學生是學習的主體,充分發(fā)揮學生學習的自主意識,教師是幫助學生學會學習和成長的角色。
2.1 “自主學習任務單”模板設計
基于“自主學習任務單”,教師提前安排學生自主學習的任務?!白灾鲗W習任務單”的內(nèi)容包括以下6方面:①要求自學理解并掌握的知識點清單;②提供資源及路徑;③進階要求;④疑問清單;⑤測一測;⑥課程學習小結(jié)。具體見表1。
2.2 “自主學習任務單”具體設計實例
以軟件工程課程第九周教學內(nèi)容——系統(tǒng)的動態(tài)建模為例,展示“自主學習任務單”的設計,見表2。
3 基于“自主學習任務單”的課程改革
3.1 設計基于“自主學習任務單”的課程教學方法
“自主學習任務單”作為教學文件的一部分,要求教師在教學周的每周大課前布置給學生,學生按照任務單自主完成關鍵知識點預習以及相關的練習?;凇白灾鲗W習任務單”的軟件工程課程教學流程如圖1所示。
第1階段:掌握基礎知識階段。以“自主學習任務單”為導向,每一次大課教學前布置“自主學習任務單”,學生在課前自主完成預習的任務,掌握基本基礎理論知識點。
第2階段:擴展知識階段。大課案例教學內(nèi)容分兩部分展開:①課堂提問,通過提問檢查學生任務單的完成情況,對學生對問題的理解程度進行考查并針對問題進行分析和講解;②課堂實踐教學,依據(jù)每堂課的教學任務把一個完整的實際項目進行拆分,講解相應軟件工程工具和方法的運用。該階段主要是依托實際項目進行實踐教學,以強化課程的實踐性和指導性。
第3階段:解決問題階段。小課由學生組隊和選題并通過業(yè)務調(diào)查、需求分析、概要設計、詳細設計、編碼、測試的過程完成一個實際的項目。小課和大課相對應,要求依據(jù)每堂課的教學任務將一個完整的實際項目進行拆分,每次小課內(nèi)容運用所學理論去解決具體問題,訓練學生的實踐能力。解決問題階段的小課模擬實踐能夠幫助學生掌握軟件開發(fā)的過程和項目管理的概念,加強學生的文檔撰寫能力,培養(yǎng)學生的團隊合作能力,強化學生的運用能力并達到課程教學的目的。
第4階段:知識內(nèi)化階段。項目講解和答辯可以促使學生進行軟件工程知識、工具、方法的運用和總結(jié),最終達到融會貫通和知識內(nèi)化的目的。在教學過程中,教師應依據(jù)學生和教學過程的實際情況調(diào)整及優(yōu)化教學方式和內(nèi)容。
在具體軟件工程課程教學過程中,教師要注意把握好全局和整體觀,把握其與程序設計、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)原理等前導課程的關聯(lián)性,強調(diào)各主要知識點的邏輯關聯(lián),著眼于培養(yǎng)學生解決全局問題的能力。
3.2 完善課程考核體系
在改革課程教學的同時,教師還要不斷完善課程考核體系,借助課程考核激發(fā)學生的學習積極性。對廣州大學華軟軟件學院軟件系軟件工程課程平時成績來源進行分析:課程考核方式為百分制,開卷考試占50%,平時成績占50%;平時成績包括考勤、作業(yè)、小課實驗過程成績、項目文檔與完成情況以及平時表現(xiàn)情況。針對基于“自主學習任務單”的軟件工程課程教學改革,我們提出相應的課程考核體系,見表3。
課程考核體系包括3部分:
(1)理論試卷考核50%,采取紙質(zhì)開卷考試,考核學生軟件工程理論知識的掌握及運用能力;
(2)平時成績考核20%,來源包括考勤和課程“自主學習任務單”完成情況兩部分,考慮到這兩者是課程順利開展的基礎,因此平時成績20%來源細化為考勤10%、課程“自主學習任務單”完成10%;
(3)項目實踐30%,項目實踐是學生解決問題能力培養(yǎng)和知識內(nèi)化所依托的手段,對軟件工程課程而言,項目實踐主要培養(yǎng)學生相關理論方法的運用能力、文檔撰寫能力以及團隊協(xié)作能力,基于此,項目實踐30%的成績來源細化為項目答辯15%、系統(tǒng)相關文檔10%和系統(tǒng)演示與團隊協(xié)作5%。
4 結(jié) 語
教育部、發(fā)展改革委、財政部印發(fā)《關于引導部分地方普通本科高校向應用型轉(zhuǎn)變的指導意見》,這標志著我國高等教育“重技重能”時代即將來臨,標志著對“手”的教育的理性回歸。學生學習的知識不消化,也只能變成智商中的“脂肪”,因此教師需要在教學中不斷反思,跟進時代和學生的特點,改革教學方式,幫助和促進學生將知識內(nèi)化,加強學生的知識運用能力,以使學生能更好地與未來的應用領域相銜接(對專業(yè)課程學習而言)。軟件工程課程是IT方向?qū)W生的專業(yè)核心課程,是一門綜合性很強的課程,知識體系具有整體性;教師在軟件工程課程講授中,要把握好全局和整體觀,強調(diào)各主要知識點的邏輯關聯(lián)??梢?,探索軟件工程課程教學改革對于提高IT專業(yè)類學生的綜合能力意義重大。
參考文獻:
[1] 劉強, 陳越, 駱斌, 等.“軟件工程”課程教學實施方案[J]. 中國大學教學, 2011(2): 41-44.
[2] 張忠林. 基于項目驅(qū)動模式下的“軟件工程”教學改革[J]. 計算機教育, 2009(2): 53-55.
[3] 楊晨影. 軟件工程課程教學改革初探[J]. 教育與職業(yè), 2009(12): 122-123.
[4] 馬永濤, 程勁. 軟件工程課程教學改革研究與實踐[J]. 計算機教育, 2011(12): 41-44.
[5] 孫明, 田蜜, 康文杰. 設計型項目驅(qū)動的軟件工程實踐教學改革[J]. 計算機教育, 2016(3): 156-159.
(編輯:宋文婷)