摘要:以學(xué)生為中心的教學(xué)理念是課程設(shè)計(jì)的關(guān)鍵。本研究基于BOPPPS模型對(duì)程序設(shè)計(jì)中的“函數(shù)的定義與使用”一節(jié)進(jìn)行了創(chuàng)新性教學(xué)設(shè)計(jì)。此設(shè)計(jì)通過(guò)一項(xiàng)繪制五星紅旗的任務(wù)來(lái)增強(qiáng)學(xué)生的計(jì)算思維和問(wèn)題解決技巧。文章清晰地界定了三維教學(xué)目標(biāo),深入分析了教學(xué)內(nèi)容,并確定了教學(xué)重難點(diǎn)及解決策略。整個(gè)教學(xué)過(guò)程嚴(yán)格遵循BOPPPS的6個(gè)階段,旨在激發(fā)學(xué)生的主動(dòng)學(xué)習(xí)興趣,并確保他們能夠全程積極參與。
關(guān)鍵詞:程序設(shè)計(jì)教學(xué);BOPPPS模型;項(xiàng)目式學(xué)習(xí)(PBL);課程思政
中圖分類(lèi)號(hào):G642.421 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2024)24-0139-03
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID)
0 引言
在信息化時(shí)代,計(jì)算機(jī)編程教育已成為培養(yǎng)學(xué)生創(chuàng)新能力和邏輯思維的重要途徑。而當(dāng)前教學(xué)模式仍存在強(qiáng)調(diào)知識(shí)的講授、記憶,缺少課堂互動(dòng)和學(xué)生的主動(dòng)學(xué)習(xí),不符合以學(xué)生為中心的教學(xué)理念。為此,本文選取Python程序設(shè)計(jì)中“函數(shù)的定義與使用”一節(jié),基于BOPPPS模型進(jìn)行教學(xué)設(shè)計(jì),通過(guò)項(xiàng)目式學(xué)習(xí)(PBL)的形式,以繪制標(biāo)準(zhǔn)的五星紅旗為任務(wù)主線(xiàn),設(shè)置螺旋遞增目標(biāo)和學(xué)習(xí)支架,支持學(xué)生全程參與和即時(shí)反饋,促進(jìn)課堂教學(xué)的提質(zhì)增效。
1 總體設(shè)計(jì)
1.1 教學(xué)目標(biāo)
1)知識(shí)與技能目標(biāo)。在對(duì)“繪制五星紅旗”這一具體任務(wù)的分析、拆解和代碼優(yōu)化過(guò)程中,了解函數(shù)在代碼復(fù)用中的作用;掌握函數(shù)的定義和調(diào)用方法;掌握位置參數(shù)、關(guān)鍵字參數(shù)及其使用方法;能夠靈活使用自定義函數(shù)解決實(shí)際問(wèn)題。此外,學(xué)生在理解計(jì)算機(jī)解決問(wèn)題的一般過(guò)程中,獲得自頂向下分解問(wèn)題和自下面上而向上解決問(wèn)題的能力;能夠借助工具分析、發(fā)現(xiàn)求解規(guī)律,抽象問(wèn)題模型;不斷地練習(xí)實(shí)踐,提高代碼實(shí)現(xiàn)能力。
2)過(guò)程與方法目標(biāo)。課前,通過(guò)《學(xué)習(xí)手冊(cè)》引導(dǎo)學(xué)生開(kāi)展自主學(xué)習(xí),逐步養(yǎng)成“帶著問(wèn)題來(lái)上課”的良好學(xué)習(xí)習(xí)慣[1]。課中,通過(guò)具體任務(wù)目標(biāo)的下發(fā),讓學(xué)生明確課程目標(biāo)的同時(shí),在任務(wù)解決的詳細(xì)剖析過(guò)程中逐步形成對(duì)計(jì)算機(jī)解決問(wèn)題的一般方法的感性認(rèn)知,通過(guò)觀察、交流、實(shí)踐等方法分析問(wèn)題,抽象模型,從而解決實(shí)際問(wèn)題。課后,通過(guò)練習(xí)實(shí)踐和知識(shí)拓展的方式夯實(shí)編程基礎(chǔ)知識(shí),拓寬知識(shí)應(yīng)用邊界,讓一節(jié)課成為學(xué)習(xí)的起點(diǎn),深化思想、提高技能。
3)情感態(tài)度與價(jià)值觀目標(biāo)。以“五星紅旗誕生的故事”激發(fā)學(xué)生的愛(ài)國(guó)情感,將枯燥的函數(shù)知識(shí)通過(guò)“繪制五星紅旗”這一任務(wù)來(lái)引出和實(shí)踐,幫助學(xué)生從視覺(jué)上直觀感受代碼書(shū)寫(xiě)的問(wèn)題所在。五星紅旗和常見(jiàn)函數(shù)都是學(xué)生們熟悉的內(nèi)容,通過(guò)“不是專(zhuān)業(yè)的就不能?chē)L試設(shè)計(jì)國(guó)旗了嗎?”“你是否知道五星紅旗有嚴(yán)格的制法規(guī)則?”“我們使用過(guò)非常多的Python內(nèi)建函數(shù),你真的會(huì)用函數(shù)了嗎?”等一系列課堂發(fā)問(wèn)引導(dǎo)學(xué)生反思:凡事都存在我們熟悉的一面和陌生的一面,不要因?yàn)槭煜ざp視,不要因?yàn)槟吧窇帧W鳛轭A(yù)備警官,應(yīng)當(dāng)從現(xiàn)在做起,嚴(yán)守規(guī)則、按章辦事,并腳踏實(shí)地、提升本領(lǐng),練就勇?lián)?zé)任使命的品質(zhì)和能力。
1.2 學(xué)情分析
1)知識(shí)儲(chǔ)備。學(xué)生在學(xué)習(xí)本課程之前沒(méi)有編程基礎(chǔ)。通過(guò)前幾次課程的學(xué)習(xí),學(xué)生已經(jīng)掌握了Python的三大基本結(jié)構(gòu)和Turtle畫(huà)圖相關(guān)知識(shí),為本節(jié)課函數(shù)的學(xué)習(xí)奠定了知識(shí)基礎(chǔ)。
2)能力水平。通過(guò)前期課程的學(xué)習(xí),學(xué)生能夠熟練使用IDLE進(jìn)行Python編程,能夠自主進(jìn)行代碼編寫(xiě)和調(diào)試工作,但缺乏自主分析問(wèn)題、設(shè)計(jì)解決方案、實(shí)施方案和評(píng)估結(jié)果的能力,需要在老師引導(dǎo)下累積實(shí)踐經(jīng)驗(yàn),掌握解決問(wèn)題的一般方法與步驟。
3)心理特征。學(xué)生已基本明確了學(xué)習(xí)方向,具備一定的自律能力和自主學(xué)習(xí)意識(shí)。隨著課程難度增加,不少學(xué)生會(huì)因此產(chǎn)生挫敗感和厭煩情緒。但好在青年人的可塑性較強(qiáng),容易受到正向激勵(lì)的影響,因此適宜從他們所熟知的內(nèi)容入手,結(jié)合實(shí)際需求展開(kāi)新課內(nèi)容的學(xué)習(xí),減少學(xué)生的抵觸情緒。
1.3 教學(xué)分析
1)內(nèi)容分析。本節(jié)內(nèi)容選自《Python語(yǔ)言程序設(shè)計(jì)基礎(chǔ)(第2版)》第五章函數(shù)和代碼復(fù)用第一、二節(jié)與第八章程序設(shè)計(jì)方法論第一、二節(jié)內(nèi)容[2]。教材中對(duì)函數(shù)知識(shí)的介紹由淺入深,從函數(shù)的基本概念到定義和調(diào)用,從函數(shù)的參數(shù)傳遞到返回值,從函數(shù)的遞歸到內(nèi)置函數(shù),實(shí)現(xiàn)了知識(shí)螺旋式上升的教材難度編排要求。通過(guò)對(duì)教材的整體分析發(fā)現(xiàn),第五章內(nèi)容與第八章內(nèi)容有交疊,且考慮到課時(shí)少的問(wèn)題,將兩章部分內(nèi)容進(jìn)行了重構(gòu)。本節(jié)課的教學(xué)內(nèi)容,如圖1所示。
以“熟悉的陌生人”為題串聯(lián)起五星紅旗和函數(shù),通過(guò)對(duì)“繪制五星紅旗”的分析引出函數(shù)在代碼復(fù)用中的作用。首先解決繪制五角星的問(wèn)題,引出函數(shù)的基本概念和函數(shù)定義的語(yǔ)法規(guī)則。其次要分析五星紅旗上所有五角星的特點(diǎn),抽象出問(wèn)題求解模型,提煉參數(shù)傳遞的意義和方法。通過(guò)任務(wù)目標(biāo)的需求引出知識(shí)目標(biāo),任務(wù)目標(biāo)的達(dá)成也就檢驗(yàn)了知識(shí)目標(biāo)的達(dá)成。本節(jié)課雖是函數(shù)學(xué)習(xí)的第一課,但不僅僅是在講授Python語(yǔ)法基礎(chǔ)知識(shí),更是在為后續(xù)的模塊化編程、算法入門(mén)以及人工智能課程做好知識(shí)鋪墊。
2)教學(xué)重點(diǎn):函數(shù)的定義與函數(shù)調(diào)用。解決方法:講練結(jié)合,對(duì)學(xué)生普遍存在的問(wèn)題進(jìn)行重點(diǎn)強(qiáng)調(diào)。由易到難,結(jié)合“繪制五星紅旗”的實(shí)例,通過(guò)函數(shù)繪制不同大小的五角星,再到繪制不同位置、不同角度的五角星,層層遞進(jìn)。
3)教學(xué)難點(diǎn):從問(wèn)題抽象到函數(shù)定義。解決方法:觀察加討論,觀察國(guó)旗中所有繪制五角星的代碼,找到不同之處,討論這些不同之處決定了五角星的什么屬性,從而抽象出函數(shù)的形參原型。最后結(jié)合語(yǔ)法規(guī)則完成函數(shù)的定義。
2 教學(xué)過(guò)程設(shè)計(jì)
基于BOPPPS教學(xué)模型,本節(jié)將詳細(xì)闡述“函數(shù)的定義與使用”這一小節(jié)的教學(xué)過(guò)程設(shè)計(jì)[3-4],如圖2所示。通過(guò)精心組織的教學(xué)活動(dòng)、教學(xué)方法和教學(xué)資源,旨在幫助學(xué)生深入理解函數(shù)的本質(zhì),并熟練運(yùn)用函數(shù)進(jìn)行編程實(shí)踐。
2.1 導(dǎo)入/暖場(chǎng)(Bridge-in)
在導(dǎo)入階段,設(shè)計(jì)了兩個(gè)主要活動(dòng),旨在激發(fā)學(xué)生的學(xué)習(xí)興趣并為新課內(nèi)容做好鋪墊。首先,提前通過(guò)預(yù)習(xí)材料引導(dǎo)學(xué)生對(duì)前序知識(shí)進(jìn)行回顧,并預(yù)習(xí)本節(jié)內(nèi)容。這些預(yù)習(xí)材料涵蓋了程序的控制結(jié)構(gòu)、turtle繪圖等前序知識(shí)要求和查閱《國(guó)旗法》完成五星紅旗代碼補(bǔ)全等關(guān)鍵任務(wù),以電子文檔的形式通過(guò)學(xué)習(xí)通App發(fā)布,供學(xué)生隨時(shí)隨地預(yù)習(xí)和復(fù)習(xí)。通過(guò)這一環(huán)節(jié),學(xué)生能夠在課前對(duì)新課內(nèi)容有一個(gè)初步的了解,從而更好地跟上課堂節(jié)奏。其次,為了進(jìn)一步增強(qiáng)學(xué)生的學(xué)習(xí)興趣和動(dòng)力,課前利用短片介紹了五星紅旗的背景故事。這一環(huán)節(jié)不僅讓學(xué)生了解了五星紅旗的誕生過(guò)程,還巧妙地引出了本節(jié)課的項(xiàng)目主題——使用Python繪制一面標(biāo)準(zhǔn)的五星紅旗。通過(guò)這種方式,學(xué)生的學(xué)習(xí)興趣和愛(ài)國(guó)情懷得到了激發(fā),為后續(xù)新課內(nèi)容的學(xué)習(xí)打下了基礎(chǔ)。
2.2 學(xué)習(xí)目標(biāo)/結(jié)果(Objectiveor/Outcome)
為確保學(xué)生在學(xué)習(xí)過(guò)程中有明確的方向和目標(biāo),教師需向?qū)W生清晰地展示本節(jié)課的學(xué)習(xí)目標(biāo),包括知識(shí)與技能目標(biāo)、過(guò)程與方法目標(biāo)以及情感態(tài)度與價(jià)值觀目標(biāo)。在《學(xué)習(xí)手冊(cè)》的課前部分已明確列出了這些目標(biāo),一方面有利于學(xué)生清晰了解本節(jié)課的知識(shí)、重點(diǎn)、價(jià)值及能力要求,另一方面便于他們課后對(duì)照目標(biāo)進(jìn)行自我評(píng)估。在課堂上,教師進(jìn)一步向?qū)W生解釋說(shuō)明如何通過(guò)本節(jié)課的活動(dòng)來(lái)實(shí)現(xiàn)這些目標(biāo)。此外,教師在教學(xué)過(guò)程中也會(huì)強(qiáng)調(diào)教學(xué)重難點(diǎn)內(nèi)容,并結(jié)合項(xiàng)目開(kāi)展促進(jìn)課程思政目標(biāo)的達(dá)成。
2.3 前測(cè)(Pre-assessment)
前測(cè)階段是對(duì)學(xué)生課前學(xué)習(xí)情況的評(píng)估,同時(shí)也是教師調(diào)整教學(xué)策略的重要依據(jù)。在此階段,教師通過(guò)巡視和提問(wèn)的方式對(duì)學(xué)生的預(yù)習(xí)情況和前序知識(shí)的掌握程度進(jìn)行了全面了解。在巡視過(guò)程中,我們仔細(xì)觀察了學(xué)生的預(yù)習(xí)筆記和課前練習(xí)題的完成率,對(duì)他們的學(xué)習(xí)狀況有了初步的了解。同時(shí),我們還通過(guò)提問(wèn)的方式檢驗(yàn)了學(xué)生對(duì)前序知識(shí)的掌握情況。
根據(jù)學(xué)生的反饋,教師要適時(shí)調(diào)整教學(xué)難度和進(jìn)度。對(duì)于掌握較好的學(xué)生,可以適當(dāng)增加了教學(xué)難度,額外提供了更具挑戰(zhàn)性的學(xué)習(xí)任務(wù);而對(duì)于掌握較差的學(xué)生,則加強(qiáng)了基礎(chǔ)知識(shí)的講解和練習(xí),幫助他們打好基礎(chǔ)。這一環(huán)節(jié)的實(shí)施,不僅有助于教師更好地把握學(xué)生的學(xué)習(xí)狀況,還為后續(xù)的因材施教提供了重要依據(jù)。
2.4 參與式學(xué)習(xí)(Participatory Learning)
參與式學(xué)習(xí)階段是整個(gè)教學(xué)過(guò)程中最為活躍的部分,教師應(yīng)特別注重學(xué)生的主體性和實(shí)踐性[5]。本節(jié)課采用項(xiàng)目式學(xué)習(xí)方法(PBL),通過(guò)師生互動(dòng)和多樣化的教學(xué)策略,促進(jìn)學(xué)生的主動(dòng)學(xué)習(xí)和深入理解。具體活動(dòng)包括:
1)任務(wù)分解與規(guī)律發(fā)現(xiàn)。利用思維導(dǎo)圖引導(dǎo)學(xué)生將繪制五星紅旗的任務(wù)進(jìn)行分解。通過(guò)這一環(huán)節(jié),學(xué)生不僅了解了五星紅旗的標(biāo)準(zhǔn)繪法和繪制步驟,還發(fā)現(xiàn)了其中的規(guī)律,并順利引出了函數(shù)的概念。
2)概念闡釋與類(lèi)比。通過(guò)類(lèi)比和實(shí)例演示的方式詳細(xì)講解了函數(shù)的概念、功能和語(yǔ)法規(guī)則。在類(lèi)比過(guò)程中,將函數(shù)比作“辦公機(jī)器”,輸入特定參數(shù)后即可得到相應(yīng)的輸出結(jié)果,幫助學(xué)生建立起對(duì)函數(shù)概念的直觀理解。
3)編程實(shí)踐與概念補(bǔ)充。利用學(xué)習(xí)通App發(fā)布練習(xí)題,要求學(xué)生將《學(xué)習(xí)手冊(cè)》中的繪制五角星程序改寫(xiě)為自定義函數(shù)形式。教師在巡視過(guò)程中總結(jié)學(xué)生的共性問(wèn)題,并展示參考程序,簡(jiǎn)單說(shuō)明函數(shù)的調(diào)用方法,引出形參和實(shí)參的概念。
4)主題討論與知識(shí)遷移。利用學(xué)習(xí)通App發(fā)布主題討論,并通過(guò)詞云展示學(xué)生答案,以促進(jìn)學(xué)生之間的交流和思維碰撞??偨Y(jié)得出繪制五角星函數(shù)所需的參數(shù),引導(dǎo)學(xué)生將知識(shí)點(diǎn)從簡(jiǎn)單問(wèn)題遷移到復(fù)雜問(wèn)題,進(jìn)而解決大小不同、位置不同、方向不同的五角星繪制問(wèn)題。
5)代碼優(yōu)化與展示。學(xué)生繼續(xù)完善五角星繪制函數(shù)的代碼,教師巡視發(fā)掘“優(yōu)美”代碼并利用學(xué)習(xí)通拍照發(fā)布和點(diǎn)評(píng)。學(xué)生通過(guò)親手優(yōu)化和調(diào)試代碼,能夠更深入地理解函數(shù)的運(yùn)行機(jī)制和使用方法,提高編程能力。
6)參數(shù)概念的深入講解。利用多媒體動(dòng)畫(huà)對(duì)比演示,以5個(gè)五角星的參數(shù)傳遞為例講解位置參數(shù)和關(guān)鍵字參數(shù)的概念和使用注意事項(xiàng),幫助學(xué)生深入理解函數(shù)的參數(shù)傳遞機(jī)制。同時(shí),通過(guò)正確與錯(cuò)誤代碼的對(duì)比,強(qiáng)調(diào)代碼調(diào)試的要點(diǎn),為學(xué)生下一步實(shí)踐打基礎(chǔ)。
7)知識(shí)應(yīng)用與封裝。要求學(xué)生將繪制國(guó)旗的代碼封裝成一個(gè)函數(shù),這一過(guò)程中學(xué)生要思考函數(shù)命名的規(guī)范、參數(shù)的設(shè)計(jì)以及函數(shù)內(nèi)部的邏輯結(jié)構(gòu)。通過(guò)對(duì)同一個(gè)任務(wù)的反復(fù)、遞進(jìn)和加深運(yùn)用,強(qiáng)化學(xué)生對(duì)知識(shí)點(diǎn)的記憶、理解和運(yùn)用,這既是對(duì)前面學(xué)習(xí)內(nèi)容的復(fù)習(xí)和鞏固,也是對(duì)學(xué)生編程能力的進(jìn)一步提升。
2.5 后測(cè)(Post-assessment)
后測(cè)是對(duì)學(xué)生學(xué)習(xí)效果的檢驗(yàn)和反饋,同時(shí)也是教師評(píng)估教學(xué)效果的重要手段。在參與式學(xué)習(xí)階段的每個(gè)小單元完成后,教師通過(guò)學(xué)習(xí)通、巡視和口頭提問(wèn)等方式,檢查學(xué)生的學(xué)習(xí)成效是否達(dá)到預(yù)期目標(biāo),并針對(duì)發(fā)現(xiàn)的問(wèn)題進(jìn)行了重點(diǎn)講解和補(bǔ)充練習(xí)。此外,《學(xué)習(xí)手冊(cè)》的課后環(huán)節(jié)也布置了拓展練習(xí),用以檢測(cè)學(xué)生的學(xué)習(xí)效果。這一階段為教師提供了寶貴的教學(xué)反饋信息,有助于教師對(duì)后續(xù)教學(xué)內(nèi)容和方法進(jìn)行調(diào)整,以便更好地滿(mǎn)足學(xué)生的學(xué)習(xí)需求。
2.6 總結(jié)(Summary)
在教學(xué)過(guò)程的最后階段,教師通過(guò)動(dòng)畫(huà)將函數(shù)定義、函數(shù)調(diào)用、參數(shù)傳遞的知識(shí)點(diǎn)進(jìn)行歸納,并進(jìn)一步總結(jié)和闡述函數(shù)的作用和價(jià)值。這一過(guò)程有助于學(xué)生形成本節(jié)課的知識(shí)圖譜,并加深對(duì)自頂向下設(shè)計(jì)與自底向上執(zhí)行、代碼復(fù)用/模塊化編程等計(jì)算思維的認(rèn)識(shí)和理解。最后布置作業(yè),要求學(xué)生進(jìn)一步繪制國(guó)旗中各五角星的參考線(xiàn),以進(jìn)一步訓(xùn)練學(xué)生的編程能力,同時(shí)強(qiáng)化其規(guī)矩意識(shí)。
3 結(jié)束語(yǔ)
本文基于BOPPPS模型對(duì)一堂程序設(shè)計(jì)課進(jìn)行了教學(xué)重構(gòu),在全流程提供學(xué)習(xí)支架,引導(dǎo)學(xué)生全方位參與主動(dòng)學(xué)習(xí),提高學(xué)習(xí)效果。同時(shí),通過(guò)國(guó)旗誕生的故事和繪制國(guó)旗的任務(wù),開(kāi)展課程思政教育,培養(yǎng)學(xué)生的邏輯思維、創(chuàng)新精神和遵規(guī)守紀(jì)、依規(guī)辦事的規(guī)矩意識(shí)。在后續(xù)研究中將進(jìn)一步完善基于BOPPPS模型的教學(xué)設(shè)計(jì),將以學(xué)生為中心落到實(shí)處。
參考文獻(xiàn):
[1] 王利.線(xiàn)上線(xiàn)下融合背景下高校學(xué)生自主學(xué)習(xí)模式[J].繼續(xù)教育研究,2024(2):81-85.
[2] 嵩天,禮欣,黃天羽.Python語(yǔ)言程序設(shè)計(jì)基礎(chǔ)[M].2版.北京:高等教育出版社,2017.
[3] 王書(shū)全,馬鳴瀟,高慎陽(yáng),等.基于BOPPPS教學(xué)模式的獸醫(yī)免疫學(xué)試驗(yàn)課程思政設(shè)計(jì)與實(shí)踐——以炭疽診斷及皮毛檢疫試驗(yàn)為例[J].中國(guó)免疫學(xué)雜志,2023,39(6):1199-1202.
[4] 董桂偉,趙國(guó)群,管延錦,等.基于雨課堂和BOPPPS模型的有效教學(xué)模式探索——以“材料物理化學(xué)” 課程為例[J].高等工程教育研究,2020(5):176-182.
[5] 武治國(guó).以學(xué)生為主體的思政課教學(xué)研究——評(píng)《思政課學(xué)生主體實(shí)踐性教學(xué)研究》[J].教育發(fā)展研究,2018,38(24):87.
【通聯(lián)編輯:聞翔軍】