丁智國(guó)
(浙江師范大學(xué) 數(shù)理與信息工程學(xué)院,浙江 金華 321004)
翻轉(zhuǎn)課堂在軟件體系結(jié)構(gòu)課程教學(xué)中的實(shí)踐
丁智國(guó)
(浙江師范大學(xué) 數(shù)理與信息工程學(xué)院,浙江 金華 321004)
隨著IT技術(shù)的發(fā)展及其在教育領(lǐng)域的廣泛應(yīng)用,翻轉(zhuǎn)課堂教學(xué)模式在現(xiàn)代教學(xué)過(guò)程中獲得廣泛的發(fā)展應(yīng)用。文章分析當(dāng)前軟件體系結(jié)構(gòu)課程的特點(diǎn)和教學(xué)現(xiàn)狀,闡述如何以任務(wù)驅(qū)動(dòng)為主線,實(shí)現(xiàn)課程教學(xué)之前、之中和之后的三部曲操作,完成翻轉(zhuǎn)教學(xué)。
翻轉(zhuǎn)課堂;任務(wù)驅(qū)動(dòng);軟件體系結(jié)構(gòu);教學(xué)改革實(shí)踐
隨著IT技術(shù)的發(fā)展,翻轉(zhuǎn)課堂(f ipped classroom或inverted classroom)作為一種新興教學(xué)模式,在現(xiàn)代教學(xué)過(guò)程中得到廣泛的研究應(yīng)用,也被稱為是影響未來(lái)課堂教學(xué)的重大技術(shù)變革。這種教學(xué)模式來(lái)源于美國(guó)的一些中小學(xué),其目的是考慮學(xué)生的個(gè)性化從而進(jìn)行針對(duì)性教學(xué)。傳統(tǒng)教學(xué)模式以教師為中心并占據(jù)課堂上大部分時(shí)間,與之不同的是,翻轉(zhuǎn)課堂教學(xué)以學(xué)生為中心,要求學(xué)生課前對(duì)教師布置的與教學(xué)主題相關(guān)的資源進(jìn)行預(yù)先學(xué)習(xí),學(xué)生帶著問(wèn)題聽(tīng)課,教師的角色從“教”翻轉(zhuǎn)為“導(dǎo)”和“答”,學(xué)生的角色則從“聽(tīng)”翻轉(zhuǎn)為“問(wèn)”,即教師的主要任務(wù)是基于學(xué)生學(xué)習(xí)情況進(jìn)行引導(dǎo),進(jìn)而針對(duì)教學(xué)內(nèi)容進(jìn)行答疑解惑。教師與學(xué)生角色的轉(zhuǎn)換強(qiáng)調(diào)學(xué)生的主體地位,這種新的教學(xué)模式更注重學(xué)生學(xué)習(xí)能力的培養(yǎng),有助于激發(fā)學(xué)生的學(xué)習(xí)積極性。研究和應(yīng)用結(jié)果表明,該種模式能激發(fā)學(xué)生的學(xué)習(xí)主動(dòng)性,具有良好的應(yīng)用效果[12]。
軟件架構(gòu)師是軟件項(xiàng)目的總設(shè)計(jì)師,是培養(yǎng)軟件人才的最高級(jí)階段,軟件質(zhì)量本質(zhì)上也是由架構(gòu)決定的,因此軟件體系結(jié)構(gòu)課程在軟件工程專業(yè)教學(xué)及人才培養(yǎng)中扮演著重要的角色;然而,軟件體系結(jié)構(gòu)的本質(zhì)特征和教學(xué)中存在的問(wèn)題使得該課程的教學(xué)效果一直不太理想[3]。近年來(lái),慕課(MOOCs)的迅猛發(fā)展為翻轉(zhuǎn)課堂教學(xué)模式的實(shí)施提供了良好的技術(shù)支持,筆者借鑒翻轉(zhuǎn)課堂這種新興教學(xué)模式的諸多優(yōu)點(diǎn),對(duì)軟件體系結(jié)構(gòu)課程教學(xué)改革進(jìn)行思考并作一些探索性的實(shí)踐。
軟件體系結(jié)構(gòu)作為軟件工程專業(yè)高年級(jí)的一門(mén)專業(yè)選修課,教學(xué)目的是讓學(xué)生在學(xué)完該門(mén)課程后,可以從宏觀上了解軟件產(chǎn)品的分析、設(shè)計(jì)、開(kāi)發(fā)和后期維護(hù)。隨著現(xiàn)代軟件規(guī)模越來(lái)越大,功能越來(lái)越復(fù)雜,軟件體系結(jié)構(gòu)在大型軟件項(xiàng)目開(kāi)發(fā)中的作用也越來(lái)越重要,體系結(jié)構(gòu)的設(shè)計(jì)作為現(xiàn)代軟件開(kāi)發(fā)中最為重要的一環(huán),設(shè)計(jì)得是否合理直接關(guān)系到軟件開(kāi)發(fā)的成敗,這也對(duì)軟件架構(gòu)師提出更高的要求。軟件體系結(jié)構(gòu)課程的特點(diǎn)如下[45]。
(1)課程內(nèi)容抽象。軟件體系結(jié)構(gòu)從較高層次上把握和理解復(fù)雜軟件的整體結(jié)構(gòu),其設(shè)計(jì)原則、技術(shù)和方法可以應(yīng)用在不同的軟件項(xiàng)目中并位于所有具體項(xiàng)目之上,用以指導(dǎo)全體軟件項(xiàng)目,因此課程內(nèi)容是高度抽象的。
(2)體系結(jié)構(gòu)的作用體現(xiàn)在軟件開(kāi)發(fā)階段的后期。由于軟件開(kāi)發(fā)是從軟件需求分析到運(yùn)行維護(hù)的多個(gè)階段,體系結(jié)構(gòu)的設(shè)計(jì)在這些階段通常反映不出來(lái);設(shè)計(jì)階段的一個(gè)決定,可能要到編碼、測(cè)試甚至后續(xù)維護(hù)才能體現(xiàn)出價(jià)值。
(3)軟件體系結(jié)構(gòu)設(shè)計(jì)是多種因素的綜合體。我們通常說(shuō)“軟件架構(gòu)師不是完美主義者,而是現(xiàn)實(shí)主義者”。在軟件開(kāi)發(fā)時(shí),軟件中的一些因素通常是相互沖突的,因此,在實(shí)際的軟件系統(tǒng)設(shè)計(jì)中,必須根據(jù)具體情況對(duì)各種要素進(jìn)行折中與權(quán)衡,最終才能滿足用戶的需求。
軟件體系結(jié)構(gòu)課程的特點(diǎn)使其在教學(xué)過(guò)程中存在以下很多問(wèn)題。
(1)學(xué)生學(xué)習(xí)積極性不高。軟件體系結(jié)構(gòu)課程的理論性較強(qiáng),概念繁多,學(xué)生普遍覺(jué)得課程內(nèi)容太抽象,沒(méi)有什么實(shí)際的東西。理論使得學(xué)生對(duì)該課程的學(xué)習(xí)沒(méi)有興趣,而學(xué)生通常沒(méi)有實(shí)際的項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn),因此很難將軟件體系結(jié)構(gòu)的抽象理論和實(shí)際聯(lián)系起來(lái),導(dǎo)致很多學(xué)生對(duì)該課程沒(méi)有興趣。
(2)學(xué)生的項(xiàng)目經(jīng)驗(yàn)不足。大多數(shù)學(xué)生在學(xué)習(xí)該課程之前沒(méi)有項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn),不能認(rèn)識(shí)到該課程的重要性;而學(xué)生的作業(yè)和課程實(shí)踐通常只局限于小項(xiàng)目,因此他們很難體會(huì)到軟件體系結(jié)構(gòu)在軟件開(kāi)發(fā)過(guò)程中的指導(dǎo)性作用。
(3)教材內(nèi)容與課程教學(xué)缺乏交互性。目前使用的教材單一、可用性較差且更新緩慢,而實(shí)踐教學(xué)形式單一且以理論教學(xué)為主,課程主要講授軟件體系結(jié)構(gòu)的基礎(chǔ)概念和基本原理,只起到導(dǎo)論的作用,交互性差;此外,課程教學(xué)中缺乏體系結(jié)構(gòu)的習(xí)題庫(kù)和案例庫(kù),學(xué)生缺乏實(shí)戰(zhàn)演練。
軟件體系結(jié)構(gòu)課程的特點(diǎn)和教學(xué)過(guò)程中存在的問(wèn)題,使得傳統(tǒng)教學(xué)模式不能較好地勝任該課程的教學(xué)。翻轉(zhuǎn)課堂充分體現(xiàn)以學(xué)生學(xué)習(xí)為中心,和傳統(tǒng)的以教師為中心的課堂教學(xué)完全不同,可改善學(xué)生只聽(tīng)不問(wèn)的被動(dòng)式學(xué)習(xí),使學(xué)生敢于提出問(wèn)題并解決問(wèn)題,也為不同層次的學(xué)生提供更合理的學(xué)習(xí)方式。筆者近年來(lái)一直從事軟件體系結(jié)構(gòu)課程的教學(xué)工作,通過(guò)應(yīng)用翻轉(zhuǎn)課堂教學(xué)模式,取得了較好的教學(xué)效果。
3.1 翻轉(zhuǎn)課堂的建設(shè)
利用翻轉(zhuǎn)課堂,我們對(duì)傳統(tǒng)教學(xué)環(huán)節(jié)中的各個(gè)步驟進(jìn)行調(diào)整并以任務(wù)為主線,實(shí)現(xiàn)課堂教學(xué)之前、之中和之后三部曲的構(gòu)建,3階段的功能如圖1所示。
圖1 翻轉(zhuǎn)課堂三部曲功能
構(gòu)建翻轉(zhuǎn)課堂三部曲的工作比較復(fù)雜,需要分教師和學(xué)生兩個(gè)角色分階段完成。教師在每個(gè)階段之前都需要作充分的準(zhǔn)備。在課程教學(xué)之前,教師須基于教學(xué)任務(wù),開(kāi)展課前教學(xué)設(shè)計(jì),包括根據(jù)課堂教學(xué)內(nèi)容進(jìn)行知識(shí)點(diǎn)劃分和歸納,總結(jié)核心教學(xué)點(diǎn)并制作教學(xué)視頻或者教學(xué)PPT,搜集和教學(xué)內(nèi)容相關(guān)的背景素材,基于教學(xué)內(nèi)容給學(xué)生布置一定的學(xué)習(xí)任務(wù),完成教學(xué)內(nèi)容布置和目標(biāo)制訂、教學(xué)素材和視頻上傳、在線答疑等。需要注意的是,課前教學(xué)設(shè)計(jì)的主要目的是讓學(xué)生大致對(duì)講解的教學(xué)內(nèi)容有所了解,能使其對(duì)所學(xué)內(nèi)容不至于太陌生,減少學(xué)生自學(xué)的壓力,因此課前素材的制作要簡(jiǎn)練,如視頻不能太長(zhǎng),以知識(shí)點(diǎn)為劃分依據(jù),每個(gè)視頻8~15min左右。教學(xué)過(guò)程中,教師需要針對(duì)教學(xué)內(nèi)容進(jìn)行引導(dǎo)性講解并針對(duì)學(xué)生的提問(wèn)開(kāi)展課堂討論;課后進(jìn)行教學(xué)內(nèi)容的總結(jié)分析、批改作業(yè)、在線答疑等。學(xué)生須在課前認(rèn)真學(xué)習(xí)教師提供的素材,完成一定數(shù)量的作業(yè)測(cè)試;在課堂上積極參與討論,在課后完成作業(yè)并對(duì)教學(xué)內(nèi)容進(jìn)行反思總結(jié),通過(guò)強(qiáng)化實(shí)踐練習(xí)對(duì)教學(xué)知識(shí)點(diǎn)加深鞏固。
3.2 基于翻轉(zhuǎn)課堂的體系結(jié)構(gòu)課程設(shè)計(jì)
實(shí)際上,翻轉(zhuǎn)課堂的實(shí)施是一項(xiàng)系統(tǒng)化的工程,并非錄制幾個(gè)視頻、準(zhǔn)備點(diǎn)材料讓學(xué)生課前學(xué)習(xí)就能稱為翻轉(zhuǎn)課堂。教師需要基于翻轉(zhuǎn)課程的思想,對(duì)課程知識(shí)體系結(jié)構(gòu),課堂學(xué)時(shí)分配,課堂學(xué)生的人數(shù)(小組確定),課堂翻轉(zhuǎn)程度,課堂互動(dòng)方式,課程考核評(píng)價(jià)標(biāo)準(zhǔn),課前、課間和課后的教學(xué)內(nèi)容安排,知識(shí)點(diǎn)測(cè)試等課程教學(xué)中涉及的一切內(nèi)容作出統(tǒng)籌安排,實(shí)現(xiàn)各個(gè)環(huán)節(jié)的相互補(bǔ)充。
1)教學(xué)內(nèi)容的重新組織。
考慮到翻轉(zhuǎn)課堂形式和軟件體系結(jié)構(gòu)課程的特點(diǎn),教師需要對(duì)教學(xué)內(nèi)容進(jìn)行歸納整理。由于該課程基本理論多、知識(shí)點(diǎn)多且應(yīng)用廣泛,我們可以把課程內(nèi)容分為以下4部分進(jìn)行組織:①基礎(chǔ)理論,包括體系結(jié)構(gòu)概述、風(fēng)格、描述、動(dòng)態(tài)軟件體系結(jié)構(gòu)和Web服務(wù)體系結(jié)構(gòu);②方法技術(shù),包括UML建模的方法、技術(shù)等;③上機(jī)操作,針對(duì)具體的系統(tǒng)進(jìn)行分析并建立模型;④應(yīng)用,討論基于體系結(jié)構(gòu)的軟件開(kāi)發(fā)方法。
在教學(xué)內(nèi)容的選擇方面,需要添加一些引起學(xué)生興趣的素材。例如,在講解軟件體系結(jié)構(gòu)風(fēng)格時(shí),課程教學(xué)內(nèi)容包括管道/過(guò)濾器風(fēng)格、層次風(fēng)格、MVC風(fēng)格、C/S、B/S風(fēng)格、混合風(fēng)格、面向?qū)ο箫L(fēng)格、事件驅(qū)動(dòng)風(fēng)格及新型軟件體系結(jié)構(gòu)風(fēng)格,可以結(jié)合具體的應(yīng)用實(shí)例進(jìn)行講解,如使用高級(jí)語(yǔ)言編輯器作為管道/過(guò)濾器風(fēng)格的典型案例進(jìn)行教學(xué)、使用操作系統(tǒng)作為層次風(fēng)格的主要案例進(jìn)行教學(xué)以及使用學(xué)校教務(wù)管理平臺(tái)作為B/S風(fēng)格的典型案例進(jìn)行教學(xué),能取得較好的教學(xué)效果。此外,為了拓展學(xué)生的視野,可以引入一些在軟件工程領(lǐng)域有突出貢獻(xiàn)的大學(xué)所應(yīng)用的軟件架構(gòu)課程,如卡內(nèi)基·梅隆大學(xué)軟件工程研究所(SEI)的軟件架構(gòu)實(shí)踐、軟件架構(gòu)評(píng)估、RUP軟件開(kāi)發(fā)過(guò)程和架構(gòu)模式的課程相關(guān)資料。
課程資源應(yīng)該盡可能微型化并及時(shí)更新,這樣可以使學(xué)生在任何形態(tài)下學(xué)習(xí),如“一個(gè)概念為一個(gè)資源,一個(gè)案例為一個(gè)資源”的方式。資源也應(yīng)該分類,如分為自主學(xué)習(xí)類和課堂講解類,自主學(xué)習(xí)類包括一些簡(jiǎn)單的知識(shí)點(diǎn)、操作、案例等,這部分知識(shí)點(diǎn)只需要由學(xué)生自主學(xué)習(xí),而不需要再占用寶貴的課堂時(shí)間進(jìn)行詳細(xì)講解;課堂講解部分包括一些較難的知識(shí)點(diǎn)以及教師覺(jué)得學(xué)生可能容易出現(xiàn)問(wèn)題的教學(xué)點(diǎn),在學(xué)生自主學(xué)習(xí)的基礎(chǔ)上,教師可在課堂上對(duì)該部分內(nèi)容進(jìn)行講解和討論。
在線討論的問(wèn)題設(shè)置要有針對(duì)性和開(kāi)放性,上述兩類素材中的內(nèi)容要讓學(xué)生學(xué)習(xí)后既能有一定的成就感,又產(chǎn)生對(duì)學(xué)習(xí)新知識(shí)點(diǎn)的渴求,因此視頻的錄制使學(xué)生看了視頻后不至于還是完全弄不清楚。這一點(diǎn)在實(shí)際應(yīng)用中很難把握,教師可以通過(guò)問(wèn)題設(shè)置,驅(qū)動(dòng)學(xué)生進(jìn)一步探索;為了適應(yīng)學(xué)生提問(wèn)較少的情況,教師還可以通過(guò)設(shè)置小測(cè)驗(yàn)考核學(xué)生的預(yù)習(xí)情況。
需要注意的是,在教學(xué)過(guò)程中,雖然翻轉(zhuǎn)課堂以學(xué)生提問(wèn)為主,但是教師作為教學(xué)主線的引導(dǎo)作用仍是關(guān)鍵。教師可根據(jù)布置的教學(xué)任務(wù)和測(cè)驗(yàn)結(jié)果進(jìn)行提問(wèn),對(duì)課前的知識(shí)進(jìn)行重點(diǎn)講解。通過(guò)預(yù)習(xí),學(xué)生通常能掌握50%~60%的教學(xué)內(nèi)容,剩余內(nèi)容則需要教師利用課堂教學(xué)時(shí)間進(jìn)行重點(diǎn)闡述,加深學(xué)生的理解;此外,教師還可以采取多種方式,如小組之間進(jìn)行討論,羅列的問(wèn)題應(yīng)由簡(jiǎn)單到復(fù)雜,以調(diào)動(dòng)學(xué)生討論的積極性。這個(gè)步驟較難操作,教師可以采用一定的激勵(lì)機(jī)制,如對(duì)積極參加討論并陳述自己觀點(diǎn)的學(xué)生給予加分,并將這個(gè)分?jǐn)?shù)作為該門(mén)課程最終成績(jī)中平時(shí)分的一部分。
2)考核方式的改革。
軟件體系結(jié)構(gòu)課程不但要求學(xué)生掌握體系結(jié)構(gòu)的一些抽象定義、風(fēng)格等基礎(chǔ)理論知識(shí),還需要考核學(xué)生熟練應(yīng)用課程知識(shí)的能力。傳統(tǒng)卷面筆試的單一考核方式不能真正反映學(xué)生的學(xué)習(xí)效果,因此,應(yīng)該建立多元化的考核機(jī)制。我們通過(guò)翻轉(zhuǎn)課堂教學(xué)模式改革,對(duì)應(yīng)于教學(xué)過(guò)程的三部曲,對(duì)考核方式也進(jìn)行相應(yīng)改革。新的考核方式見(jiàn)表1。
在上述課程考核方式中,項(xiàng)目答辯大作業(yè)包括一些具體項(xiàng)目的文檔報(bào)告,大作業(yè)采取答辯講解形式進(jìn)行考核,答辯學(xué)生根據(jù)作業(yè)答辯內(nèi)容,制作PPT并在規(guī)定的時(shí)間內(nèi)完成。考慮到時(shí)間的限制,我們采用申請(qǐng)優(yōu)秀的學(xué)生必須參加答辯,而隨機(jī)抽查其余學(xué)生作業(yè)的方式。此外,對(duì)于上述各種打分環(huán)節(jié),為了體現(xiàn)公平性,可以在教師評(píng)分為主的前提下,在打分過(guò)程中隨機(jī)抽取5位非主體講解小組的學(xué)生進(jìn)行打分,按照加權(quán)平均法給出最終成績(jī)。需要注意的是,考慮到在該門(mén)課程學(xué)習(xí)中,這種考核方式對(duì)一些基礎(chǔ)理論的理解和記憶也至關(guān)重要,因此新的考核方式也沒(méi)有完全拋棄傳統(tǒng)的卷面考核(占30%),全面考核軟件體系結(jié)構(gòu)的基礎(chǔ)理論知識(shí),如通過(guò)名詞解釋、簡(jiǎn)答、判斷等傳統(tǒng)題型對(duì)一些概念進(jìn)行考核。
表1 課程考核方式
通過(guò)實(shí)施上述教學(xué)改革,軟件體系結(jié)構(gòu)課程的教學(xué)效果得到明顯改善。一些枯燥的基礎(chǔ)理論和術(shù)語(yǔ)在具體的實(shí)例引導(dǎo)下變得容易理解;教師在教學(xué)過(guò)程中,也不局限于教學(xué)大綱內(nèi)容按部就班地講解,而是將整個(gè)教學(xué)內(nèi)容統(tǒng)籌劃分;教學(xué)過(guò)程中,我們也能及時(shí)得到學(xué)生的反饋;考核方式的改革在一定程度上也激發(fā)了學(xué)生的學(xué)習(xí)主動(dòng)性。
翻轉(zhuǎn)課堂是對(duì)傳統(tǒng)教學(xué)模式的改革和創(chuàng)新,是一種教學(xué)觀念的改變,這種課堂教學(xué)模式的推廣應(yīng)用勢(shì)必會(huì)對(duì)未來(lái)的課程教學(xué)產(chǎn)生深刻影響。筆者在分析軟件體系結(jié)構(gòu)課程教學(xué)的特點(diǎn)和面臨的問(wèn)題之后,借鑒翻轉(zhuǎn)課堂教學(xué)模式的優(yōu)點(diǎn)開(kāi)展課程改革,提高了學(xué)生的學(xué)習(xí)積極性并獲得良好的教學(xué)效果。在教學(xué)改革中我們也發(fā)現(xiàn),由于課程的特點(diǎn),并不是所有的教學(xué)內(nèi)容都適合翻轉(zhuǎn)課堂教學(xué)模式,因此在實(shí)際教學(xué)過(guò)程中,翻轉(zhuǎn)課堂教學(xué)模式應(yīng)該與傳統(tǒng)教學(xué)方式相輔相成,靈活應(yīng)用以更好地開(kāi)展教學(xué)活動(dòng)。此外,雖然翻轉(zhuǎn)課堂教學(xué)模式自提出以來(lái)就受到國(guó)內(nèi)外的廣泛認(rèn)可,但是在實(shí)際應(yīng)用過(guò)程中還有很多問(wèn)題亟待解決,我們也將繼續(xù)關(guān)注該教學(xué)模式的應(yīng)用。
[1] 周群. 計(jì)算機(jī)應(yīng)用型人才培養(yǎng)翻轉(zhuǎn)課堂教學(xué)模式研究[J]. 大學(xué)教育, 2016(3): 150-152.
[2] 張金磊, 王穎, 張寶輝. 翻轉(zhuǎn)課堂教學(xué)模式研究[J]. 遠(yuǎn)程教育雜志, 2012, 30(4): 46-51.
[3] 陳長(zhǎng)清. 軟件體系結(jié)構(gòu)課程教學(xué)探討[J]. 計(jì)算機(jī)教育, 2008(22): 134-136.
[4] 朱鵬程, 管致錦. 基于能力本位的“軟件體系結(jié)構(gòu)”實(shí)踐教學(xué)環(huán)節(jié)[J]. 計(jì)算機(jī)教育, 2011(17): 39-42.
[5] 劉靖, 周建濤.“做中學(xué)”理念在軟件體系結(jié)構(gòu)課程教學(xué)中的應(yīng)用實(shí)踐[J]. 計(jì)算機(jī)教育, 2013(22): 88-93.
(編輯: 宋文婷 )
1672-5913(2017)03-0068-04
G642
浙江師范大學(xué)2016年研究生重點(diǎn)課程建設(shè)、教育教學(xué)改革和教學(xué)案例建設(shè)項(xiàng)目(26)。
丁智國(guó),男,講師,研究方向?yàn)檐浖w系結(jié)構(gòu)、軟件質(zhì)量與測(cè)試等,dzg_jsj@zjnu.cn。