分析軟體工程領域JiT及時教學法的應用

才智咖 人氣:1.99W

引言:及時教學法強調基於網路的、活動/任務導向的、自主學習的教學模式。我們為大家分享軟體工程領域JiT及時教學法的應用的論文,大家快來閱讀吧!

分析軟體工程領域JiT及時教學法的應用

摘要:針對軟體工程理論課程教學過程中存在的原理和實踐環節容易脫節的問題,分析課程的特點、授課物件的理論基礎和目前教學活動的實際情況,提出將及時教學法(JiTT)應用於日常教學活動的思路,以“設計模式”主題為例,闡述JiTT教學環節安排、案例設定和教學效果的初步評估。

關鍵詞:及時教學法;軟體工程;設計模式

1軟體工程理論課程教學中存在的問題

軟體工程是國內大多數高校計算機本科專業的重要專業基礎課程,著重培養學生在軟體開發過程中獨立分析問題和解決問題的能力。軟體工程課程體系涵蓋技術方法、工具環境、過程管理等多個領域,尤其是需求分析、設計模式、專案管理等環節,一般需要授課物件具備較高層次的抽象思維能力,且有一定的實際開發經驗。然而多數國內在校本科生缺乏團隊協作和解決工程問題的能力[1-2],難以對軟體工程內在的邏輯關係進行整體把握,從而學習效果普遍不佳。(1)概念比較抽象。軟體工程中存在大量的概念、原理和模型,導致多數主題和章節的理論性很強。儘管結合案例的教學方法可對部分概念的理解起到一定的輔助作用,但受課時所限,很難將實際的龐大工程背景與複雜上下文環境在課堂上描述完整。對軟體系統的分析、測試、模式設計的精髓等,往往只能點到為止,多數學生都無法在短時間內深入理解。(2)教學手段陳舊。軟體工程是一門實踐性和綜合性都比較強的課程,但在實際教學過程中,師生之間缺乏有效的資訊交流和溝通手段。既缺少課上針對授課主題的分析討論,也較少使用網路化的交流平臺和手段,因此,很容易陷入傳統的模式化和程式化的教學迴圈。(3)學習效率不高。軟體工程中概念和理論層面中需要學生識記的較多,真正動手去做的較少,容易導致理論和實踐脫節。此外,學生的主動性和參與性無法充分調動,也導致教學效果與期望目標相差較大。

2JiTT方法簡介

及時教學法(just-in-time-teaching,JiTT)[1]強調基於網路的、活動/任務導向的、自主學習的教學模式。JiTT從20世紀末提出以來,已廣泛應用於醫學[2]、控制[3]、語言[4]等領域的教學活動。現將JiTT理念引入軟體工程理論教學,利用網路教學平臺,結合課前預習、分組學習、課後實驗等教學活動,提高學生自主學習能力,改善教學效果。JiTT基於一系列線上和課堂的教學活動,為教師和學生提供有效的互動教學策略,其主旨思想和核心理念,是通過將一部分學生評測活動移到課前,讓學生在課堂活動之前有比較充分的時間閱讀並在線完成預熱(warm-up)問題,教師可提前檢視這些問題的回答情況,並適當調整課堂教學重點,從而取得較好的教學效果。同時,輔以課堂分組討論、課後實驗等環節,將課堂教學內容和課外延伸活動有機結合,形成及時反饋。一般的,對於一個專題(章節),教師提前1周開始準備課前閱讀材料和預熱問題,學生閱讀預習材料後在上課前2天線上提交預熱問題的答案,教師提前1天根據學生答題情況對課堂教學活動重點進行微調,並針對錯誤或問題集中的知識點,強化課堂活動內容。軟體工程理論課程,尤其是概論和導論類課程,課時偏少,課程容量很大,另外,國內多數高校採取合班授課,針對這種情況,結合JiTT活動對傳統的課堂分組方式進行了調整,如圖2所示。分別佈置A、B兩組不同話題(知識點)的預熱問題,學生隨機選擇一組,在課前進行充分預習和思考,課堂教學過程中,兩組學生分別進行交換問答與討論,既節省課堂時間,又可使學生充分了解了另一分組中的相關知識。

3JiTT在軟體工程教學中的應用

