葛文庚 孫利 田麗芳
摘要:隨著社會信息化的提高,軟件行業(yè)在信息技術中所占的比重遠遠高于其他行業(yè),軟件相關專業(yè)已經(jīng)成為新技術、新經(jīng)濟、新產(chǎn)業(yè)發(fā)展的基石。軟件工程課程被譽為軟件開發(fā)的兵法,在軟件類專業(yè)中具有舉足輕重的地位。我們針對軟件工程教學中存在的問題,提出“四維一體”的教學方法,將課程資源云平臺、智慧教室、電子教室、Github群體資源統(tǒng)籌應用于軟件工程課程教學中,改變了傳統(tǒng)的教學方法和教學模式,克服了教學中時間、空間的局限性,提高了學生學習的積極性和主動性,取得了較好的教學效果。
關鍵詞:課程資源云平臺;智慧教室;電子教室;Github群體資源
中圖分類號:TP3 ? ? ?文獻標識碼:A
文章編號:1009-3044(2019)15-0160-02
互聯(lián)網(wǎng)及“互聯(lián)網(wǎng)+”正在深刻改變著各行各業(yè),大眾創(chuàng)新、萬眾創(chuàng)業(yè)正在快速推進,智能裝備、機器人等智能制造方興未艾,這些新技術、新產(chǎn)業(yè)、新經(jīng)濟的發(fā)展,歸根結底都離不開軟件。梅宏院士在中國計算機大會上指出軟件定義一切[1],軟件行業(yè)在信息技術中的比重遠遠高于其他行業(yè),軟件相關專業(yè)已經(jīng)成為社會發(fā)展的基石。
1 存在問題
軟件工程課程是研究軟件開發(fā)和維護的課程,是軟件相關專業(yè)的核心課程,課程內(nèi)容涉及軟件開發(fā)的方法、工具、過程、管理等多個方面,在課程體系中具有承上啟下的重要地位,是軟件開發(fā)的“兵法”。很多教師對軟件工程的傳統(tǒng)教學不滿意,將微課、MOOC、案例教學等教學模式應用到軟件工程教學中[2-4],雖然取得一定效果,但是并不理想,主要原因如下:
(1)課程教學內(nèi)容龐大。軟件工程的研究范圍非常廣泛,包括軟件開發(fā)的技術、方法、工具和管理等許多方面,而且新技術、方法和工具不斷涌現(xiàn),往往導致教學內(nèi)容多而不精,在授課時只能泛泛空談,無法展現(xiàn)一個軟件開發(fā)的“全貌”,甚至有些內(nèi)容是過時的、學生學不會的。
(2)學生不重視。軟件工程課程一般開設在大三,學生具備一定的編程基礎,認為軟件開發(fā)就是編寫代碼,只要會寫代碼就能開發(fā)軟件;甚至認為軟件工程的概念抽象、內(nèi)容枯燥,工程理念很難在課堂講授中獲取切身的體會和認識。
(3)教學改革不徹底。學生在教學過程中仍然處于被動接受狀態(tài)。以“教師教,學生聽”為主,學生僅僅是項目開發(fā)的“旁觀者”而不是“參與者”。因此,學生很難真正體會相關理論的重要性,更不用說轉化為自身的能力素質。
(4)教學模式不適應。以全球化、網(wǎng)絡化為代表的一系列顛覆性技術的發(fā)展使得教育、學習、信息共享的方式發(fā)生了變化,由此帶來了教學方法和模式、教學環(huán)境和條件、教師的需求和結構等的不適應。
為了解決以上問題,我們團隊嘗試將課程資源云平臺、智慧教室、電子教室、Github群體資源統(tǒng)籌應用于軟件工程課程教學中,研究出“四維一體”的教學模式,取得較好的教學效果。
2 四維一體
四維一體的教學模式以學生為主體,教師為主導。四維分別是:課程資源云平臺、智慧教室、電子教室、Github群體資源。通過教師的統(tǒng)籌安排,將四維融為一體,教學過程可以概括為四步:教學團隊指導學生通過軟件工程課程資源云平臺學習基礎知識,在智慧教室重點講解學生不理解或者有疑問的知識,在電子教室應用所學知識開發(fā)軟件,將理論應用于實踐,課余時間可以通過Github網(wǎng)站進行學習提高,實施過程如圖1所示。
2.1 課程資源云平臺
軟件工程課程資源搭建在學校的課程資源云平臺上,主要資源包括課程資源、基礎資源和拓展資源三個部分。課程資源包括課程簡介、課程大綱、課程進度、教學團隊等;基礎資源包括模塊劃分、重難點、教學PPT、教學視頻、案例、作業(yè)、參考文獻等;拓展資源包括職業(yè)標準、講座、題庫、文檔、拓展案例、拓展文獻等。
教師為學生設置用戶名和密碼,學生登錄后可以訪問課程資源,教師指導學生通過學習課程PPT和視頻,獲得模塊的基礎知識,對有疑問或不懂的地方進行記錄或者提交到網(wǎng)站;通過閱讀參考文獻和案例了解相關知識,也可以通過作業(yè)進行自我檢測。盡量讓每個學生帶著問題進課堂。教師通過視頻觀看記錄、PPT播放記錄等了解每個學生的學習情況,通過學生提交的留言了解學生的問題,具體過程如圖2所示。
2.2 智慧教室
以學生為中心必須改變傳統(tǒng)課堂,吸引學生主動學習、探究、討論,信息化環(huán)境和信息技術手段必須提升,技術豐富的智慧教室一定程度上滿足了大學生對教學強交互的需求,有助于推動教學方式和教學模式的改革。我們建設的智慧教室是一種“能優(yōu)化教學內(nèi)容呈現(xiàn)、便于學習資源獲取、促進課堂交互開展、具有情境感知和環(huán)境管理功能的新型教室”,是一種典型的智慧學習環(huán)境的物化,是多媒體和計算機教室的高端形態(tài)。
智慧教室的主要功能是通過綜合管理平臺調(diào)度多屏,實現(xiàn)教室無死角,每個學生都可以與知識近距離接觸;通過小組端顯示系統(tǒng),展示小組學習效果,提高學生的語言表達和團體協(xié)作;通過教學系統(tǒng),教師進行授課,解決學生的疑難;通過錄播系統(tǒng),記錄課堂實況,方便學生隨時回放;通過高級白板,為學生進行知識推演;活動桌椅,方便學生分組討論,充分調(diào)動學生學習積極性??傊腔劢淌沂菫榻虒W活動提供智慧應用服務的教室空間及其軟硬件裝備的總和,具體如圖3所示。
2.3 電子教室
通過課程資源的自主學習和智慧教室的基礎學習,學生基本掌握了軟件工程的理論知識,必須通過實踐檢驗和升華理論。電子教室是一個非常好的方式,它將信息技術融入教與學的過程中,對于提高學生動手能力、發(fā)現(xiàn)與解決問題能力具有突出的效率,受到學生的普遍歡迎,同時提供了有效的信息交流方式以及良好的合作學習平臺,也受到教師的歡迎。
在軟件工程課程教學中,電子教室的主要教學過程如圖4所示。
屏幕廣播:教師通過屏幕廣播可以控制所有學生的電腦,并將教師機上的內(nèi)容顯示在學生的電腦屏幕上,配合教師講解,可以實現(xiàn)一對一的教學指導,達到邊學邊練的教學效果,提高學生的注意力和教學效果。
發(fā)布作業(yè):教師可以通過發(fā)布作業(yè),將實驗任務發(fā)送給每一個學生,保證每個學生都是學習的主體,提高學生學習的積極性。
遠程監(jiān)控:教師通過遠程監(jiān)控可以看到每一個學生的計算機屏幕,隨時掌握學生的學習動態(tài),也可以單獨查看一個學生的學習狀態(tài),幫助提高學生的學習主動性。
學生演示:可以通過學生演示,展示學生的實驗結果,教師、同學通過自己的計算機屏幕可以看到,實現(xiàn)面對面交流的效果。
交流:同學和老師也可以通過交流功能及時進行信息交流和反饋。
總結:教師對學生的展示情況進行分析、總結。
通過電子教室將教學內(nèi)容分解為多種“教”的模式,并利用信息化將網(wǎng)絡資源和智慧教室連接成一個有機整體,并將多元化信息來源耦合進教學過程之中,利用快速的反饋技術,實現(xiàn)教學活動手段多樣化,達到系統(tǒng)地優(yōu)化教學方法。
2.4 Github群體資源
GitHub是一個基于開源分布式版本控制系統(tǒng)Git的在線代碼托管服務,它部署在公共互聯(lián)網(wǎng)上,提供了一個可供開發(fā)人員、組織或企業(yè)免費使用的開放式開發(fā)環(huán)境[5]。通過注冊該網(wǎng)站的用戶,可以閱讀開源代碼、加入軟件項目開發(fā)、與互聯(lián)網(wǎng)上的高手進行交流,將教學由單一的教師轉向互聯(lián)網(wǎng)群體。
在軟件工程教學中,學生主要通過GitHub完成軟件項目的托管,也可以閱讀開源項目或加入開源項目。
托管團隊項目:學生團隊在項目創(chuàng)建之后,團隊成員可以登錄自己的賬號,獲取該項目的副本。每個成員可以隨意修改自己賬號下的項目代碼,然后將代碼提交(Commit)到自己賬號下的項目中。用戶通過向原始項目申請合并自己修改的代碼(Pull Request)。團隊負責人將檢查該請求中所包含的代碼文件修改(File Changes),也可以針對其中的問題與該用戶進行在線交流和點評(Comments),在確定沒有問題且符合要求的情況將用戶的修改合并(Merge)到原始項目中。這有助于促進開發(fā)團隊之間的協(xié)作、技術學習和知識管理。
學習開源項目:GitHub上有很多優(yōu)秀的開源項目,學生可以下載這些項目的源代碼,學習這些項目的技術、結構等,有利于擴展學生的視野。
加入開源項目:學生通過學習,掌握了軟件開發(fā)的基本技能后,可以申請加入一個開源項目,為項目出力,同時與其他互聯(lián)網(wǎng)高手進行合作交流,提高學生的學習興趣和培養(yǎng)團隊協(xié)作能力。
3 結束語
四維一體的教學方法已經(jīng)在2014級和2015級軟件工程專業(yè)的學生中使用,驗證了該方法可操作性強,適合實踐性和理論性都強的軟件工程課程,真正實現(xiàn)“以學生為中心”,更好地激發(fā)學生的學習興趣,將學習的角色從受眾變成主動者,讓學生從枯燥的理論學習環(huán)境中解脫出來,全面深入體驗軟件工程分析、設計、編碼、測試的開發(fā)過程,有助于提高學生的學習能力、分析問題能力、解決問題能力,提高學生的工程實踐能力,縮短學生與行業(yè)的差距。
參考文獻:
[1] 梅宏.軟件定義一切:挑戰(zhàn)和機遇,中國計算機大會,2017.
[2] 殷海明.葉利華“微課”在軟件工程課程教學中的應用[J].計算機教育,2014(6):50-52.
[3] 李志博,于磊,杜祝平,侯雪梅.MOOC 與傳統(tǒng)教學的三段混合模式在軟件工程課程中的應用[J].大學教育,2016(7):40-42.
[4] 王靜.以案例庫為導向的“現(xiàn)代軟件工程”教學模式探索[J].教育教學論壇,2018(16):139-141.
[5] 曾少寧.基于GitHub平臺的協(xié)同式實驗教學方法[J],計算機教育,2016(12):144-148.
【通聯(lián)編輯:張薇】