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