彭毅弘 程鈴鈁
摘 要: 軟件工程是計(jì)算機(jī)類專業(yè)的一門核心專業(yè)課程,由于該課程具有知識(shí)域廣泛、更新速度快、實(shí)踐性強(qiáng)等特點(diǎn),導(dǎo)致不少高校的教學(xué)效果不太理想。通過分析該課程教學(xué)中遇到的問題和難點(diǎn),結(jié)合教學(xué)實(shí)踐和企業(yè)研發(fā)經(jīng)驗(yàn),采用逆向課程設(shè)計(jì)模式,并融合MOOC混合式教學(xué)方式,從課程目標(biāo)、評(píng)價(jià)標(biāo)準(zhǔn)、教學(xué)內(nèi)容與教學(xué)方法上進(jìn)行了探索與改革。實(shí)踐證明,該模式極大地激發(fā)了學(xué)生的主觀能動(dòng)性,啟發(fā)了學(xué)生對(duì)職業(yè)發(fā)展的思考,取得了良好的教學(xué)效果。
關(guān)鍵詞: 軟件工程; 逆向課程設(shè)計(jì)模式; MOOC; 混合式教學(xué)
中圖分類號(hào):G642 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2018)07-103-04
Abstract: Software engineering is a core professional course for computer majors, but the teaching effect is less impressive in many universities because of the characteristics of extensive knowledge field, fast updating speed and strong practice in this course. By analysing the problems and difficulties encountered in the course teaching, and combining teaching practice and enterprise research and development experience, using the reverse course design mode fusing MOOC blending learning, the reform of the course on the curriculum objectives, evaluation standards , teaching contents and teaching methods etc. is explored. The practice has indicated that this mode has greatly stimulated the students' subjective initiative, inspired the students' thinking on career development, and achieved good teaching results.
Key words: software engineering; reverse course design mode; MOOC; blending learning
0 引言
軟件工程是一門研究用工程化方法構(gòu)建和維護(hù)軟件的學(xué)科,是培養(yǎng)學(xué)生計(jì)算機(jī)理論與實(shí)踐能力的一門關(guān)鍵課程。軟件工程本身是比較復(fù)雜的系統(tǒng)工程,而且理論性與實(shí)踐性并重,課程教學(xué)中會(huì)遇到很多問題。為滿足應(yīng)用型本科人才培養(yǎng)要求,促進(jìn)計(jì)算機(jī)專業(yè)課程體系改革,提升軟件工程課程教學(xué)效果,需要研究和探討軟件工程的教學(xué)方法。
1 軟件工程課程特點(diǎn)與教學(xué)難點(diǎn)
下面從軟件工程課程特點(diǎn)的角度分析該課程的教學(xué)難點(diǎn)。
⑴ 從課程內(nèi)容上看,軟件工程的原理眾多,根據(jù)IEEE-CS和ACM于2014年發(fā)布的軟件工程知識(shí)體系SWEBOKv3[1],軟件工程課程共15個(gè)知識(shí)域,涉及7門學(xué)科,系統(tǒng)性、交叉性和綜合性都非常明顯。在有限的課程學(xué)時(shí)內(nèi)如何使學(xué)生較好的掌握這么多知識(shí)點(diǎn),對(duì)教師而言是一個(gè)挑戰(zhàn)。
⑵ 從課程的時(shí)效性看,軟件工程是一門發(fā)展極為迅速的學(xué)科,物聯(lián)網(wǎng)、云計(jì)算、人工智能等新一代IT產(chǎn)業(yè)領(lǐng)域發(fā)展迅猛,產(chǎn)生了很多新理論、新技術(shù)和新崗位,相關(guān)知識(shí)的更新速度遠(yuǎn)遠(yuǎn)超過了教材的更新速度。另一方面,高校教師一直處于高校教學(xué)體系中,如果沒有實(shí)際參與企業(yè)項(xiàng)目研發(fā)或密切跟進(jìn)最新企業(yè)人才需求,就會(huì)導(dǎo)致教學(xué)內(nèi)容與實(shí)際脫節(jié)。
⑶ 從課程的實(shí)踐性看,軟件工程課程涉及的15個(gè)知識(shí)域中有11個(gè)屬于實(shí)踐類別,意味著這門課程對(duì)實(shí)踐性要求很高,具有很強(qiáng)的工程應(yīng)用特征。目前對(duì)于該課程在提升實(shí)踐教學(xué)效果的改革上,比較主流的是采用項(xiàng)目驅(qū)動(dòng)的教學(xué)模式[2],有很好的實(shí)訓(xùn)效果。但值得注意的是,項(xiàng)目驅(qū)動(dòng)的教學(xué)模式對(duì)教師所選的軟件項(xiàng)目要求很高,既不能過于龐大,也不能過于簡(jiǎn)單,同時(shí)需要具備綜合性、針對(duì)性和可拓展性,因此要求教師對(duì)項(xiàng)目有很強(qiáng)的把控能力和設(shè)計(jì)能力。
針對(duì)以上教學(xué)難點(diǎn),結(jié)合多年軟件工程教學(xué)經(jīng)驗(yàn)以及與企事業(yè)緊密合作的平臺(tái),對(duì)軟件工程課程教學(xué)模式進(jìn)行了多方面的研究和改造,引入逆向課程設(shè)計(jì)模式,同時(shí)融入混合式MOOC教學(xué)方式,激發(fā)學(xué)生的內(nèi)在學(xué)習(xí)動(dòng)力,實(shí)現(xiàn)有效的學(xué)習(xí)。
2 逆向課程設(shè)計(jì)模式的特點(diǎn)和應(yīng)用
2.1 逆向課程設(shè)計(jì)模式的理念和特點(diǎn)
逆向課程設(shè)計(jì)模式是美國(guó)教學(xué)領(lǐng)域?qū)<彝鹚梗℅rant Wiggins)和麥克泰(Jay McTighe)共同提出的一種新的課程設(shè)計(jì)理念,針對(duì)傳統(tǒng)教學(xué)模式的不足,強(qiáng)調(diào)采用與常規(guī)課程設(shè)計(jì)相逆的方式,以達(dá)到使學(xué)生追求并實(shí)現(xiàn)對(duì)所學(xué)內(nèi)容理解的目標(biāo)[3]。
傳統(tǒng)的課程設(shè)計(jì)是根據(jù)教材內(nèi)容和大綱的,導(dǎo)致在教學(xué)設(shè)計(jì)過程中很容易會(huì)忽略以學(xué)生為主體的重要性。為了提升教學(xué)設(shè)計(jì)的有效性,采用與傳統(tǒng)設(shè)計(jì)方式相反的做法,在教學(xué)設(shè)計(jì)中,教師首先要明確教學(xué)目標(biāo),然后依據(jù)目標(biāo)設(shè)計(jì)教學(xué)活動(dòng)。逆向設(shè)計(jì)具有非常明確的目標(biāo)指向,能更加有效地推進(jìn)大學(xué)實(shí)現(xiàn)有效教學(xué),培養(yǎng)學(xué)生的創(chuàng)新思維和學(xué)習(xí)主動(dòng)性。逆向課程原理的一個(gè)顯著特征就是強(qiáng)調(diào)評(píng)價(jià), 評(píng)價(jià)優(yōu)先于課程組織和實(shí)施,而教學(xué)內(nèi)容和方法的安排處于次要的地位,是實(shí)現(xiàn)教學(xué)目標(biāo)的策略,其最終目標(biāo)是如何行之有效的使教學(xué)達(dá)到最有效的狀態(tài)。
2.2 逆向課程設(shè)計(jì)模式的應(yīng)用
逆向教學(xué)的課程設(shè)計(jì)由以下三個(gè)階段組成:先確定學(xué)習(xí)的預(yù)期結(jié)果;再明確預(yù)期結(jié)果達(dá)到的證據(jù);最后設(shè)計(jì)教學(xué)活動(dòng)以發(fā)現(xiàn)證據(jù)[4]。其應(yīng)用在軟件工程課程設(shè)計(jì)中,有以下基本流程。
⑴ 確定課程目標(biāo)
軟件工程課程必須為學(xué)生將來走向工作崗位提供系統(tǒng)性、實(shí)踐性的指導(dǎo),課程目標(biāo)的設(shè)定不應(yīng)局限于教材內(nèi)容上,而應(yīng)該把關(guān)注點(diǎn)放在三個(gè)對(duì)接上:專業(yè)與產(chǎn)業(yè)企業(yè)崗位對(duì)接、課程內(nèi)容與職業(yè)標(biāo)準(zhǔn)對(duì)接、教學(xué)過程與工作過程對(duì)接[5]。基于職業(yè)崗位能力的教學(xué)目標(biāo)的確定先要深入到企業(yè)用人部門和崗位中做調(diào)研,分析和總結(jié)出典型的崗位技能要求,結(jié)合教材內(nèi)容,最終確定課程教學(xué)目標(biāo),即在學(xué)習(xí)過程中了解和掌握相關(guān)職業(yè)崗位所必須的軟件方法、技術(shù)和思想,最終獲取可從事該職業(yè)崗位的基礎(chǔ)技能和可持續(xù)發(fā)展能力。表1是根據(jù)目前軟件行業(yè)的崗位需求做調(diào)研和分析后歸納出的崗位劃分和技能需求,并羅列了與此對(duì)應(yīng)的軟件工程課程中的知識(shí)點(diǎn)。
為達(dá)到培養(yǎng)適合企業(yè)崗位需求的應(yīng)用型人才的目標(biāo),就必須根據(jù)職業(yè)崗位的技能要求去設(shè)計(jì)評(píng)價(jià)體系和教學(xué)內(nèi)容。
⑵ 制定評(píng)價(jià)標(biāo)準(zhǔn)
當(dāng)明確了教學(xué)目標(biāo)后,并不是馬上開展教學(xué)過程和內(nèi)容的設(shè)計(jì),而是先明確教學(xué)的評(píng)價(jià)標(biāo)準(zhǔn),有了明確的評(píng)價(jià)標(biāo)準(zhǔn),才開展教學(xué)活動(dòng)和內(nèi)容的設(shè)計(jì)。評(píng)價(jià)標(biāo)準(zhǔn)圍繞教學(xué)目標(biāo)展開,基于職業(yè)崗位所需的關(guān)鍵技能點(diǎn)進(jìn)行設(shè)計(jì),對(duì)每個(gè)知識(shí)域的掌握度都有明確的輸出物和評(píng)價(jià)要求,下面羅列主要知識(shí)領(lǐng)域的技能評(píng)價(jià)標(biāo)準(zhǔn)。
軟件需求:撰寫軟件需求說明書、制作軟件原型作品、使用軟件需求管理軟件;
軟件設(shè)計(jì):合格的軟件作品、撰寫軟件設(shè)計(jì)說明書、提供數(shù)據(jù)庫(kù)模型圖、使用軟件版本管理軟件;
軟件測(cè)試:設(shè)計(jì)測(cè)試用例、使用測(cè)試工具、使用測(cè)試管理軟件、撰寫軟件使用說明書;
軟件維護(hù):撰寫維護(hù)記錄、合格的升級(jí)版軟件作品;
軟件配置管理:掌握軟件的安裝、配置和測(cè)試;
軟件工程管理:使用項(xiàng)目管理軟件、撰寫項(xiàng)目計(jì)劃說明書、管理和推進(jìn)項(xiàng)目小組的開發(fā)活動(dòng)。
⑶ 制定教學(xué)計(jì)劃,確定教學(xué)內(nèi)容。
單從教學(xué)內(nèi)容看,表1提供的7種職業(yè)崗位所需的技能幾乎都涵蓋了軟件工程教材的所有重點(diǎn)章節(jié)和知識(shí)點(diǎn),但反過來看,教材的知識(shí)點(diǎn)并不能涵蓋掌握這些崗位技能所需的最新方法、工具和思想,因此需要對(duì)授課內(nèi)容進(jìn)行更新和補(bǔ)充。軟件工程的理論教學(xué)采用面向全生命周期軟件開發(fā)過程的教學(xué)流程,可以在每個(gè)階段增加必要的新方法和工具,如圖1所示。
3 融入MOOC的教學(xué)方法
MOOC是 Massive Open Online Course的縮寫,意即“大規(guī)模網(wǎng)絡(luò)開放課程”,采用5~15分鐘短視頻課程模式,將課程內(nèi)容根據(jù)知識(shí)點(diǎn)分解,擁有在線學(xué)習(xí)有效性、學(xué)伴交互協(xié)作、評(píng)價(jià)多樣化等核心學(xué)習(xí)機(jī)制。鑒于軟件工程理論知識(shí)的廣泛性和抽象性,需要進(jìn)一步簡(jiǎn)化教學(xué)環(huán)節(jié)和教學(xué)內(nèi)容,把關(guān)乎學(xué)生終身受用的“核心知識(shí)”講透即可,課堂上應(yīng)更多地啟發(fā)學(xué)生去思考去辯證,而MOOC正好順應(yīng)了這種教學(xué)本質(zhì),因此在軟件工程的理論教學(xué)中融入了MOOC教學(xué)方法。
采用MOOC的授課方式不能完全照搬國(guó)外模式,雖然學(xué)生可以通過MOOC平臺(tái)自己選擇學(xué)習(xí)內(nèi)容,但地方應(yīng)用型高校學(xué)生的基礎(chǔ)相對(duì)薄弱,學(xué)習(xí)主動(dòng)性和積極性不足表現(xiàn)較為突出,如果完全依靠學(xué)生的自我管理,就會(huì)導(dǎo)致MOOC課程的完課率很低。因此需要將線上MOOC與線下課堂授課融合在一起,改造軟件工程理論授課方式。具體流程是:提前布置學(xué)生課后利用MOOC平臺(tái)學(xué)習(xí)下一次課的知識(shí)點(diǎn),知識(shí)點(diǎn)不需要涵蓋所有的知識(shí)域,指定最核心的1~2個(gè)知識(shí)點(diǎn)即可。同時(shí)根據(jù)核心知識(shí)點(diǎn)布置下一次課需要解決的問題,這個(gè)環(huán)節(jié)需要學(xué)生自行查閱資料,提前做好準(zhǔn)備。在每次上課的三個(gè)課時(shí)中,第一課時(shí)用于講解本次課程的章節(jié)內(nèi)容,由于核心知識(shí)點(diǎn)已經(jīng)提前布置學(xué)生利用MOOC平臺(tái)學(xué)習(xí),學(xué)生能更快的理解和接受,因此課堂上可以有更多的對(duì)新技術(shù)、新方法、新思想的介紹和學(xué)習(xí)。第二課時(shí)安排課堂討論,圍繞事先布置好的問題進(jìn)行分組討論和交流,過程中重視學(xué)生的辯證思想,給予他們最大程度的鼓勵(lì)和推進(jìn)。學(xué)生也可將他們?cè)谡n程中遇到的問題拋出來討論,老師給予適當(dāng)?shù)闹敢徒獯稹5谌n時(shí)主要用于作業(yè)、測(cè)試和項(xiàng)目檢查,確保每堂課都有明確的輸入和輸出。
相對(duì)于以教師面授為特征的傳統(tǒng)課程,該課程修改后的教學(xué)設(shè)計(jì)更突出以學(xué)習(xí)為中心和個(gè)別化學(xué)習(xí)的教學(xué)理念,不僅讓學(xué)生掌握了必要的知識(shí)技能,更拓寬了他們的專業(yè)視野,幫助他們成長(zhǎng)為更好的自主學(xué)習(xí)者。
4 應(yīng)用成效
以2014級(jí)計(jì)算機(jī)專業(yè)作為實(shí)驗(yàn)組,采用融合MOOC的逆向課程設(shè)計(jì)模式進(jìn)行教學(xué),2013級(jí)計(jì)算機(jī)專業(yè)作為對(duì)照組,采用傳統(tǒng)的教學(xué)模式進(jìn)行教學(xué)。抽樣人數(shù)時(shí),去掉高考成績(jī)最差和最優(yōu)的4位同學(xué),保持學(xué)生平均水平一致。授課教師為同一教師,筆試試卷題型和難易度相當(dāng),軟件作品的分?jǐn)?shù)經(jīng)過系數(shù)轉(zhuǎn)換保持復(fù)雜度和難易度相當(dāng)。在學(xué)時(shí)、上課環(huán)境、問卷調(diào)查內(nèi)容等方面均保持一致,保證了實(shí)驗(yàn)結(jié)果的有效性。
從表3可以看出,實(shí)驗(yàn)組的成績(jī)無論是理論成績(jī)還是實(shí)踐成績(jī),均比對(duì)照組的要高,而且學(xué)生滿意度也更高。在問卷調(diào)查中,2013級(jí)學(xué)生提出的建議中,占比最高的是建議老師減少抽象理論的講解,增加實(shí)際案例的介紹和討論,而2014級(jí)學(xué)生提出的建議占比最高的是希望實(shí)踐項(xiàng)目中能得到老師更多的指導(dǎo),這說明2014級(jí)學(xué)生對(duì)實(shí)踐項(xiàng)目有了更多的學(xué)習(xí)欲望。同時(shí)2014級(jí)學(xué)生明確表示對(duì)未來自己的職業(yè)方向有了更深的認(rèn)識(shí),希望能通過自己的努力去提升就業(yè)能力。由此可見融合MOOC的逆向課程設(shè)計(jì)模式使得學(xué)生很明確的知道為何學(xué)習(xí)軟件工程,要掌握何種技能,可以使用哪些方法和工具,激發(fā)了學(xué)生對(duì)軟件開發(fā)的學(xué)習(xí)興趣,變被動(dòng)為主動(dòng),開始認(rèn)真思考自己的職業(yè)方向并為之努力。
5 結(jié)束語
軟件工程課程的特點(diǎn)決定了這門課程需要在教學(xué)模式上做更多的改革和創(chuàng)新,采用逆向課程設(shè)計(jì)模式可以使得教學(xué)內(nèi)容和手段成為發(fā)現(xiàn)證據(jù)的過程,而評(píng)價(jià)成為教學(xué)活動(dòng)設(shè)計(jì)的前提和基礎(chǔ),教學(xué)和評(píng)價(jià)兩者形成了“教學(xué)-評(píng)價(jià)-教學(xué)”的螺旋式上升環(huán),從而使得課程目標(biāo)不斷接近達(dá)成。在理論教學(xué)方法上采用線上MOOC授課和線下面授方式的混合式教學(xué)方式,提升了教學(xué)效率和學(xué)生主觀能動(dòng)性。實(shí)踐證明,在軟件工程課程中采用融合MOOC的逆向課程設(shè)計(jì)模式取得了良好的教學(xué)效果,有效解決了以往軟件工程教學(xué)中存在的問題。在軟件工程實(shí)踐環(huán)節(jié),如何合理引入時(shí)下互聯(lián)網(wǎng)企業(yè)最為常用的敏捷開發(fā)模式,如何使實(shí)踐與理論教學(xué)環(huán)節(jié)同步,是下一步需要研究和解決的問題。
參考文獻(xiàn)(References):
[1] 沈備軍.解讀軟件工程知識(shí)體系SWEBOK V3[J].計(jì)算機(jī)教育,2014.7:1-2
[2] 曾明星,周清平,王曉波.軟件工程專業(yè)“項(xiàng)目化”教學(xué)實(shí)施體系的構(gòu)建[J].實(shí)驗(yàn)室研究與探索,2013.32(5):158-163
[3] 楊文麗,高凜.逆向教學(xué):目標(biāo)、邏輯及實(shí)現(xiàn)可能——基于大學(xué)有效教學(xué)視角的審視[J].黑龍江高教研究,2015.2:21-24
[4] 葉海龍.逆向教學(xué)設(shè)計(jì)簡(jiǎn)論[J].當(dāng)代教育科學(xué),2011.4:23-26
[5] 金玉書.實(shí)現(xiàn)四個(gè)“對(duì)接”服務(wù)經(jīng)濟(jì)社會(huì)[J].中國(guó)職業(yè)技術(shù)教育,2010.23:90-91,93