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