前言:想要寫出一篇引人入勝的文章?我們特意為您整理了軟件工程領(lǐng)域JiT及時(shí)教學(xué)法的應(yīng)用范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:針對(duì)軟件工程理論課程教學(xué)過程中存在的原理和實(shí)踐環(huán)節(jié)容易脫節(jié)的問題,分析課程的特點(diǎn)、授課對(duì)象的理論基礎(chǔ)和目前教學(xué)活動(dòng)的實(shí)際情況,提出將及時(shí)教學(xué)法(JiTT)應(yīng)用于日常教學(xué)活動(dòng)的思路,以“設(shè)計(jì)模式”主題為例,闡述JiTT教學(xué)環(huán)節(jié)安排、案例設(shè)置和教學(xué)效果的初步評(píng)估。
關(guān)鍵詞:及時(shí)教學(xué)法;軟件工程;設(shè)計(jì)模式
1軟件工程理論課程教學(xué)中存在的問題
軟件工程是國內(nèi)大多數(shù)高校計(jì)算機(jī)本科專業(yè)的重要專業(yè)基礎(chǔ)課程,著重培養(yǎng)學(xué)生在軟件開發(fā)過程中獨(dú)立分析問題和解決問題的能力。軟件工程課程體系涵蓋技術(shù)方法、工具環(huán)境、過程管理等多個(gè)領(lǐng)域,尤其是需求分析、設(shè)計(jì)模式、項(xiàng)目管理等環(huán)節(jié),一般需要授課對(duì)象具備較高層次的抽象思維能力,且有一定的實(shí)際開發(fā)經(jīng)驗(yàn)。然而多數(shù)國內(nèi)在校本科生缺乏團(tuán)隊(duì)協(xié)作和解決工程問題的能力[1-2],難以對(duì)軟件工程內(nèi)在的邏輯關(guān)系進(jìn)行整體把握,從而學(xué)習(xí)效果普遍不佳。(1)概念比較抽象。軟件工程中存在大量的概念、原理和模型,導(dǎo)致多數(shù)主題和章節(jié)的理論性很強(qiáng)。盡管結(jié)合案例的教學(xué)方法可對(duì)部分概念的理解起到一定的輔助作用,但受課時(shí)所限,很難將實(shí)際的龐大工程背景與復(fù)雜上下文環(huán)境在課堂上描述完整。對(duì)軟件系統(tǒng)的分析、測試、模式設(shè)計(jì)的精髓等,往往只能點(diǎn)到為止,多數(shù)學(xué)生都無法在短時(shí)間內(nèi)深入理解。(2)教學(xué)手段陳舊。軟件工程是一門實(shí)踐性和綜合性都比較強(qiáng)的課程,但在實(shí)際教學(xué)過程中,師生之間缺乏有效的信息交流和溝通手段。既缺少課上針對(duì)授課主題的分析討論,也較少使用網(wǎng)絡(luò)化的交流平臺(tái)和手段,因此,很容易陷入傳統(tǒng)的模式化和程式化的教學(xué)循環(huán)。(3)學(xué)習(xí)效率不高。軟件工程中概念和理論層面中需要學(xué)生識(shí)記的較多,真正動(dòng)手去做的較少,容易導(dǎo)致理論和實(shí)踐脫節(jié)。此外,學(xué)生的主動(dòng)性和參與性無法充分調(diào)動(dòng),也導(dǎo)致教學(xué)效果與期望目標(biāo)相差較大。
2jitT方法簡介
及時(shí)教學(xué)法(just-in-time-teaching,JiTT)[1]強(qiáng)調(diào)基于網(wǎng)絡(luò)的、活動(dòng)/任務(wù)導(dǎo)向的、自主學(xué)習(xí)的教學(xué)模式。JiTT從20世紀(jì)末提出以來,已廣泛應(yīng)用于醫(yī)學(xué)[2]、控制[3]、語言[4]等領(lǐng)域的教學(xué)活動(dòng)?,F(xiàn)將JiTT理念引入軟件工程理論教學(xué),利用網(wǎng)絡(luò)教學(xué)平臺(tái),結(jié)合課前預(yù)習(xí)、分組學(xué)習(xí)、課后實(shí)驗(yàn)等教學(xué)活動(dòng),提高學(xué)生自主學(xué)習(xí)能力,改善教學(xué)效果。JiTT基于一系列在線和課堂的教學(xué)活動(dòng),為教師和學(xué)生提供有效的互動(dòng)教學(xué)策略,其主旨思想和核心理念,是通過將一部分學(xué)生評(píng)測活動(dòng)移到課前,讓學(xué)生在課堂活動(dòng)之前有比較充分的時(shí)間閱讀并在線完成預(yù)熱(warm-up)問題,教師可提前查看這些問題的回答情況,并適當(dāng)調(diào)整課堂教學(xué)重點(diǎn),從而取得較好的教學(xué)效果。同時(shí),輔以課堂分組討論、課后實(shí)驗(yàn)等環(huán)節(jié),將課堂教學(xué)內(nèi)容和課外延伸活動(dòng)有機(jī)結(jié)合,形成及時(shí)反饋。一般的,對(duì)于一個(gè)專題(章節(jié)),教師提前1周開始準(zhǔn)備課前閱讀材料和預(yù)熱問題,學(xué)生閱讀預(yù)習(xí)材料后在上課前2天在線提交預(yù)熱問題的答案,教師提前1天根據(jù)學(xué)生答題情況對(duì)課堂教學(xué)活動(dòng)重點(diǎn)進(jìn)行微調(diào),并針對(duì)錯(cuò)誤或問題集中的知識(shí)點(diǎn),強(qiáng)化課堂活動(dòng)內(nèi)容。軟件工程理論課程,尤其是概論和導(dǎo)論類課程,課時(shí)偏少,課程容量很大,另外,國內(nèi)多數(shù)高校采取合班授課,針對(duì)這種情況,結(jié)合JiTT活動(dòng)對(duì)傳統(tǒng)的課堂分組方式進(jìn)行了調(diào)整,如圖2所示。分別布置A、B兩組不同話題(知識(shí)點(diǎn))的預(yù)熱問題,學(xué)生隨機(jī)選擇一組,在課前進(jìn)行充分預(yù)習(xí)和思考,課堂教學(xué)過程中,兩組學(xué)生分別進(jìn)行交換問答與討論,既節(jié)省課堂時(shí)間,又可使學(xué)生充分了解了另一分組中的相關(guān)知識(shí)。
3JiTT在軟件工程教學(xué)中的應(yīng)用
本節(jié)以設(shè)計(jì)模式這一主題為例,描述JiTT各環(huán)節(jié)在軟件工程教學(xué)中的具體應(yīng)用。軟件體系結(jié)構(gòu)和設(shè)計(jì)模式是軟件工程理論體系中的一個(gè)重要組成部分。這個(gè)主題要求學(xué)生在掌握基本的面向?qū)ο螅╫bjectoriented,OO)編程思想和程序語言的基礎(chǔ)上,針對(duì)軟件設(shè)計(jì)過程中的某一類常見問題,提供一般性的解決方案。對(duì)多數(shù)本科生而言,盡管對(duì)多態(tài)、繼承、封裝等OO概念有所了解,但由于缺少實(shí)踐經(jīng)驗(yàn),往往對(duì)設(shè)計(jì)原則和模式的意圖、演化過程和適用場合無法深入理解和靈活應(yīng)用。1)課前預(yù)習(xí)階段。嘗試讓學(xué)生完整地解決一個(gè)編碼問題,為此,采用一組案例引入設(shè)計(jì)模式主題,并不斷地進(jìn)行代碼重構(gòu)和設(shè)計(jì)演變,最終給出一個(gè)特定模式的解決方案。圖3所示為“策略(strategy)模式”中的一個(gè)課前預(yù)熱問題。這個(gè)環(huán)節(jié)要求學(xué)生通過一個(gè)“憤怒的小鳥”游戲,掌握“策略模式”的設(shè)計(jì)原則。學(xué)生在閱讀并了解游戲的基本需求后,根據(jù)給出的設(shè)計(jì)框架填充相關(guān)代碼,完成相應(yīng)的功能。通過3~5個(gè)類似的問題,可使學(xué)生進(jìn)一步了解后續(xù)設(shè)計(jì)的逐步改進(jìn)的過程。2)問題評(píng)價(jià)階段。教師對(duì)預(yù)熱問題的難度和學(xué)生回答情況進(jìn)行評(píng)估。將學(xué)生分為A、B兩組,分別閱讀“策略模式”和“觀察者(observer)模式”的相應(yīng)材料并回答問題。其中,“策略模式”的預(yù)熱問題平均得分89.73%,“觀察者模式”預(yù)熱問題的平均得分91.02%。將針對(duì)學(xué)生的評(píng)測移到課前,可以發(fā)現(xiàn),多數(shù)學(xué)生能夠理解這個(gè)案例游戲的基本設(shè)計(jì)需求,即便在尚未掌握設(shè)計(jì)模式時(shí),也可以通過此前掌握的手段完成部分功能的實(shí)現(xiàn),OO和UML基礎(chǔ)普遍較好。3)課堂討論階段。在這個(gè)階段,大部分學(xué)生已經(jīng)對(duì)兩類設(shè)計(jì)模式中提出的案例問題比較熟悉,也能發(fā)現(xiàn)設(shè)計(jì)過程中存在的問題(如代碼重復(fù)、無法高效應(yīng)對(duì)需求變化等)。在此基礎(chǔ)上,通過交叉分組討論,最終給出兩種設(shè)計(jì)模式的一般解決方案,從而強(qiáng)化學(xué)生對(duì)這類復(fù)雜概念的理解。評(píng)估結(jié)果(見表2)表明,超過85%的學(xué)生認(rèn)為,此前的閱讀和預(yù)熱問題有效提高了課堂討論的效率,90%以上的學(xué)生認(rèn)為一系列課堂活動(dòng)基本解決了課前階段所存在的疑惑和問題。4)課后評(píng)估階段。通過補(bǔ)充實(shí)驗(yàn),學(xué)生有機(jī)會(huì)分別利用兩種設(shè)計(jì)模式最終完成兩個(gè)案例問題的程序編寫,并查看實(shí)際運(yùn)行效果。為此,在實(shí)驗(yàn)和作業(yè)中,給出了部分超類和接口的定義,要求學(xué)生填寫相應(yīng)的代碼,所有問題和答案均通過在線方式。
4效果評(píng)估
為對(duì)JiTT在軟件工程設(shè)計(jì)模式主題中全過程應(yīng)用的教學(xué)效果進(jìn)行評(píng)估,設(shè)計(jì)了一組調(diào)查問卷,問卷分為3組共31個(gè)問題,包括對(duì)JiTT過程的評(píng)價(jià)、對(duì)原理和概念的理解,以及對(duì)學(xué)習(xí)效果的評(píng)估(見表3),評(píng)估結(jié)果如圖4所示。本科三年級(jí)的133名學(xué)生參與了問卷調(diào)查評(píng)估。結(jié)果顯示,90.98%的學(xué)生認(rèn)為,與傳統(tǒng)的授課方式相比,JiTT活動(dòng)可以有效幫助其理解比較復(fù)雜和抽象的概念;93.23%的學(xué)生表示,通過在線的課前閱讀和預(yù)熱問題,提高了課堂討論的針對(duì)性和效率,對(duì)課后作業(yè)和相關(guān)實(shí)驗(yàn)的完成有明顯幫助;88.72%學(xué)生愿意將JiTT方法應(yīng)用在軟件工程的其他理論課程中。
5結(jié)語
結(jié)合網(wǎng)絡(luò)教學(xué)平臺(tái),通過拓展閱讀和預(yù)熱問題使學(xué)生提前介入相關(guān)概念的學(xué)習(xí);通過分組討論、課堂講授和課后實(shí)驗(yàn)等,使學(xué)生對(duì)兩類設(shè)計(jì)模式的理解更加深入。我們對(duì)本科三年級(jí)百余名學(xué)生的實(shí)際評(píng)估結(jié)果,發(fā)現(xiàn)JiTT模式和活動(dòng)對(duì)設(shè)計(jì)模式的教學(xué)有積極影響,有利于將理論知識(shí)與開發(fā)實(shí)踐相結(jié)合,可顯著提高教學(xué)效果。當(dāng)然,軟件工程領(lǐng)域的課程特點(diǎn)差異較大,本文主要將JiTT方法應(yīng)用于設(shè)計(jì)模式等理論難度較大的主題,未來將探索該方法在數(shù)據(jù)庫原理、軟件測試等其他核心主干課程中的應(yīng)用。
參考文獻(xiàn):
[1]駱斌,葛季棟,丁二玉,等.軟件工程專業(yè)課程體系的研究與創(chuàng)新實(shí)踐[J].計(jì)算機(jī)教育,2010(23):9-13.
[2]樊富有,孟林,李忠.新形勢下軟件工程人才培養(yǎng)的思考[J].計(jì)算機(jī)教育,2013(13):82-86.
[3]王鴻丹.基于claroline的JiTT教學(xué)模式在高職教學(xué)中的應(yīng)用研究——以C語言程序設(shè)計(jì)課程為例[J].軟件導(dǎo)刊(教育技術(shù)),2016(4):15-16.
[4]王雪瑩,徐暉.及時(shí)教學(xué)法在無菌技術(shù)實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].護(hù)理學(xué)雜志,2013(21):70-72.
[5]劉青,李紅梅.“及時(shí)教學(xué)法”在電力系統(tǒng)繼電保護(hù)實(shí)驗(yàn)教學(xué)中的應(yīng)用研究[J].實(shí)驗(yàn)技術(shù)與管理,2007(12):123-125.
[6]閆士金.“及時(shí)教學(xué)”模式與新課標(biāo)背景下的高中英語教學(xué)[J].林區(qū)教學(xué),2012(1):61-62.
作者:陶冶 劉國柱 單位:青島科技大學(xué) 信息科學(xué)技術(shù)學(xué)院