本節以設計模式這一主題為例,描述JiTT各環節在軟體工程教學中的具體應用。軟體體系結構和設計模式是軟體工程理論體系中的一個重要組成部分。這個主題要求學生在掌握基本的.物件導向(objectoriented,OO)程式設計思想和程式語言的基礎上,針對軟體設計過程中的某一類常見問題,提供一般性的解決方案。對多數本科生而言,儘管對多型、繼承、封裝等OO概念有所瞭解,但由於缺少實踐經驗,往往對設計原則和模式的意圖、演化過程和適用場合無法深入理解和靈活應用。1)課前預習階段。嘗試讓學生完整地解決一個編碼問題,為此,採用一組案例引入設計模式主題,並不斷地進行程式碼重構和設計演變,最終給出一個特定模式的解決方案。圖3所示為“策略(strategy)模式”中的一個課前預熱問題。這個環節要求學生通過一個“憤怒的小鳥”遊戲,掌握“策略模式”的設計原則。學生在閱讀並瞭解遊戲的基本需求後,根據給出的設計框架填充相關程式碼,完成相應的功能。通過3~5個類似的問題,可使學生進一步瞭解後續設計的逐步改進的過程。2)問題評價階段。教師對預熱問題的難度和學生回答情況進行評估。將學生分為A、B兩組,分別閱讀“策略模式”和“觀察者(observer)模式”的相應材料並回答問題。其中,“策略模式”的預熱問題平均得分89.73%,“觀察者模式”預熱問題的平均得分91.02%。將針對學生的評測移到課前,可以發現,多數學生能夠理解這個案例遊戲的基本設計需求,即便在尚未掌握設計模式時,也可以通過此前掌握的手段完成部分功能的實現,OO和UML基礎普遍較好。3)課堂討論階段。在這個階段,大部分學生已經對兩類設計模式中提出的案例問題比較熟悉,也能發現設計過程中存在的問題(如程式碼重複、無法高效應對需求變化等)。在此基礎上,通過交叉分組討論,最終給出兩種設計模式的一般解決方案,從而強化學生對這類複雜概念的理解。評估結果(見表2)表明,超過85%的學生認為,此前的閱讀和預熱問題有效提高了課堂討論的效率,90%以上的學生認為一系列課堂活動基本解決了課前階段所存在的疑惑和問題。4)課後評估階段。通過補充實驗,學生有機會分別利用兩種設計模式最終完成兩個案例問題的程式編寫,並檢視實際執行效果。為此,在實驗和作業中,給出了部分超類和介面的定義,要求學生填寫相應的程式碼,所有問題和答案均通過線上方式釋出。

4效果評估

為對JiTT在軟體工程設計模式主題中全過程應用的教學效果進行評估,設計了一組調查問卷,問卷分為3組共31個問題,包括對JiTT過程的評價、對原理和概念的理解,以及對學習效果的評估(見表3),評估結果如圖4所示。本科三年級的133名學生參與了問卷調查評估。結果顯示,90.98%的學生認為,與傳統的授課方式相比,JiTT活動可以有效幫助其理解比較複雜和抽象的概念;93.23%的學生表示,通過線上的課前閱讀和預熱問題,提高了課堂討論的針對性和效率,對課後作業和相關實驗的完成有明顯幫助;88.72%學生願意將JiTT方法應用在軟體工程的其他理論課程中。

5結語

結合網路教學平臺,通過拓展閱讀和預熱問題使學生提前介入相關概念的學習;通過分組討論、課堂講授和課後實驗等,使學生對兩類設計模式的理解更加深入。我們對本科三年級百餘名學生的實際評估結果,發現JiTT模式和活動對設計模式的教學有積極影響,有利於將理論知識與開發實踐相結合,可顯著提高教學效果。當然,軟體工程領域的課程特點差異較大,本文主要將JiTT方法應用於設計模式等理論難度較大的主題,未來將探索該方法在資料庫原理、軟體測試等其他核心主幹課程中的應用。

參考文獻:

[1]駱斌,葛季棟,丁二玉,等.軟體工程專業課程體系的研究與創新實踐[J].計算機教育,2010(23):9-13.

[2]樊富有,孟林,李忠.新形勢下軟體工程人才培養的思考[J].計算機教育,2013(13):82-86.

[3]王鴻丹.基於claroline的JiTT教學模式在高職教學中的應用研究——以C語言程式設計課程為例[J].軟體導刊(教育技術),2016(4):15-16.

[4]王雪瑩,徐暉.及時教學法在無菌技術實驗教學中的應用[J].護理學雜誌,2013(21):70-72.

[5]劉青,李紅梅.“及時教學法”在電力系統繼電保護實驗教學中的應用研究[J].實驗技術與管理,2007(12):123-125.

[6]閆士金.“及時教學”模式與新課標背景下的高中英語教學[J].林區教學,2012(1):61-62.