王賀哲

關(guān)鍵詞: BOPPPS教學(xué)模型;教學(xué)設(shè)計;算法設(shè)計與分析
中圖分類號:G642 文獻標識碼:A
文章編號:1009-3044(2023)20-0167-03
0 引言
算法設(shè)計與分析[1]是高等院校計算機科學(xué)與技術(shù)、物聯(lián)網(wǎng)工程、軟件工程等專業(yè)教學(xué)中的重要課程之一。算法設(shè)計與分析這門課程內(nèi)容抽象、應(yīng)用廣泛,在專業(yè)課程體系中發(fā)揮著不可替代的作用。算法設(shè)計與分析主要包括算法概述、遞歸與分治策略、動態(tài)規(guī)劃、貪心算法、回溯法、分支限界法以及隨機化算法等眾多內(nèi)容。通過對算法設(shè)計與分析這門課程的學(xué)習(xí),學(xué)生應(yīng)做到掌握算法設(shè)計與分析的主要理論、方法以及技術(shù),能夠?qū)捎嬎銌栴}設(shè)計相應(yīng)的算法,并對算法的計算復(fù)雜性做出正確的分析。算法設(shè)計與分析在專業(yè)課程體系中與C語言程序設(shè)計、離散數(shù)學(xué)、線性代數(shù)、高等數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)以及概率論與數(shù)理統(tǒng)計等眾多課程緊密相連。因此,學(xué)好算法設(shè)計與分析這門課程不但能夠鞏固之前所學(xué)過的課程,還能為學(xué)生學(xué)習(xí)后續(xù)相關(guān)課程打下堅實的基礎(chǔ)。
然而,算法設(shè)計與分析在傳統(tǒng)教學(xué)模式下的教學(xué)中,通常會存在無法激發(fā)學(xué)生學(xué)習(xí)該課程相關(guān)知識的興趣以及學(xué)生課堂參與度不夠等問題。這些問題都極大地影響了算法設(shè)計與分析這門課程的教學(xué)質(zhì)量。因此,如何激發(fā)學(xué)生學(xué)習(xí)該課程相關(guān)知識的興趣,增加學(xué)生課堂參與度,進一步達到提升算法設(shè)計與分析這門課程教學(xué)質(zhì)量的目標,是該門課程在教學(xué)活動中迫切需要解決的關(guān)鍵問題之一。為了能夠激發(fā)學(xué)生學(xué)習(xí)該課程相關(guān)知識的興趣、提升學(xué)生課堂參與度,本文以算法設(shè)計與分析中的“貪心算法”為例,將BOPPPS教學(xué)模型應(yīng)用到算法設(shè)計與分析教學(xué)活動中,通過對BOPPPS教學(xué)模型所包含的六個環(huán)節(jié)的應(yīng)用,達到提高算法設(shè)計與分析這門課程教學(xué)質(zhì)量的目標。
1 BOPPPS 教學(xué)模型簡介
BOPPPS教學(xué)模型是一種起源于北美的教學(xué)模式,該教學(xué)模式的主要優(yōu)勢體現(xiàn)在強調(diào)激發(fā)學(xué)生學(xué)習(xí)的主動性、增進學(xué)生的學(xué)習(xí)參與度。因此,該教學(xué)模式也是目前眾多教學(xué)模式中比較先進且有效的教學(xué)模式之一。BOPPPS教學(xué)模型在實施過程中會將一個完整的課堂教學(xué)過程分割成六個環(huán)節(jié),如圖1所示。這六個環(huán)節(jié)分別為:導(dǎo)言(Bridge-in) 、學(xué)習(xí)目標(Objective) 、前測(Pre-assessment) 、參與式學(xué)習(xí)(Participatory Learn?ing) 、后測(Post-assessment) 和總結(jié)(Summary) [2-5]。
在這六個環(huán)節(jié)中,導(dǎo)言的主要作用是在教學(xué)過程中激發(fā)學(xué)生學(xué)習(xí)課程相關(guān)知識的興趣、讓學(xué)生能夠充分地了解課程所要講述的主題以及課程相關(guān)知識的重要性,在這一環(huán)節(jié)中,可以通過敘述和課程相關(guān)的故事、播放視頻、老師提問問題學(xué)生回答問題等方式來進行課程的導(dǎo)入;學(xué)習(xí)目標的主要作用是在教學(xué)過程中讓學(xué)生充分且清晰地了解課程要到達一個什么程度的教學(xué)目標,便于學(xué)生在學(xué)習(xí)相關(guān)知識過程中掌握重點、難點知識,在這一環(huán)節(jié)中,可以通過板書或PPT展示等方式來呈現(xiàn);前測的主要作用是在教學(xué)過程中讓教師能夠充分地了解學(xué)生對與課程相關(guān)的基礎(chǔ)知識的掌握程度,以便能夠根據(jù)學(xué)生的具體掌握程度調(diào)整后續(xù)教學(xué)內(nèi)容的相關(guān)細節(jié),在這一環(huán)節(jié)中,可以采用一些簡單的小測試或教師提問問題學(xué)生回答問題等方式進行[6-8]。
參與式學(xué)習(xí)的主要作用是在教學(xué)過程中讓學(xué)生積極參與教學(xué)活動中,并高質(zhì)量地完成課程學(xué)習(xí),在這一環(huán)節(jié)中,可以采用專題研討、小組討論、實際案例分析等方式讓學(xué)生積極主動地參與學(xué)習(xí)活動中,這樣不僅能夠加深學(xué)生對所學(xué)課程相關(guān)知識的理解程度,同時也強化了學(xué)生的語言表達能力、溝通能力以及相互之間的合作能力等素質(zhì)的培養(yǎng);后測的主要作用是在教學(xué)過程中讓教師準確地評估學(xué)生是否精準地達到了學(xué)習(xí)目標,在這一環(huán)節(jié)中,可以通過一些簡單的小測驗、教師提問問題學(xué)生回答問題或做與本節(jié)課知識相關(guān)的習(xí)題等方式對教學(xué)效果進行評估,并根據(jù)評估結(jié)果進行教學(xué)反思,以便能夠及時、高效、精準地調(diào)整下一步的教學(xué)內(nèi)容,從而更好地達成課程教學(xué)目標;總結(jié)的主要作用是在教學(xué)過程中對所講述課程內(nèi)容的重點知識以及難點知識進行簡要的概括,以此加深學(xué)生對所學(xué)重點知識以及難點知識的印象,在這一環(huán)節(jié)中,可以利用PPT展示等方法開展此環(huán)節(jié)[9]。總的來看,BOPPPS教學(xué)模型在教學(xué)過程中不但能夠有效地激發(fā)學(xué)生學(xué)習(xí)知識的興趣、通過課堂互動的方式提高學(xué)生參與度,還能有效、充分地幫助教師了解學(xué)生在課程學(xué)習(xí)后達到了一個什么程度的學(xué)習(xí)效果,進一步為提升教學(xué)質(zhì)量做了堅實的鋪墊[10]。
2 BOPPPS教學(xué)模型在算法設(shè)計與分析教學(xué)中的應(yīng)用
BOPPPS教學(xué)模型是教師在教學(xué)活動中較為常用且有效的教學(xué)模式之一。據(jù)此,本文在借鑒現(xiàn)有文獻[2-10]的基礎(chǔ)上,以算法設(shè)計與分析課程中“貪心算法”為例,將BOPPPS教學(xué)模型應(yīng)用到算法設(shè)計與分析教學(xué)活動中。貪心算法內(nèi)容抽象且較難理解,是算法設(shè)計與分析課程中的重點、難點內(nèi)容之一,因此在課前學(xué)生應(yīng)做到提前預(yù)習(xí)本次課的相關(guān)知識內(nèi)容,以便學(xué)生在教學(xué)活動中能夠?qū)λ鶎W(xué)知識有更深層次的理解。
2.1 導(dǎo)言
有效的課程導(dǎo)入能夠調(diào)動學(xué)生對課程相關(guān)知識的學(xué)習(xí)興趣,從而進一步激發(fā)學(xué)生主動獲取與課程相關(guān)知識的欲望。為了能夠高效地調(diào)動學(xué)生學(xué)習(xí)本次課程相關(guān)知識的興趣,首先給出如下問題的描述,假設(shè)1元、2元、5元、10元、20元、50元、100元的紙幣張數(shù)不受限制,現(xiàn)在要用這些面值的紙幣來支付一件K 元的商品,應(yīng)如何選擇不同面值的紙幣來支付才能使得所需紙幣的張數(shù)最少?在學(xué)生明確問題描述的基礎(chǔ)上,要引導(dǎo)學(xué)生為了盡可能多地減少所使用紙幣的數(shù)量,應(yīng)盡可能地優(yōu)先使用大面值的紙幣,也就是說首先應(yīng)盡可能多地使用100元紙幣來進行支付商品,以此類推,直至所選紙幣面值達到K元為止。進一步向?qū)W生說明,這個方法其實就是貪心算法,從而引出了本節(jié)課的教學(xué)內(nèi)容“貪心算法”。利用具有實際應(yīng)用背景的問題為基礎(chǔ)引出教學(xué)內(nèi)容不僅能夠激發(fā)學(xué)生學(xué)習(xí)課程相關(guān)知識的興趣,還能讓學(xué)生知道課程的重要性以及在現(xiàn)實生活中如何應(yīng)用。
2.2 學(xué)習(xí)目標
在學(xué)習(xí)目標環(huán)節(jié),通過PPT展示的方式讓學(xué)生了解課程學(xué)習(xí)的目標。本次課的學(xué)習(xí)目標可以概括為以下幾個方面:
1) 知識目標:了解貪心算法的概念;掌握貪心算法的基本要素;掌握貪心算法的設(shè)計策略。
2) 能力目標:能夠利用貪心算法的設(shè)計策略解決實際問題。
3) 情感目標:通過對貪心算法的學(xué)習(xí),培養(yǎng)學(xué)生具有嚴謹?shù)膶W(xué)習(xí)態(tài)度、一定的創(chuàng)新思維以及獨立思考的基本能力。
2.3 前測
在前測環(huán)節(jié),以提問的方式了解學(xué)生對與本次課程相關(guān)的基礎(chǔ)知識的掌握情況。首先,讓學(xué)生回答一些與上一章所學(xué)知識相關(guān)的問題,例如動態(tài)規(guī)劃算法的概念描述是什么、動態(tài)規(guī)劃算法的基本要素有哪些以及0-1背包問題的問題描述是什么,這一過程不但能夠讓教師清晰地了解學(xué)生對基礎(chǔ)知識或之前學(xué)過的知識的掌握情況,還能幫助學(xué)生鞏固所學(xué)過的相關(guān)知識;其次,隨機抽查學(xué)生課前預(yù)習(xí)的情況,這樣有助于教師根據(jù)學(xué)生的實際預(yù)習(xí)情況更好地調(diào)整后續(xù)教學(xué)的細節(jié),以便能夠高效地完成本次課的相關(guān)教學(xué)內(nèi)容。
2.4 參與式學(xué)習(xí)
在參與式學(xué)習(xí)環(huán)節(jié),首先給出貪心算法的概念,在給出貪心算法的概念后指出貪心法一般可以用于求一個問題在某種意義下的最優(yōu)解,并讓學(xué)生結(jié)合導(dǎo)言環(huán)節(jié)的實例分組討論哪些問題適合用貪心算法解決。經(jīng)過學(xué)生討論后,可以對學(xué)生進行提問,抽查學(xué)生討論的情況,基于學(xué)生討論的情況指出適合采用貪心算法解決的問題應(yīng)該具備最優(yōu)子結(jié)構(gòu)性質(zhì)和貪心選擇性質(zhì),進一步給出這兩個性質(zhì)概念的描述。以上設(shè)計能夠有效地培養(yǎng)學(xué)生獨立思考的基本能力,激發(fā)學(xué)生主動學(xué)習(xí)算法設(shè)計與分析的興趣,同時也強化了學(xué)生之間的溝通交流能力、語言表達能力以及合作能力等綜合素質(zhì)的培養(yǎng)。
在給出貪心算法的概念描述以及貪心算法的基本要素后,給出背包問題的描述。并基于背包問題的描述進一步結(jié)合以下實例:背包容量為100千克,物品個數(shù)為3個,這三個物品的重量分別為30千克、50千克、70千克,這三個物品的價值分別為90元、100元、130元,讓學(xué)生思考如何選擇物品裝入背包,能夠使得裝入背包中的物品的總價值最大。經(jīng)過學(xué)生思考后,以提問的方式了解學(xué)生的思考結(jié)果,并指出如果用貪心算法解決該問題,應(yīng)每次選單位重量價值(即價值與重量的比值)最大的物品放進背包可以得到問題的最優(yōu)解。進一步讓學(xué)生分組討論,如果是0-1背包問題,以上實例用貪心算法是否能夠得到最優(yōu)解。經(jīng)過學(xué)生討論后,通過邊啟發(fā)邊講解的方式指出,對于該實例如果是0-1背包問題,貪心算法裝入背包的價值為190元,但最優(yōu)值是220元。最后結(jié)合以上實例指出,貪心算法并不一定能夠讓所有的問題都能得到整體最優(yōu)解,貪心算法是否能夠得到一個問題的優(yōu)化解,需要經(jīng)過嚴格的證明。
在學(xué)生掌握基本概念的基礎(chǔ)上,以應(yīng)用范例的方式對所學(xué)的知識進行進一步鞏固。在PPT上展示“活動安排問題”范例,并對活動安排問題的問題描述做詳細講解,在此過程中可以邊舉例、邊講解、邊提問,這樣能夠充分讓學(xué)生參與到課堂教學(xué)中,加深學(xué)生對活動安排問題的理解。
在學(xué)生充分理解活動安排問題的基礎(chǔ)上,讓學(xué)生結(jié)合背包問題思考如何用貪心算法思想解決活動安排問題。經(jīng)過學(xué)生思考后,以提問的方式了解學(xué)生對該問題的解題思路,并基于學(xué)生的反饋結(jié)果,對該問題進行講解。在講解過程中,應(yīng)以逐步引導(dǎo)的方式指出,對于該問題的貪心思想可描述如下:為了能夠選擇出最多的相容活動,每次對活動進行選擇時,應(yīng)選擇活動結(jié)束時間最少的活動,這樣才能使剩余的可安排活動時間盡可能地極大化,以便接待更多的相容活動。在指出該問題的貪心思想后,給出該問題的貪心算法描述,并對算法的描述進行詳細的解析,在解析過程中,可以結(jié)合具體活動安排的實例進行講解,以便學(xué)生對算法的描述能夠獲得更深層次的理解。在給出算法的描述后,以提問的方式讓學(xué)生對算法的時間復(fù)雜性進行分析,這樣不但能夠復(fù)習(xí)時間復(fù)雜性的分析理論、方法以及技術(shù),還能進一步加深學(xué)生對活動安排問題算法思想的理解。
最后,設(shè)置思考環(huán)節(jié),讓學(xué)生思考如何對活動安排問題的貪心算法的正確性進行證明,經(jīng)過學(xué)生思考后,給出相應(yīng)的證明。此環(huán)節(jié)不但能夠讓學(xué)生多方位參與到教學(xué)活動中,從而掌握相關(guān)知識、高質(zhì)量完成課程學(xué)習(xí),還能在一定程度上培養(yǎng)學(xué)生的創(chuàng)新能力。
2.5 后測
在后測環(huán)節(jié),通過練習(xí)題的方式檢驗是否達到學(xué)習(xí)目標。在做練習(xí)題之前,首先讓學(xué)生總結(jié)貪心算法與動態(tài)規(guī)劃算法的相同之處與不同之處,進一步給出如下習(xí)題:有一批集裝箱需要裝到一艘載重量為G 的輪船。在這些集裝箱中,每個集裝箱都有相應(yīng)的重量,第n 個集裝箱的重量可表示為wn,在裝載體積沒有受限制的情況下,應(yīng)如何裝載才能將盡可能多的集裝箱裝上輪船。
2.6 總結(jié)
在總結(jié)環(huán)節(jié),利用PPT展示的方式總結(jié)本節(jié)課的主要內(nèi)容。首先,圍繞應(yīng)用范例活動安排問題對貪心算法的概念、貪心算法的基本要素、貪心算法設(shè)計策略等內(nèi)容進行概括,以此來加深學(xué)生對相關(guān)知識的記憶;其次,讓學(xué)生自我總結(jié)學(xué)習(xí)收獲以及學(xué)習(xí)心得,以作業(yè)形式上交,這樣有助于幫助教師掌握學(xué)生在本次課的收獲,以便為后續(xù)教學(xué)做準備,從而達到進一步提高教學(xué)質(zhì)量的目標。
3 應(yīng)用反思
探索更加高效的算法設(shè)計與分析課程教學(xué)模式,一直都是計算機科學(xué)與技術(shù)、物聯(lián)網(wǎng)工程、軟件工程等相關(guān)專業(yè)教師努力的方向之一。當(dāng)BOPPPS教學(xué)模型應(yīng)用到算法設(shè)計與分析課程教學(xué)活動中,要達成高質(zhì)量的教學(xué)目標,還應(yīng)注意以下幾個要點:1) 無論是教師還是學(xué)生,在課前都要做好充分的教學(xué)準備。2) 要做到有效的課程導(dǎo)入。3) 能夠讓學(xué)生清晰地明確學(xué)習(xí)目標。4) 要通過學(xué)生目前知識的儲備情況調(diào)整教學(xué)活動的細節(jié)。5) 要充分利用小組討論等方式讓學(xué)生積極參加到教學(xué)活動中。6) 要設(shè)計合理的、有效的教學(xué)效果后側(cè)環(huán)節(jié)。7) 通過總結(jié)環(huán)節(jié)要讓學(xué)生對所學(xué)知識的印象更深刻。8) 在實際教學(xué)活動中,BOPPPS教學(xué)模型的六個環(huán)節(jié)的順序可根據(jù)實際教學(xué)需要進行調(diào)整。
4 結(jié)論
算法設(shè)計與分析是高等院校計算機科學(xué)與技術(shù)、物聯(lián)網(wǎng)工程、軟件工程等專業(yè)教學(xué)中的重要課程之一,學(xué)好算法設(shè)計與分析不但能夠鞏固之前所學(xué)過的一些課程,還能為學(xué)生學(xué)習(xí)后續(xù)相關(guān)課程打下堅實的基礎(chǔ)。為了達到提高算法設(shè)計與分析課程教學(xué)質(zhì)量的目標,文章以“貪心算法”為例,將BOPPPS教學(xué)模型應(yīng)用到算法設(shè)計與分析的實際教學(xué)活動中,在實際教學(xué)中BOPPPS教學(xué)模型更強調(diào)的是將學(xué)生作為教學(xué)活動過程中的主體身份,能夠有效地將學(xué)生在學(xué)習(xí)過程中的被動接受轉(zhuǎn)變?yōu)橹鲃訁⑴c;除此之外,BOPPPS教學(xué)模型還為教師在教學(xué)活動過程中提供了具體的實施步驟,這樣不僅讓教師明確了在課前備課過程中需要做哪些準備,還能夠讓整個教學(xué)活動更加系統(tǒng)化、條理化、完備化。綜上,將BOPPPS教學(xué)模型應(yīng)用到實際的教學(xué)活動中,更能充分調(diào)動學(xué)生學(xué)習(xí)課程相關(guān)知識的積極性,增強學(xué)生主動學(xué)習(xí)課程相關(guān)知識的欲望,從而高效地提升教師的講授效果以及學(xué)生的學(xué)習(xí)效果,進一步達到提高教學(xué)質(zhì)量的目標。