張 爽
(東北大學 軟件學院,遼寧 沈陽 110169)
軟件工程課程是軟件工程專業(yè)的專業(yè)核心課,同時也是其他IT 類專業(yè)重要的專業(yè)課。該課程的教學目標是讓學生掌握軟件工程相關(guān)專業(yè)知識,掌握軟件需求、分析、設計、實現(xiàn)、測試、維護等軟件生命周期的要素、理論、方法與技術(shù),培養(yǎng)學生的軟件工程綜合素質(zhì)[1]。
軟件工程課程實踐性很強,對于幾乎沒有實戰(zhàn)經(jīng)驗的在校大二、大三學生來說,課程內(nèi)容很難掌握;同時對于授課教師來說,也難以取得理想的教學效果?;赑BL[2](Problem-Based Learning,基于問題學習)和自建的國家級精品在線開放課程軟件工程的、線上線下教學與翻轉(zhuǎn)教學相結(jié)合的混合式立體化的教學模式,可以有效針對新工科建設背景下工程教育專業(yè)認證對人才培養(yǎng)提出的要求,提高學生的學習效果,使學生真正理解和掌握軟件工程的理論和方法,培養(yǎng)學生軟件工程的綜合實踐能力。
PBL 最早于20 世紀60 年代在美國的醫(yī)學教育中啟用,自70 年代以來,在北美地區(qū)快速發(fā)展,目前已被大多數(shù)國家認可[2-3]。PBL 是近年來國內(nèi)外高等院校教學改革的熱點之一,除了在醫(yī)學專業(yè)教學中得到了廣泛的應用之外[4-6],在其他專業(yè),如計算機、軟件專業(yè)的教學中也嘗試進行了以PBL 為基礎的教學改革與實踐[7-9]。
PBL 教學是以問題為基礎的學習,即以學生為中心,以問題為導向[10]。傳統(tǒng)教學以教師為中心進行知識講授、復習及布置作業(yè),通常這種作業(yè)是小粒度的、碎片式的、淺層的、短期能夠完成的,學生難以通過完成若干個這樣的小作業(yè)而得到能夠構(gòu)成一定知識體系的、較具規(guī)模的、較深層的訓練與培養(yǎng)[3]。PBL 教學打破這一模式,以學生為中心,注重能力的培養(yǎng),讓學生圍繞著項目,收集需求,開展分析、設計,并獲得相應的可觀測的工作成果;其核心是以項目為基礎,圍繞著項目引導學生自主學習、協(xié)作學習與創(chuàng)新,這樣充分激發(fā)學生的專業(yè)課程學習興趣,調(diào)動學習的積極性,有助于培養(yǎng)其軟件工程的綜合能力,從而達到更好的教學效果。
由于在校大二、大三本科生沒有項目經(jīng)歷,只有較短的編程經(jīng)歷,因此對工程、項目沒有感性認識,很難理解軟件工程的思想及其所欲解決的問題,所以會感覺軟件工程很枯燥、抽象、晦澀。針對該課程的總體教學目標和學生的客觀情況,基于PBL 的教學理念與方法要求學生在整個課程教學過程中,親身經(jīng)歷一個軟件項目,即隨著課程內(nèi)容的進展,運用所學的知識和技術(shù)有步驟、有方法地逐步解決該問題。這樣,通過讓學生實踐一個目標軟件系統(tǒng)的軟件過程,使學生對軟件工程、軟件項目有了真真切切的經(jīng)歷,獲得了必要的感性認識,從而能夠真正地、更好地理解軟件工程的思想與預解決的問題,進而培養(yǎng)學生靈活運用所學知識分析問題和解決問題的能力以及團隊協(xié)作的能力,提高學生的軟件工程綜合素質(zhì)。
軟件工程專業(yè)是一個包羅交叉眾多學科的專業(yè),而軟件工程課程作為軟件工程專業(yè)的專業(yè)核心課,涵蓋了軟件生命周期的各個階段,且交叉了軟件設計與開發(fā)、軟件測試、社會科學、管理科學、心理學等眾多學科的知識,課程內(nèi)容非常豐富與龐雜。它是一門偏工程性質(zhì)的課程,并沒有太多太深奧復雜的理論,所以學生往往感覺軟件工程課“聽著容易、做起來難”。雖然網(wǎng)絡上充斥著各種軟件相關(guān)的資料與信息,但真正適用于在校大學生的高校軟件工程教學課程資源卻是很少。
自建MOOC 是指以軟件人才培養(yǎng)為導向,基于本課程10 多年的教學經(jīng)驗和積累,軟件工程向在校學生和老師以及社會上的從業(yè)人員提供高質(zhì)量的可反復觀看、學習、練習、思考與交流的課程資源與平臺。該慕課資源豐富、生動,包括碎片化的教學視頻和大量真實的軟件項目案例、測試題庫、作業(yè)、論壇討論題目等課程資源,覆蓋了課程各章節(jié)的重點和難點內(nèi)容,便于學生自主學習。將抽象的軟件系統(tǒng)分析設計方法進行了精心設計,制作成生動、形象的動畫視頻,向?qū)W生進行演示與講解軟件系統(tǒng)分析設計的方法與過程。上線后,課程團隊對課程內(nèi)容及時進行更新與完善,不斷將最新的學科與教學研究發(fā)展成果、社會熱點問題充實到課程資源中,使學生能夠結(jié)合到IT 領(lǐng)域最新的發(fā)展與技術(shù)來學習和領(lǐng)悟本課程內(nèi)容。本課程被評為2018 年國家精品在線開放課程。
基于慕課資源,國內(nèi)眾多高校的計算機、軟件專業(yè)課程積極地開展了MOOC 對未來的教育趨勢、對專業(yè)課程教學改革的啟示等研究與思考[11-13],并積極地進行了翻轉(zhuǎn)課堂、立體化教學模式的探索與實踐[14-15],取得了良好的教學效果。
所謂軟件工程課程的立體化、混合式教學設計,是指以圍繞著課程軟件工程的教學目標和課程標準[1],以問題暨軟件項目為縱向?qū)?,以課程資源暨慕課資源為橫向基礎,以線上線下混合式教學與翻轉(zhuǎn)教學為教學方法,有機地將理論教學與實驗教學進行了立體化的、矩陣式的交叉與結(jié)合,來拓展學生理論學習與實踐活動的空間與時間,從而使學生獲得更好的學習效果,如圖1所示。
圖1 立體化、混合式教學設計
軟件工程綜合了PBL 教學方法和慕課資源、SPOC 平臺、翻轉(zhuǎn)課堂的教學模式,真正實現(xiàn)了以學生為中心的教與學,打破了課內(nèi)與課外的界限和在線與離線的界限,使得學習無處不在,促使有效學習行為的發(fā)生[16]。
傳統(tǒng)教學實施過程中,理論教學與實驗教學相互孤立,學時和進度通常不同步,教師和學生都往往習慣性地認為課堂教學與實驗室中的實驗是互不相干的兩個套路,各做各的。這顯然不符合我們的教學思想與目的,不符合教學規(guī)律,很難達到預期的教學效果。
針對這一問題,本課程團隊基于自建的在線開放課程軟件工程資源和MOOC/SPOC 平臺,以教學目標為導向,基于問題暨軟件項目,做了精心細致的教學設計,通過線上線下混合式教學和翻轉(zhuǎn)教學,實施了立體化的教學,使得課程的理論內(nèi)容與實驗任務緊密地橫向與縱向雙重交叉地結(jié)合在一起,使學生真正地理解、實踐與掌握軟件工程的方法與技術(shù),達到了令人滿意的教學效果。
如前所述,針對該課程的總體教學目標,本課程團隊基于PBL 的教學理念與方法,要求學生完成一個軟件項目,也就是說學生在學習過程中,始終圍繞著完成一個“問題暨軟件項目”而進行學習。這樣,學生在學習過程中就會有針對性地去學習和實踐一個軟件項目過程中所需要的各種方法與技術(shù)。
為此,本課程團隊有針對性地精心設計了理論教學與實驗教學,使二者無論是內(nèi)容還是進度都做到完全平行同步。理論教學內(nèi)容,除了第一章概論和第二章軟件過程,從第三章開始,按照軟件生命周期的各個階段、按照軟件從無到有的過程依次展開教學內(nèi)容,具體包括:第三章需求、第四章面向?qū)ο蠓治觥⒌谖逭旅嫦驅(qū)ο笤O計。相應地,實驗教學的任務與理論教學緊緊相扣、緊密結(jié)合,學生在課堂上所學的方法與技術(shù)將在實驗中得到運用,以達到真正實踐和掌握的目的,見表1。
基于自建的慕課資源,本教學團隊打破了傳統(tǒng)教學中教學內(nèi)容的學時安排,將教學內(nèi)容分為三大類,充分利用慕課資源與翻轉(zhuǎn)教學,相應地采取不同的教學方法與學時安排。線上線下混合式教學和翻轉(zhuǎn)教學設計與實施見表2。
由表2 可見,這種線上線下混合式教學與翻轉(zhuǎn)教學相結(jié)合的教學方式,打破了傳統(tǒng)教學中理論教學與實驗教學在時間與空間上的隔閡,使得學生和老師可以充分利用翻轉(zhuǎn)課堂進行實踐方面的討論、交流,解答學生的疑問,老師加以正確引導、解答和總結(jié),如幾個失敗案例的原因分析、模塊內(nèi)聚與耦合、如何選擇編程語言等。這使得理論教學內(nèi)容與實驗教學內(nèi)容實現(xiàn)了真正的、立體式的、橫向與縱向的結(jié)合與融會貫通。
表1 理論教學與實驗教學同步與平行的教學設計
表2 線上線下混合式教學和翻轉(zhuǎn)教學設計與實施
本教學團隊基于以上的教學設計,在東北大學軟件學院的軟件工程專業(yè)和數(shù)字媒體技術(shù)專業(yè),已經(jīng)開展了多輪基于PBL 的線上線下混合式教學與翻轉(zhuǎn)教學。調(diào)查統(tǒng)計數(shù)據(jù)顯示,對慕課及線上線下和翻轉(zhuǎn)教學的各項滿意度均為A 的學生占比,2018 年和2019 年分別為85.8%和87.9%,可見絕大多數(shù)學生對課程教學是非常滿意的。另外,如表3 所示,在線上線下混合式教學和翻轉(zhuǎn)教學相結(jié)合的立體式教學模式下,學生的期末卷面成績和實驗成績均有大幅度提高。
表3 學生成績統(tǒng)計對比
本課程團隊針對課程軟件工程抽象難懂難學而又實踐性強的特點,以PLB 為核心,基于自建的國家精品慕課資源,經(jīng)過精心的教學設計,采用線上線下混合式教學和翻轉(zhuǎn)教學相結(jié)合的立體式教學模式,將軟件工程理論教學與實驗教學、線上資源與線下授課有機地、融會貫通地相結(jié)合,所取得的理想的教學效果證明這種教學模式是可行的、科學的,對教學效果是很有益的。