方潔
摘要:翻轉(zhuǎn)課堂教學(xué)模式倡導(dǎo)以學(xué)生為中心和知識(shí)內(nèi)化。結(jié)合《算法設(shè)計(jì)與分析》課程特點(diǎn),利用微視頻、網(wǎng)絡(luò)教學(xué)平臺(tái)等多種教學(xué)資源,將翻轉(zhuǎn)課堂教學(xué)模式引入該課程教學(xué),重點(diǎn)通過(guò)實(shí)例探討翻轉(zhuǎn)課堂模式應(yīng)用思路。
關(guān)鍵詞:翻轉(zhuǎn)課堂;算法設(shè)計(jì)與分析;微視頻;教學(xué)改革
DOIDOI:10.11907/rjdk.161608
中圖分類號(hào):G433
文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2016)009019903
作者簡(jiǎn)介作者簡(jiǎn)介:方潔(1983-),女,安徽安慶人,碩士,武漢工程大學(xué)郵電與信息工程學(xué)院機(jī)械與電氣工程系講師,研究方向?yàn)閿?shù)據(jù)挖掘、分布式數(shù)據(jù)庫(kù)。
0引言
近年來(lái),翻轉(zhuǎn)課堂、微課等教學(xué)方式在高校教學(xué)改革中興起。對(duì)于理工科課程而言,知識(shí)點(diǎn)較難懂,學(xué)生需要時(shí)間消化吸收,因此更需要通過(guò)教學(xué)方式改革提高學(xué)生學(xué)習(xí)效率。翻轉(zhuǎn)課堂是一種學(xué)生在課前利用教師制作的數(shù)字材料(音視頻、電子教材等)開展自主學(xué)習(xí),在課堂上參與探討互動(dòng),并完成練習(xí)的教學(xué)方式[1]。探索該模式在《算法設(shè)計(jì)與分析》課程中的應(yīng)用,達(dá)到提高教學(xué)效果的目的。
1課程特點(diǎn)及學(xué)習(xí)現(xiàn)狀分析
《算法設(shè)計(jì)與分析》是一門計(jì)算機(jī)專業(yè)必修課程,需要將計(jì)算機(jī)經(jīng)典問題與算法結(jié)合起來(lái)進(jìn)行講授。目前,大多高校該課程仍以理論講授為主,學(xué)生被動(dòng)接受知識(shí),缺乏獨(dú)立思考,一定程度上影響了教學(xué)效果。
1.1課程特點(diǎn)分析
《算法設(shè)計(jì)與分析》課程涉及的領(lǐng)域廣,需根據(jù)學(xué)生基礎(chǔ)不同進(jìn)行內(nèi)容調(diào)整和取舍,主要包括算法的基本概念、算法的基本工具和優(yōu)化技巧、基本的算法策略(分治、貪婪、動(dòng)態(tài)規(guī)劃)和圖的搜索算法(回溯法、分支限界法)。重點(diǎn)在于算法基本技巧和基本策略的學(xué)習(xí),內(nèi)容具有一定深度和廣度。實(shí)際教學(xué)中,往往理論教學(xué)以教師課堂講授為主,課時(shí)有限,學(xué)生參與較少;實(shí)驗(yàn)教學(xué)難度不好把握,過(guò)高往往導(dǎo)致學(xué)生失去信心,難度過(guò)低又會(huì)使學(xué)生失去學(xué)習(xí)興趣,不能得到很好的訓(xùn)練。
1.2學(xué)生學(xué)習(xí)特點(diǎn)分析
筆者針對(duì)所在學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)學(xué)生該課程學(xué)習(xí)情況進(jìn)行了調(diào)查,總結(jié)如下:
(1)認(rèn)為重復(fù)學(xué)習(xí),學(xué)習(xí)熱情不高。學(xué)習(xí)算法前學(xué)生已經(jīng)學(xué)習(xí)了《數(shù)據(jù)結(jié)構(gòu)》課程,部分內(nèi)容與《數(shù)據(jù)結(jié)構(gòu)》中的相似,因此部分同學(xué)認(rèn)為是重復(fù)學(xué)習(xí),學(xué)習(xí)熱情不高。實(shí)際上,算法基本工具和優(yōu)化技巧以及圖的搜索問題,雖然學(xué)起來(lái)容易,但技巧應(yīng)用較難,學(xué)生往往學(xué)完仍不會(huì)靈活運(yùn)用。
(2)存在畏難情緒。由于學(xué)生學(xué)習(xí)基礎(chǔ)不是很扎實(shí),對(duì)于復(fù)雜算法的學(xué)習(xí)存在畏難情緒,只了解大致思想,缺乏鉆研精神。
(3)課堂教學(xué)中不能積極主動(dòng)參與討論。由于該課程對(duì)學(xué)生理解和創(chuàng)新能力要求比較高,課堂上消化吸收所講內(nèi)容有一定難度,大部分同學(xué)很難參與討論。
諸多學(xué)校對(duì)該課程的教學(xué)進(jìn)行了改革,但只是在內(nèi)容上更多的與實(shí)際相結(jié)合,以提高學(xué)生的學(xué)習(xí)積極性,在形式上采用啟發(fā)式教學(xué),加強(qiáng)創(chuàng)新性思維培養(yǎng)[2]。筆者教學(xué)過(guò)程中也嘗試了這些教學(xué)方法進(jìn)行,雖然能一定程度提高學(xué)生學(xué)習(xí)的興趣,激發(fā)學(xué)生的創(chuàng)新思想,但教學(xué)效果還是差強(qiáng)人意。要讓學(xué)生課堂上理解消化教師所講知識(shí),還要有所創(chuàng)新,舉一反三,傳統(tǒng)教學(xué)模式很難做到。采取翻轉(zhuǎn)課堂教學(xué)模式,可有利于解決此類問題。
2翻轉(zhuǎn)課堂教學(xué)方法
早在20世紀(jì)90年代初,哈佛大學(xué)物理學(xué)教授埃里克·馬祖爾為解決課上傳授知識(shí)為主造成學(xué)生對(duì)知識(shí)內(nèi)容理解不透徹的問題創(chuàng)立了同伴教學(xué)法,要求學(xué)生課下自學(xué)課程內(nèi)容,課上則以“提問-思考-回答”等互動(dòng)為主[3],這便是翻轉(zhuǎn)課堂教學(xué)方法的雛形。傳統(tǒng)教學(xué)中,大量時(shí)間用于課堂知識(shí)傳授,學(xué)生利用有限的時(shí)間理解和思考老師所講知識(shí),并在課后對(duì)知識(shí)進(jìn)行消化吸收。而翻轉(zhuǎn)課堂中,學(xué)生課前利用充裕的時(shí)間主動(dòng)學(xué)習(xí)老師即將講解的課程,以各種形式向老師請(qǐng)教,課堂上老師和同學(xué)們互動(dòng),解答疑難,探討創(chuàng)新。傳統(tǒng)教學(xué)方法與翻轉(zhuǎn)課堂教學(xué)方法比較如表1所示。
3翻轉(zhuǎn)課堂設(shè)計(jì)
《算法設(shè)計(jì)與分析》課程有很強(qiáng)理論性,涉及數(shù)學(xué)模型及算法實(shí)現(xiàn);同時(shí)又有很強(qiáng)的實(shí)踐性,要將抽象的思維變?yōu)榫唧w應(yīng)用。針對(duì)學(xué)生特點(diǎn),筆者采用清華大學(xué)出版社呂國(guó)英編著的《算法設(shè)計(jì)與分析》教材,實(shí)例較多,學(xué)生可以通過(guò)例題加深對(duì)各種算法的理解,方便開展翻轉(zhuǎn)課堂教學(xué)。
3.1課前教學(xué)準(zhǔn)備
(1)錄制教學(xué)微視頻。每個(gè)視頻10~15分鐘為宜,由于算法課程包含的知識(shí)點(diǎn)在數(shù)據(jù)結(jié)構(gòu)課程中都已有所涉及,因此視頻內(nèi)容可分為知識(shí)回顧、核心算法策略講解、算法擴(kuò)展3個(gè)部分。
(2)搭建網(wǎng)絡(luò)學(xué)習(xí)平臺(tái)。申請(qǐng)視頻服務(wù)器,構(gòu)建教學(xué)網(wǎng)站,上傳教學(xué)視頻及開展網(wǎng)上交流討論。
(3)歸納總結(jié)若干有關(guān)該算法的關(guān)鍵問題。一部分提前布置給學(xué)生,讓學(xué)生帶著問題觀看教學(xué)視頻;另一部分則在課堂教學(xué)中進(jìn)行小組討論。
(4)培養(yǎng)學(xué)習(xí)團(tuán)隊(duì)。根據(jù)先修課程中程序設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)課程的成績(jī),將學(xué)生分為5~6人一組,高分和低分互補(bǔ),組與組之間的水平大致相當(dāng)。
與傳統(tǒng)教學(xué)不同,學(xué)生的主要任務(wù)是在課前觀看教學(xué)視頻并思考老師所提問題,將作業(yè)上傳至網(wǎng)絡(luò)教學(xué)平臺(tái),提出問題并通過(guò)網(wǎng)絡(luò)學(xué)習(xí)平臺(tái)請(qǐng)教老師。
3.2課堂活動(dòng)設(shè)計(jì)
翻轉(zhuǎn)課堂并不代表完全意義上的翻轉(zhuǎn),課堂上仍然需要教師對(duì)本節(jié)課知識(shí)點(diǎn)進(jìn)行概括性講解,并解答學(xué)生觀看微視頻中提出的共性問題。此外,教師要組織學(xué)生進(jìn)行小組討論,以2學(xué)時(shí)為例,可提供4個(gè)問題,每個(gè)問題給出10分鐘左右的討論時(shí)間,討論過(guò)程中教師在一旁指導(dǎo)。討論結(jié)束后,組長(zhǎng)匯總小組意見,并在課堂上進(jìn)行匯報(bào),與其它組進(jìn)行討論。
3.3學(xué)習(xí)評(píng)價(jià)設(shè)計(jì)
學(xué)習(xí)評(píng)價(jià)是整個(gè)翻轉(zhuǎn)課堂中必不可少的環(huán)節(jié),學(xué)生可以在評(píng)價(jià)階段了解自己對(duì)知識(shí)的掌握程度。同時(shí)老師對(duì)學(xué)生自學(xué)能力的認(rèn)可,可鼓勵(lì)學(xué)生更好地進(jìn)行后期學(xué)習(xí)。評(píng)價(jià)可由兩種方式結(jié)合進(jìn)行:
①根據(jù)課前問題回答情況進(jìn)行評(píng)價(jià);
②以小組為單位進(jìn)行評(píng)價(jià),根據(jù)討論的深度、廣度和準(zhǔn)確度給出評(píng)價(jià)結(jié)果。
4翻轉(zhuǎn)課堂應(yīng)用實(shí)例
以該課程中基本算法策略中的“分治策略”為例,設(shè)計(jì)2學(xué)時(shí)的翻轉(zhuǎn)課堂教學(xué)。
4.1課前準(zhǔn)備
分治法是指將一個(gè)難以直接解決的大問題分割成規(guī)模較小的相似問題。在數(shù)據(jù)結(jié)構(gòu)課程中已有涉及,例如折半查找、合并排序、快速排序、二叉樹遍歷等[4]。因此本節(jié)內(nèi)容適合利用翻轉(zhuǎn)課堂教學(xué),有利于學(xué)生自主學(xué)習(xí)。
(1)教學(xué)微視頻制作。內(nèi)容如下:
復(fù)習(xí)數(shù)據(jù)結(jié)構(gòu)中的折半查找算法,引入分治法的基本思想。微視頻中需要?jiǎng)討B(tài)展示出折半查找的變化過(guò)程,并講解偽代碼描述的折半查找算法,體現(xiàn)減治法的應(yīng)用。通過(guò)回顧折半查找知識(shí)引入分治策略,描述算法設(shè)計(jì)模式。
講解例題:金塊問題。如:有一袋金塊(共n塊),最優(yōu)秀的雇員得到其中最重的一塊。假設(shè)有一臺(tái)比較重量的儀器,希望用最少的比較次數(shù)找出最重的金塊。微視頻中以10個(gè)數(shù)表示10塊金塊的重量,將此問題轉(zhuǎn)換為用最少的比較次數(shù)找出最大的數(shù)。
將I=(n,A(1),…,A(n))分成一些較小的實(shí)例來(lái)處理。例如,可以把I分成兩個(gè)實(shí)例:I1=(「n/2」,A(1),…,A(「n/2」));I2=(n-「n/2」,A(「n/2」+1),…,A(n))。
如果Max(I)表示I中的最大元素,則Max(I)等于Max(I1)和Max(I2)中的較大者。如果I只包含一個(gè)元素,則不需要作任何分割,直接求解。
微視頻中以動(dòng)畫形式展示利用分治策略求解最大值的過(guò)程,講解算法思想及對(duì)應(yīng)的偽代碼。
講解例題:殘缺棋盤問題。如:殘缺棋盤是一個(gè)有2k×2k(k≥1)個(gè)方格的棋盤,其中恰有一個(gè)方格殘缺。要用圖1中的4種三格板覆蓋更大的殘缺棋盤。要求:每?jī)蓚€(gè)三格板不能重疊;三格板不能覆蓋殘缺方格,但必須覆蓋其它所有方格。
微視頻中,首先以動(dòng)畫形式展示4×4的殘缺棋盤的構(gòu)造過(guò)程,再推廣到2k×2k的殘缺棋盤,通過(guò)設(shè)置“偽殘缺方格”將原來(lái)不相似的子問題轉(zhuǎn)換為相似子問題。
(2)提出算法相關(guān)問題。要求學(xué)生帶著問題觀看視頻,總結(jié)以下問題的答案,并上傳到網(wǎng)絡(luò)教學(xué)平臺(tái)。
①除了折半查找,數(shù)據(jù)結(jié)構(gòu)中還有哪些知識(shí)運(yùn)用了分治策略;
②金塊問題利用普通排序和蠻力策略分別如何解決?算法時(shí)間復(fù)雜度為多少;
③金塊問題中利用分治策略解決了最大值問題,請(qǐng)寫出最小值問題的求解算法;
④對(duì)于2k×2k的殘缺棋盤問題,一共需要多少塊三格板;
⑤微視頻中殘缺棋盤問題的子問題是以左上部分為例進(jìn)行講解的,能否描述出剩下3個(gè)部分的幾個(gè)關(guān)鍵參數(shù)?
4.2課堂教學(xué)
首先講解分治策略的基本思想,并圍繞學(xué)生提交的答案,解決共性問題。針對(duì)微視頻講解例題,提出以下問題進(jìn)行小組討論,由組長(zhǎng)匯總陳述。關(guān)于分治策略設(shè)置如下問題:
①分治策略解決金塊問題的算法時(shí)間復(fù)雜度是多少?請(qǐng)描述求解思路;
②金塊問題采用的是分治策略中的幾分法?請(qǐng)描述所采用分治法解決的問題所具有的特征;
③智力問題—找石頭:現(xiàn)有8顆小石頭和一架托盤天平。有7顆石頭的重量是一樣,另外一顆比其它石頭略重,除此之外,這些石頭完全沒有分別。不得假設(shè)那顆重石頭到底比其他石頭重了多
少。請(qǐng)問:最少要稱量幾次,才能把那顆較重的石頭找出來(lái);
④殘缺棋盤問題的時(shí)間復(fù)雜度是多少?從這個(gè)問題中你學(xué)到哪些知識(shí)?
各小組同學(xué)可對(duì)本組組長(zhǎng)的陳述進(jìn)行補(bǔ)充,并對(duì)其它組的不同觀點(diǎn)進(jìn)行討論。最后由教師對(duì)所討論的問題進(jìn)行總結(jié)和評(píng)價(jià)。學(xué)生還可以通過(guò)微視頻進(jìn)行復(fù)習(xí),彌補(bǔ)預(yù)習(xí)時(shí)對(duì)該知識(shí)點(diǎn)理解的不足,進(jìn)行深度挖掘。
5結(jié)語(yǔ)
《算法設(shè)計(jì)與分析》課程采用翻轉(zhuǎn)課堂教學(xué)能提高學(xué)生的積極性,有利于以學(xué)生為主體。同時(shí)將小組合作的理念融入教學(xué)中,培養(yǎng)學(xué)生團(tuán)隊(duì)合作精神。本文通過(guò)實(shí)例探討了《算法設(shè)計(jì)與分析》課程中如何使用翻轉(zhuǎn)課堂教學(xué),借助信息技術(shù)手段,提高了教學(xué)質(zhì)量和效率,激發(fā)了學(xué)生學(xué)習(xí)主動(dòng)性和積極性。
參考文獻(xiàn)參考文獻(xiàn):
[1]張國(guó)榮.基于翻轉(zhuǎn)課堂的《大學(xué)計(jì)算機(jī)基礎(chǔ)》課程改革新思路[J].大學(xué)教育,2013(13):135137.
[2]陳蕾,張怡婷,許建.基于創(chuàng)新能力培養(yǎng)的算法設(shè)計(jì)與分析課程教學(xué)改革[J].計(jì)算機(jī)教育,2010(20):2729.
[3]楊斌,王以寧,任建四,等.美國(guó)大學(xué)IPSP課程混合式翻轉(zhuǎn)課堂分析與啟示[J].中國(guó)電化教育,2015(2):118122.
[4]呂國(guó)英. 算法設(shè)計(jì)與分析[M].北京:清華大學(xué)出版社,2009:139145.
責(zé)任編輯(責(zé)任編輯:陳福時(shí))