




摘要:廣度優(yōu)先搜索是培養(yǎng)學(xué)生計算思維的重要算法。BOPPPS 教學(xué)模式通過6個階段有效提高了課程教學(xué)質(zhì)量。文章結(jié)合 BOPPPS 模型設(shè)計了廣度優(yōu)先搜索算法的教學(xué)方法,并將其應(yīng)用于實際教學(xué)。結(jié)果表明,該方法有效激發(fā)了學(xué)生的學(xué)習(xí)興趣,促進了學(xué)生主動參與課堂學(xué)習(xí),提升了教學(xué)質(zhì)量。
關(guān)鍵詞: BOPPPS模型;廣度優(yōu)先搜索;算法教學(xué);教學(xué)設(shè)計;參與式學(xué)習(xí)
中圖分類號:G642 文獻標(biāo)識碼:A
文章編號:1009-3044(2025)02-0030-04 開放科學(xué)(資源服務(wù)) 標(biāo)識碼(OSID) :
0 引言
算法設(shè)計與分析課程是高等院校軟件工程、計算機科學(xué)與技術(shù)等專業(yè)的核心專業(yè)課程,是在數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計基礎(chǔ)等重要基礎(chǔ)理論課程的基礎(chǔ)上開設(shè)的,更加注重理論與實踐的結(jié)合,強調(diào)對學(xué)生分析問題、解決問題等能力的綜合培養(yǎng)。特別是在人工智能技術(shù)廣泛應(yīng)用的今天,算法作為人工智能的核心技術(shù),在各個領(lǐng)域發(fā)揮著越來越重要的作用,與人們的日常生活息息相關(guān)。在傳統(tǒng)的教學(xué)模式下,算法課程由于知識體系龐大、內(nèi)容抽象且復(fù)雜、正確性的數(shù)學(xué)證明枯燥難懂,學(xué)生很難理解和掌握。學(xué)生在課堂上往往昏昏欲睡、竊竊私語,教師無法吸引學(xué)生的注意力,從而達不到有效教學(xué)的目的。如何激發(fā)學(xué)生學(xué)習(xí)算法的興趣,提高學(xué)生的課堂參與度,與教師的教學(xué)方法息息相關(guān)。本文以“廣度優(yōu)先搜索”算法為例,探討 BOPPPS 教學(xué)模式在算法設(shè)計與分析課程教學(xué)活動中的應(yīng)用效果,以進一步提高該課程的教學(xué)質(zhì)量,使學(xué)生能夠獲得更好的學(xué)習(xí)效果。
1 BOPPPS 模型介紹
BOPPPS 是一種基于體驗式學(xué)習(xí)的教學(xué)模式,通過 BOPPPS 教師可以有效地組織課堂教學(xué)工作[1-4]。BOPPPS 非常重視教學(xué)過程的構(gòu)建,將傳統(tǒng)的教學(xué)過程分為六個階段,它們分別是:導(dǎo)入(Bridge-in) 、學(xué)習(xí)目標(biāo)(Objective) 、前測(Pre-assessment) 、參與式學(xué)習(xí)(Participatory Learning) 、后測(Post-assessment) 和總結(jié)(Summary) 。導(dǎo)入階段主要作用是使學(xué)生了解課程的主題,知道課程的重要性,可以運用新聞報道、論據(jù)、驚人數(shù)據(jù)、趣味圖片、經(jīng)歷故事、短文等信息手段吸引學(xué)生的注意力,激發(fā)學(xué)生的興趣。學(xué)習(xí)目標(biāo)為讓學(xué)生了解課程達到的教學(xué)目標(biāo),可以從學(xué)生出發(fā),運用記憶、理解、應(yīng)用、分析、評價、創(chuàng)新等詞匯。前測階段為了解學(xué)生的學(xué)習(xí)興趣和已有知識,以及學(xué)生對基礎(chǔ)知識的掌握情況,可以采用問答、選擇、分享等教學(xué)手段。參與式學(xué)習(xí)可以通過設(shè)置討論話題,形成師生之間、生生之間不同形式的互動,讓學(xué)生以多種方式參與教學(xué),掌握知識,高質(zhì)量完成課程。后測階段主要為檢驗學(xué)生的學(xué)習(xí)效果,評價學(xué)生是否達到學(xué)習(xí)目標(biāo),并拓展學(xué)生的知識面,可以采用選擇、判斷、簡答或作文等不同測試形式。總結(jié)階段是對本節(jié)課內(nèi)容的回顧,幫助學(xué)生梳理,引導(dǎo)學(xué)生反思,并做適當(dāng)延伸,預(yù)告下節(jié)課內(nèi)容,可以利用思維導(dǎo)圖、知識樹、論壇分享等手段總結(jié)重點內(nèi)容,布置作業(yè),同時拓展思維。
BOPPPS 模式強調(diào)學(xué)生應(yīng)超越單純地聽講,進行全方位的參與式學(xué)習(xí)。教師要及時根據(jù)學(xué)生的反饋,調(diào)整后續(xù)教學(xué)活動,順利完成教學(xué)目標(biāo)。在課堂教學(xué)過程中運用 BOPPPS 模式,教師可以充分運用靈活多樣的教學(xué)方法,積極鼓勵學(xué)生參與教學(xué)過程,使學(xué)生能對所學(xué)知識有更深刻的理解。
2 廣度優(yōu)先搜索介紹
廣度優(yōu)先搜索(Breadth-first search,BFS) 是最簡單的圖搜索算法之一[5],許多重要的圖算法,例如單源最短路徑算法(Dijkstra) 和最小生成樹算法(Prim) ,都使用了類似廣度優(yōu)先搜索的思想。BFS 算法的基本思想是,從起始節(jié)點出發(fā),逐層遍歷圖中的節(jié)點,并將未訪問的鄰居節(jié)點加入到下一層,故該算法是將已訪問結(jié)點和未訪問結(jié)點之間的邊界,沿其廣度方向向外擴展。
3 基于 BOPPPS 模型的廣度優(yōu)先搜索算法教學(xué)設(shè)計
BOPPPS 模式是近年來國內(nèi)外流行的以學(xué)生為中心的教學(xué)模式,它強調(diào)學(xué)生的參與和及時地教學(xué)反饋。據(jù)此,本文以廣度優(yōu)先搜索為例,將BOPPPS教學(xué)模型應(yīng)用到教學(xué)活動中。
3.1 導(dǎo)入(Bridge-in)
有效的課程導(dǎo)入能夠調(diào)動學(xué)生的學(xué)習(xí)興趣,集中他們的注意力。因此,最重要的是設(shè)計要精彩。廣度優(yōu)先搜索算法在生活中有很多有趣的應(yīng)用,在教學(xué)中,首先引入如下問題,激發(fā)學(xué)生學(xué)習(xí)的欲望:
問題1:你準(zhǔn)備購買一批魚,不幸的是,不是所有的魚都能和平共處,其中一些魚會吃另一些魚。對于每一對魚,你知道它們是否能和平共處。假設(shè)你有兩個很大的魚缸,如何將魚分開,放在兩個魚缸里,每個魚缸里的魚都能和平共處,不會有魚被吃掉的情況發(fā)生。
利用具有實際應(yīng)用背景的問題,可以激發(fā)學(xué)生的學(xué)習(xí)興趣,并幫助學(xué)生理解如何將課堂知識應(yīng)用到現(xiàn)實生活中。
3.2 學(xué)習(xí)目標(biāo)(Objective)
目標(biāo)是學(xué)習(xí)的目的,也是激發(fā)學(xué)生學(xué)習(xí)動機的關(guān)鍵。它必須是明確的,可以評價的。在引入廣度優(yōu)先搜索概念時,我們應(yīng)立即告知學(xué)生學(xué)習(xí)目的,讓學(xué)生帶著目的去學(xué)習(xí),明確重點和難點。并針對重點和難點設(shè)計相應(yīng)的教學(xué)方案。廣度優(yōu)先搜索的學(xué)習(xí)目標(biāo)包括以下幾個方面:
(1) 知識目標(biāo):了解BFS的概念;掌握BFS的基本要素;了解BFS的設(shè)計策略。
(2) 能力目標(biāo):能夠利用BFS解決實際問題。
(3) 情感目標(biāo):通過學(xué)習(xí),培養(yǎng)學(xué)生嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度、獨立思考的能力、分析問題解決問題的能力以及創(chuàng)新的能力。
3.3 前測(Pre-assessment)
前測是對學(xué)生掌握本節(jié)課所需知識的檢測。在前測環(huán)節(jié),可以通過提問了解學(xué)生對之前所學(xué)知識的掌握情況以及對將要學(xué)習(xí)知識的預(yù)習(xí)情況。這一過程還能幫助學(xué)生鞏固所學(xué)的相關(guān)知識,以及幫助教師更好地調(diào)整后續(xù)教學(xué)的細(xì)節(jié),從而實現(xiàn)提高教學(xué)質(zhì)量的目標(biāo)。
(1) 考查學(xué)生復(fù)習(xí)情況
問題2:在泰州學(xué)院,你需要選修很多課程,其中有些課程是相互依賴的。例如,在選修B課程之前,您必須先選修A課程。給定一組你需要選修的課程,以及哪門課是哪門課的先修課程的信息,生成一個選修所有課程的順序。假設(shè)每次只能選一門課。
之前已經(jīng)學(xué)習(xí)了深度優(yōu)先搜索(Depth-firstsearch,DFS) ,這個問題考查學(xué)生對DFS的掌握,可以通過DFS解決。
(2) 考查學(xué)生的預(yù)習(xí)情況
問題3:有7個人,A、B、C、D、E、F、G,關(guān)系如圖1 所示。假設(shè)“A度”指其他人與A之間的分離度。例如,A的“A度”為 0。如果B 與A認(rèn)識(即B與A之間有連線) ,則B的“A度”為 1。如果C與B 認(rèn)識,B與A 認(rèn)識(C與A之間沒有連線) ,那么C的“A度”為 2。 以此類推。
(a) E的“A度”是多少?
(b) 列出所有“A度”等于 3的人。
3.4 參與式學(xué)習(xí)(Participatory Learning)
參與式學(xué)習(xí)既是BOPPPS模式中保證教學(xué)效果的核心環(huán)節(jié),也是教學(xué)的主要環(huán)節(jié),重在提高學(xué)生的參與度。在每個教學(xué)階段,教師的引導(dǎo)和學(xué)生的參與情況如表1所示。
表1教學(xué)設(shè)計可以有效培養(yǎng)學(xué)生獨立思考的基本能力,同時加強對學(xué)生交流能力、語言表達能力等綜合素質(zhì)的培養(yǎng),并在一定程度上培養(yǎng)學(xué)生的創(chuàng)新能力。在參與式學(xué)習(xí)階段,通過舉例、提問、講解等方式,激發(fā)學(xué)生主動學(xué)習(xí)的興趣,讓學(xué)生充分參與課堂教學(xué)中,加深學(xué)生對廣度優(yōu)先搜索算法的理解,高質(zhì)量地完成課程學(xué)習(xí)。
3.5 后測(Post-assessment)
后測是為了解課堂內(nèi)容的學(xué)習(xí)效果,通過練習(xí)題的方式檢驗是否達到學(xué)習(xí)目標(biāo)。不僅考查了基礎(chǔ)知識點,還考查了靈活運用。這樣既能激發(fā)學(xué)生的學(xué)習(xí)興趣,又能有效地考核學(xué)習(xí)目標(biāo)。給出如下習(xí)題:
后測是為了解課堂內(nèi)容的學(xué)習(xí)效果,通過練習(xí)題的方式檢驗是否達到學(xué)習(xí)目標(biāo)。不僅考查了基礎(chǔ)知識點,還考查了靈活運用。這樣既能激發(fā)學(xué)生的學(xué)習(xí)興趣,又能有效地考核學(xué)習(xí)目標(biāo)。給出如下習(xí)題:
3.6 總結(jié)(Summary)
總結(jié)是為了幫助學(xué)生梳理課堂教學(xué)內(nèi)容,并進行拓展延伸。首先,總結(jié)本節(jié)課BFS算法的基本概念、時間復(fù)雜度;重點理解遍歷i 層所有結(jié)點,將其未訪問的鄰居添加到i+1層;并能夠解決BFS的一些應(yīng)用問題:求最短路徑、圖的連通分量、檢測二分性。隨后,引出后面課程的內(nèi)容。
(1) 用BFS在無向圖找連通分量,如何在有向圖找強連通分量?
(2) 用BFS在未加權(quán)圖(或者理解為所有邊的權(quán)重都是1) 求最短路徑,如何在加權(quán)圖(邊的權(quán)重不為1) 求最短路徑?
留預(yù)習(xí)的問題可以提高學(xué)生探索求知的興趣,為后續(xù)教學(xué)做準(zhǔn)備,從而達到進一步提高教學(xué)質(zhì)量的目標(biāo)。
4 結(jié)論
在教學(xué)中要做到以學(xué)生為中心,就必須改進教學(xué)模式,充分調(diào)動學(xué)生的積極性。教學(xué)實踐表明,廣度優(yōu)先搜索算法教學(xué)設(shè)計結(jié)合BOPPPS模式,能有效調(diào)動學(xué)生參與教學(xué)的積極性和主動性,取得了顯著的教學(xué)效果。BOPPPS教學(xué)模型有較廣泛的應(yīng)用前景,其6 個環(huán)節(jié)在實際教學(xué)活動中可根據(jù)實際教學(xué)需要進行調(diào)整,在算法設(shè)計與分析課程中,仍然存在許多難以理解的知識點,可以研究如何利用BOPPPS模型設(shè)計教學(xué)方法,提升教學(xué)質(zhì)量。同時,還可以探索多種教學(xué)方法的合理融合,例如輔以慕課堂教學(xué)資源、鼓勵學(xué)生參加算法競賽等,學(xué)生在課后進行拓展性自主學(xué)習(xí)和實踐,反哺課堂教學(xué),從而獲得更全面完整的學(xué)習(xí)效果。
參考文獻:
[1] 王賀哲.基于BOPPPS教學(xué)模型的算法設(shè)計與分析教學(xué)設(shè)計:以“ 貪心算法” 為例[J].電腦知識與技術(shù),2023,19(20):167-169.
[2] 李穎穎,侯一凡,趙博,等.基于BOPPPS模型的問題迭代教學(xué)方法在并行算法設(shè)計與分析課程中的應(yīng)用[J].計算機教育,2024(6):167-169.
[3] 劉娜.基于BOPPPS模型的混合式教學(xué)研究[J].工業(yè)和信息化教育,2021(8):37-41.
[4] LI J L,ZHANG X B,WANG L,et al.Exploration of recursive al?gorithm teaching based on BOPPPS model[C]//2021 2nd Inter?national Conference on Artificial Intelligence and Education(ICAIE).June 18-20,2021.Dali,China.IEEE,2021:728-731.
[5] THOMAS H. CORMEN, CHARLES E. LEISERSON,RONALD L. RIVEST, CLIFFORD STEIN. Introduction to Al?gorithms[M]. Third Edition MIT Press, 2009.
【通聯(lián)編輯:王 力】