前言:尋找寫作靈感?中文期刊網用心挑選的新工科人才培養的軟件工程課程改革,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
摘要:為了有效地達到工程教育與新工科建設要求,對《軟件工程》課程進行改革實踐研究,培養面向變化與未來發展的創新人才,從而滿足新技術、新經濟、新產業發展人才需求。課程教學基于軟件產品構建,融非技術類教學與技術類教學于一體,以解決非技術性教學難題。采用與華為合作的協同育人混合式教學,加強實踐教學環境建設,探索大規模網絡開發課程(MassiveOpenOnlineCourses,MOOC)學習方法。從軟件工程實際要求出發,逐步建設相關軟硬件環境,將開發流程、文檔模板、評審標準相融合形成實踐指導和評價方式,滿足學生求知、增能、成才需求。
關鍵詞:教學改革;新工科教育;工程認證;軟件工程;能力培養
0引言
《軟件工程》作為軟件工程專業的核心必修課,講解現代軟件工程的概念、方法和技術,內容涉及軟件過程、開發管理、需求建模、設計實現和測試維護等。面對不斷發展的軟件和社會需求,課程不斷進行著建設和教學改革。其中,不少課程結合MOOC進行學習方法改革[1-5]。自2017年以來,各高校紛紛響應教育部倡導的新工科建設與工程認證[6-10],結合自身特色進行了各具特色的新工科建設規劃與實施方案,完成創新人才培養目標[11-13],滿足學生求知、增能、成才需求。該課程有效地融合了MOOC和新工科建設目標,課程中強調軟件工程的根本性和永久性原則,關注軟件系統的復雜性工程問題求解,要求學生實踐迭代化開發方法,進行實際項目管理、開發和運營。以創新能力培養為導向進行以工程實踐為主的課程教學建設,以學生為本,分層次和多元化進行實踐和創新能力培養。目標是讓軟件工程專業的學生能夠獨立定義問題、自主學習應用知識、設計求解方案,熟練使用軟件工程流行的支撐工具,完成軟件工程生命周期相關任務。云南大學軟件學院的《軟件工程課程》是軟件工程專業核心必修課程,3學分,54學時。課程開設于2003年9月,已開設15年,迄今授課學生數超過1500人,經歷了云南大學精品課程、云南省精品課程、教育部-英特爾精品課程、國家級精品資源共享課程、中國大學資源共享課程建設歷程,在師資隊伍、教學設計、教學案例和實驗項目等方面進行了大量積累。所在軟件工程專業獲得云南省卓越工程師項目和國家卓越工程師項目,課程結合卓越工程師培養目標,注重培養實踐能力強的工程人才。課程參考國際著名軟件工程英文教材[14],在科學出版社完成軟件工程與需求工程教材出版[15-16]。與軟酷網合作進行慕課資源建設,指導學生按組進行軟件系統開發,讓學生完整地體驗軟件工程專業基礎理論,建立起軟件開發工程概念、原則和習慣,培養學生分析問題、解決問題,以及團隊協作、談判溝通等能力。
1現有問題分析
軟件工程具有技術性和工程性強的特點,學生需要在實際的“動手做”和“真正練”中體會和掌握它的思想和技術。原有課程教學中,學生很難理解抽象介紹的基本原理,與實際工程實踐要求差距明顯。在以往軟件工程教學中,課程實踐僅僅是提供一個軟件開發項目及相關文檔要求,缺少軟件工程的過程管理和環境支撐建設;沒有開發經驗的學生習慣性地采用非工程的方法,以突出個人技巧為主要目標,軟件過程雜亂很容易導致項目開發失敗。因此,在整個教學過程中,始終貫穿標準規范和支持工具,建立支持小組式開發的軟件工程環境,為學生真正實踐提供有力支持。
2成果導向教學流程改革
《軟件工程》課程目標滿足新技術、新經濟、新產業發展的人才需求,培養面向變化與未來發展的創新人才。為了有效達到工程教育與新工科建設要求,課程教學基于軟件產品構建,融非技術類教學與技術類教學于一體,以解決非技術性教學難題[17-20]。具體采用與華為合作的協同育人混合式教學,探索MOOC學習方法,課程評價改革。從軟件工程的要求出發,逐步建設相關軟硬件環境,將開發流程、文檔模板、評審標準相融合形成實踐指導,滿足學生求知、增能、成才需求。
2.1華為云合作協同育人混合式教學
課程改革依托華為云進行軟件工程課程建設,開展混合式教學改革,在教學中貫徹工程教育理念,通過與企業合作培養學生實踐能力。基于華為云平臺進行課程講授和交流,將理論實踐有機銜接、學校企業實時連接。依托華為云平臺,不斷建設實踐案例庫,完成實踐過程的支持服務,將基本原理、企業案例、關鍵技術與工具等有機結合,使得軟件工程基本知識和原則講授與軟件工程實踐有機結合。在教學過程組織上,強調理論與實踐相結合。采用基于項目驅動的教學模式,以一個典型的軟件開發實例作為授課主線,在軟件工程方法論的指導下,一步步完成系統需求挖掘、系統需求確定、系統體系結構設計、詳細設計開發,系統實現,以及系統有效性評估等開發流程,并將軟件工程-能力成熟度模型(CapabilityMaturityModelInte⁃gration,CMMI)和項目管理等知識融合到項目開發中,降低課程內容的抽象性和難度,提高學生學習興趣。利用面向軟件開發者的云端開發環境,支持在云端創建工作空間,在線編寫代碼、智能提示、代碼調試、代碼檢視、代碼提交、配合代碼檢查并修改代碼缺陷、代碼片段(示例代碼)搜索等?!盾浖こ獭氛n程探索依托華為云的教學實踐模式,為學生提供實踐培訓,推行工程教育模式,讓學生經歷軟件工程過程中各環節,建設高校產學合作協同育人項目。課程秉承產教融合的發展理念,充分發揮華為云資源在軟件工程領域的獨特優勢,進行信息交互和溝通合作,有效搭建了教學合作的便捷通道。以企業崗位能力、素質要求為目標,將企業的職業道德和職業精神融入課程全過程,并在課程中加強企業所需的能力模塊學習,產教深度融合,實現教學水平全面提升。課程堅持校企合作、產教融合的理念,不斷健全校企合作項目建設,創新課程實踐模式?;旌先A為云,讓學生在CloudIDE中編寫代碼,對代碼進行在線管理,在線配合代碼檢查并修改代碼缺陷、搜索示例代碼等。根據華為云選擇的“技術棧”類型不同,學生可選擇不同對應“模板”,創建項目名稱,利用倉庫地址擁有權限的代碼倉庫,實踐配置管理中的代碼倉庫,從代碼倉庫中獲取具有權限的分支。按照企業人才培養方案實施授課指導,幫助學生提高實踐操作技能和專業知識水平。邀請企業資深開發人員開展講座,并與學生進行討論,學生通過文獻查閱以及與軟件企業人員的直接交流,體會當前軟件工程業界的真實案例和最佳實踐。課程實踐讓學生通過項目實踐了解軟件生命周期模型,熟悉常見軟件過程模型,掌握需求分析、設計、測試等軟件開發階段中的常用工具與實用方法,體驗實踐項目開發過程,以及項目管理與質量保證的工具和技術。以綜合應用開發能力和創新能力培養為導向,以學生為本,分層次、多元化培養,將課程與實踐緊密結合。
2.2基于MOOC課程建設
《軟件工程》課程基于MOOC突出“教”與“學”相結合,利用網絡課程和擴展資源加強師生之間的交流和學生之間的協作,發揮網絡教學優勢,引導學生根據個人興趣和實際項目需要進行自主式學習。與軟件公司合作,充分利用公司的網絡教學平臺和實用案例,引導學生主動積極地思考,以團隊為單位進行合作。通過軟件工程MOOC的教學活動,驅動教師以調動學生學習興趣和能力培養為主,激發學生學習積極性、主動性和創造性,進行教育思想轉變的教學培養創新。課程以啟發式教學和實踐教學為主,采取提問法、案例法、場景模擬法和小組討論法等方式培養學生獨立分析問題、解決問題的能力以及創新能力。慕課建設以每小節8~16分鐘講授軟件工程基本概念、原則與方法。
2.3課程評價改革
為了培養學生獨立分析問題、團隊合作、解決問題能力以及創新能力,全面改造原課程的評價體制為總成績=平時成績(20%)+期中評估(20%)+大作業(60%)。課程大作業要求學生以開發小組形式協作完成軟件系統,建立階段性評審、產品和運營模式,進行軟件開發過程管理和風險評估。針對大部分學生不擅長主動尋找問題并提出自己獨到見解的現狀,大作業要求學生在系統環境下自主選擇問題和創新性地提出問題解決方案。從軟件工程要求出發,逐步建設相關軟硬件環境,將開發流程、文檔模板、評審標準融合在一起,改變學生以往突出個人技巧的雜亂過程。通過大作業實踐要求學生具備以下能力:通過閱讀教材和資料,做好軟件開發準備工作——自學能力;借助計算機以及學生所學程序設計語言和數據庫原理,開發一個項目——動手能力和對不確定事物決策時的首創精神與主動積極性;能夠運用軟件工程理論對項目開發進行初步分析判斷——分析能力、系統思維能力;學會撰寫各階段的文檔報告即遵循國際標準提交各階段文檔——表達能力;對各自負責的模塊通過以前所學知識實現——設計能力;軟件開發以小組為單位進行,以小組成員合作方式實現該項目——團隊合作能力;培養與提高學生科學素養——實事求是的科學作風、嚴肅認真的工作態度、主動研究的探索精神。以項目為實施形式,以校內外實習基地為依托,最終落實CDIO的全部過程——工程實現、領導能力、企業管理能力和創新思維能力。
3結語
軟件工程專業積極響應教育部倡導的新工科建設,結合軟件工程課程特色,以軟件工程新工科人才培養目標為導向,進行了課程改革。采用與華為合作的協同育人混合式教學,逐步建設一體化的軟硬件環境,為學生搭建平臺、創造機會和提供實踐教育。將開發流程、文檔模板、評審標準融合在一起形成實踐指導,探索MOOC學習方法,基于軟件產品構建開展教學,融非技術類教學與技術類教學于一體,建立成果導向的改革課程評價體系,最終滿足學生求知、增能、成才需求。
作者:康雁 李浩 柳青 單位:云南大學