林曉明,李宏貞,梁麗霞
(1.廣東省廣州市南海中學(xué),廣東廣州 510170;2.廣東省廣州市荔灣區(qū)沙面小學(xué),廣東廣州 510170)
2017版《普通高中信息技術(shù)課程標(biāo)準(zhǔn)》強(qiáng)調(diào)教育要面向?qū)W科核心素養(yǎng),而計(jì)算思維是信息技術(shù)四大學(xué)科核心素養(yǎng)之一,是信息技術(shù)學(xué)科教學(xué)首要培養(yǎng)目標(biāo)[1],因此在Python教學(xué)中培養(yǎng)學(xué)生的計(jì)算思維是一項(xiàng)重要的任務(wù)。同時(shí)新課程標(biāo)準(zhǔn)強(qiáng)調(diào)要通過(guò)項(xiàng)目教學(xué)法開(kāi)展教學(xué),突出學(xué)生的實(shí)踐活動(dòng),避免信息知識(shí)的機(jī)械接受,明確指出要緊緊圍繞學(xué)科核心素養(yǎng),把項(xiàng)目整合于課堂教學(xué)中,重構(gòu)教學(xué)組織方式。根據(jù)《廣東省教育廳關(guān)于普通高中體育與健康等科目學(xué)業(yè)水平考試工作的指導(dǎo)意見(jiàn)》,廣東省2020屆及以后的學(xué)生要進(jìn)行信息技術(shù)學(xué)業(yè)水平合格性考試。如何在應(yīng)考的同時(shí),做好Python項(xiàng)目式教學(xué),培養(yǎng)計(jì)算思維,是一線信息技術(shù)教師迫切需要解決的難題。
因此,筆者聯(lián)合科組的教師和廣州市西關(guān)外國(guó)語(yǔ)學(xué)校的教師在2019年申報(bào)了廣東省教育技術(shù)中心課題《基于計(jì)算思維培養(yǎng)的Python項(xiàng)目式教學(xué)策略研究》,對(duì)Python教學(xué)、計(jì)算思維培養(yǎng)和項(xiàng)目式教學(xué)進(jìn)行實(shí)踐探究。經(jīng)過(guò)兩年的實(shí)踐研究,形成了基于計(jì)算思維培養(yǎng)的Python項(xiàng)目式教學(xué)模式。
廣州市所使用的高中信息技術(shù)必修課中Python教學(xué)內(nèi)容主要集中在必修1《數(shù)據(jù)與計(jì)算》,必修2《信息系統(tǒng)與社會(huì)》,在第3單元有利用Python設(shè)計(jì)開(kāi)發(fā)信息系統(tǒng)的內(nèi)容,經(jīng)過(guò)整合梳理,形成了以下幾個(gè)項(xiàng)目(如圖1),在教學(xué)中以這四個(gè)項(xiàng)目主題開(kāi)展Python項(xiàng)目教學(xué),基本不進(jìn)行拓展。主要原因有兩個(gè),一是課時(shí)比較緊張,二是學(xué)生基礎(chǔ)一般。
圖1 書(shū)本Python項(xiàng)目梳理
課題組成員在教學(xué)過(guò)程中,逐漸形成了Python教學(xué)、計(jì)算思維培養(yǎng)和項(xiàng)目式學(xué)習(xí)三位一體的教學(xué)模式(如圖2),并在廣州市南海中學(xué)和廣州市西關(guān)外國(guó)語(yǔ)學(xué)校進(jìn)行了教學(xué)試驗(yàn),效果良好,適合廣州市高中新課程。該教學(xué)模式的特色在于理清了Python項(xiàng)目式學(xué)習(xí)的開(kāi)展流程結(jié)構(gòu),詳細(xì)描述了開(kāi)展的操作步驟,可操作性強(qiáng),便于借鑒使用,創(chuàng)新之處在于提出了范例學(xué)習(xí)的兩種可操作性變式,靈活可用。
圖2 基于計(jì)算思維培養(yǎng)的項(xiàng)目式教學(xué)模式
1.范例學(xué)習(xí)
首先設(shè)計(jì)好項(xiàng)目范例。范例可采用并列反復(fù)式,范例一與范例二是平等的關(guān)系,來(lái)進(jìn)行知識(shí)點(diǎn)的強(qiáng)調(diào)與重復(fù),或強(qiáng)化知識(shí)點(diǎn)的學(xué)習(xí)或重點(diǎn)知識(shí)點(diǎn)的學(xué)習(xí)。如“算法探究”項(xiàng)目,范例一可選擇雞兔同籠問(wèn)題,用解析法和窮舉法兩種方法去解決問(wèn)題,范例二可選擇斐波那契數(shù)列,用遞歸法與迭代法兩種方法去解決問(wèn)題。講完這兩個(gè)范例,相當(dāng)于為學(xué)生打下了基礎(chǔ),剩下的程序留給學(xué)生自主探究學(xué)習(xí),進(jìn)行拓展。范例的學(xué)習(xí)也可以采用遞進(jìn)深入式,范例二是范例一的深入和擴(kuò)展,強(qiáng)調(diào)知識(shí)點(diǎn)的不斷深入與拓展。如“生活問(wèn)題解決”項(xiàng)目,范例一是存款收益,涉及循環(huán)結(jié)構(gòu),范例二是火柴棒擺數(shù)字,不僅涉及循環(huán),還涉及函數(shù)的使用,從難度和知識(shí)點(diǎn)上范例二是范例一的遞進(jìn)深入。在當(dāng)前課時(shí)緊張的情況下,范例學(xué)習(xí)不適宜多,兩個(gè)是最為適宜的。
2.項(xiàng)目學(xué)習(xí)
學(xué)生參照之前學(xué)習(xí)的范例進(jìn)行本項(xiàng)目其他Python作品的制作,也就是編寫(xiě)項(xiàng)目?jī)?nèi)其他程序作品,如在“算法探究”項(xiàng)目中,學(xué)生要完成本項(xiàng)目教師所講的范例程序之外的其他所有程序,必須要經(jīng)過(guò)小組探究,分工完成。這時(shí)學(xué)生開(kāi)展項(xiàng)目學(xué)習(xí)會(huì)存在很多問(wèn)題,首先是存在大大小小的技術(shù)難點(diǎn)。教師幫助學(xué)生解決技術(shù)難點(diǎn)的方法主要有兩個(gè),一是把程序做成半成品,只挖空讓學(xué)生補(bǔ)充完整;二是充分利用微課及Moodle教學(xué)平臺(tái)給學(xué)生搭建腳手架,把技術(shù)難點(diǎn)做成短小精悍的微課,有條理地放在Moodle教學(xué)平臺(tái)上。當(dāng)然學(xué)生也可以回顧范例,舉一反三,也可以上網(wǎng)搜索,詢問(wèn)教師和小組探究。Python作品程序的編寫(xiě),是項(xiàng)目制作階段的重點(diǎn)和難點(diǎn),需要全組所有成員的共同參與,強(qiáng)調(diào)所有成員必須掌握。到后面的研究報(bào)告撰寫(xiě)、項(xiàng)目活動(dòng)記錄、演講PPT的制作,則可以分工合作,讓一個(gè)學(xué)生上網(wǎng)搜索整理本項(xiàng)目有關(guān)的理論知識(shí),另一個(gè)學(xué)生可以在教師給出的模板和參考范例的基礎(chǔ)上進(jìn)行可視化報(bào)告的撰寫(xiě),第三個(gè)學(xué)生可以進(jìn)行項(xiàng)目活動(dòng)記錄表的填寫(xiě),第四個(gè)學(xué)生進(jìn)行演講PPT的制作。經(jīng)實(shí)驗(yàn)研究發(fā)現(xiàn),四個(gè)人一組的小組搭配是最佳的,這樣的小組人人有事干,不多也不少。
3.分享評(píng)價(jià)
學(xué)生按要求提交作品、可視化報(bào)告、項(xiàng)目活動(dòng)記錄表、演講PPT,教師進(jìn)行全班共享,學(xué)生可以自行瀏覽。同時(shí),可以進(jìn)行隨機(jī)抽號(hào)抽取小組上臺(tái)演講,臺(tái)下的學(xué)生可按照教師給出的評(píng)價(jià)標(biāo)準(zhǔn)邊給其他小組評(píng)價(jià)邊聽(tīng)臺(tái)上學(xué)生的演講。最后結(jié)束前,教師對(duì)整個(gè)項(xiàng)目進(jìn)行點(diǎn)評(píng)提升。分享評(píng)價(jià)階段是項(xiàng)目學(xué)習(xí)的點(diǎn)睛之筆,是培養(yǎng)學(xué)生計(jì)算思維最直接的關(guān)鍵環(huán)節(jié)。在這個(gè)環(huán)節(jié),教師要強(qiáng)調(diào)學(xué)生的項(xiàng)目總結(jié)須圍繞本項(xiàng)目主題,如學(xué)生總結(jié)反思“綜合問(wèn)題解決”項(xiàng)目時(shí),要思考用計(jì)算機(jī)來(lái)解決一個(gè)綜合問(wèn)題是怎樣一個(gè)過(guò)程、如何進(jìn)行分析、哪些是關(guān)鍵問(wèn)題,也就是讓學(xué)生總結(jié)軟件開(kāi)發(fā)的基本流程。從而幫助學(xué)生理解計(jì)算思維的本質(zhì)特征,即抽象、設(shè)計(jì)、自動(dòng)化,培養(yǎng)學(xué)生的計(jì)算思維。
對(duì)應(yīng)上面的教學(xué)模式流程路線,教師要進(jìn)行相應(yīng)的實(shí)施操作(如圖3)。
圖3 教學(xué)模式實(shí)施步驟圖
1.項(xiàng)目備課
把書(shū)本的相關(guān)知識(shí)點(diǎn)整理成一個(gè)項(xiàng)目,在依綱靠本的同時(shí),可以對(duì)教材進(jìn)行適當(dāng)改造。如繪制函數(shù)圖像這個(gè)案例可以結(jié)合生活實(shí)際、解決生活問(wèn)題進(jìn)行設(shè)計(jì),設(shè)計(jì)成基于最優(yōu)用電繳費(fèi)方案的電費(fèi)計(jì)算器,或者解決哪種手機(jī)套餐更合理問(wèn)題的手機(jī)費(fèi)用計(jì)算器。備項(xiàng)目時(shí),也要注意如何把計(jì)算思維滲透進(jìn)項(xiàng)目中,強(qiáng)調(diào)不是為學(xué)編程而學(xué)習(xí),而是為鍛煉計(jì)算思維而學(xué)習(xí),強(qiáng)調(diào)舉一反三,強(qiáng)調(diào)解決問(wèn)題的本質(zhì)。同時(shí)也要備學(xué)生,掌握學(xué)生的知識(shí)水平,根據(jù)學(xué)生的學(xué)情來(lái)調(diào)整項(xiàng)目的難度。若學(xué)生水平一般,可把項(xiàng)目程序以挖空的形式讓學(xué)生補(bǔ)充完整,可在項(xiàng)目中提示得更詳細(xì)一點(diǎn);若學(xué)生水平比較高,程序可挖空多一點(diǎn),提示可相對(duì)少一些,甚至可以讓學(xué)生自行編寫(xiě)。項(xiàng)目主題確定好后,最重要的一步是備資源,要花大力氣備資源,為學(xué)生的項(xiàng)目學(xué)習(xí)提供腳手架。首先要把項(xiàng)目范例備出來(lái),把項(xiàng)目活動(dòng)記錄表設(shè)計(jì)出來(lái),把可視化報(bào)告范例設(shè)計(jì)出來(lái),把評(píng)價(jià)標(biāo)準(zhǔn)備好。接著要充分考慮學(xué)生在項(xiàng)目制作過(guò)程中會(huì)遇到哪些技術(shù)難點(diǎn)、會(huì)卡在哪里、需要怎樣的知識(shí)儲(chǔ)備才能順利完成本項(xiàng)目,為此,教師可以提前制作相關(guān)的技術(shù)微課、相關(guān)的范例、清晰標(biāo)注學(xué)生的操作步驟、給予學(xué)生更多提示。
2.范例講解
這里要注意教學(xué)設(shè)計(jì),程序設(shè)計(jì)是一門(mén)枯燥的學(xué)問(wèn),因此要注意興趣導(dǎo)入,或聯(lián)系生活學(xué)習(xí)實(shí)際引入,或游戲引入,或激趣引入,總之要吸引住學(xué)生的眼球。如講斐波那契數(shù)列時(shí),可以先講斐波那契數(shù)列如何神奇,與生活息息相關(guān),從而吸引學(xué)生的興趣。范例講解不能滿堂灌,教師講解時(shí)間要控制在10分鐘以內(nèi),要把課堂的大部分時(shí)間留給學(xué)生自學(xué)探究。教師可以提前準(zhǔn)備好資源,搭建好腳手架,如原理講解可用網(wǎng)絡(luò)視頻,程序分析可制作微課,并根據(jù)學(xué)情設(shè)計(jì)好留白的不完整程序,讓學(xué)生通過(guò)自學(xué)探究可以完成。教師堂上節(jié)省出來(lái)的時(shí)間可以對(duì)學(xué)困生進(jìn)行一對(duì)一的個(gè)性化輔導(dǎo),不讓一個(gè)孩子掉隊(duì)。
3.項(xiàng)目監(jiān)控
教師首先要進(jìn)行項(xiàng)目目標(biāo)的引領(lǐng),強(qiáng)調(diào)本項(xiàng)目的主要目的有兩個(gè):一是探究哪方面的問(wèn)題,如“算法探究”項(xiàng)目重點(diǎn)探究什么是算法?有哪些常用的算法?這些算法的特征和區(qū)別在哪里?碰到一個(gè)新的問(wèn)題應(yīng)該使用什么算法?另一個(gè)是學(xué)習(xí)Python編程知識(shí),這個(gè)項(xiàng)目涉及到了哪些Python語(yǔ)法?用到了哪些Python重點(diǎn)語(yǔ)句和結(jié)構(gòu)?接著教師要進(jìn)行小組分工引導(dǎo),強(qiáng)調(diào)分工合作。接下來(lái)教師重點(diǎn)輔導(dǎo)各小組完成項(xiàng)目程序作品的制作,指導(dǎo)學(xué)生利用教師提供的資源,包括微課和技術(shù)提示,完成作品制作,同時(shí)及時(shí)發(fā)現(xiàn)學(xué)生的難點(diǎn)和卡點(diǎn),及時(shí)進(jìn)行集中講解或者個(gè)別輔導(dǎo)。最后是進(jìn)度監(jiān)控,監(jiān)督每個(gè)小組項(xiàng)目活動(dòng)記錄表、可視化報(bào)告、演講PPT的制作。可以借助Moodle教學(xué)平臺(tái)等技術(shù)手段進(jìn)行監(jiān)控,比如,要求這節(jié)課這個(gè)時(shí)間點(diǎn)要上交作品程序到平臺(tái),另一個(gè)時(shí)間點(diǎn)要提交小組活動(dòng)記錄表,教師登錄平臺(tái)即可查看。
4.評(píng)價(jià)總結(jié)
這一步主要的目標(biāo)是通過(guò)分享對(duì)項(xiàng)目主題進(jìn)行深化、提升、鞏固。教師要求各小組利用Moodle教學(xué)平臺(tái)進(jìn)行共享作品程序及項(xiàng)目活動(dòng)記錄表、可視化報(bào)告、演講PPT,讓學(xué)生依據(jù)教師設(shè)計(jì)的評(píng)價(jià)標(biāo)準(zhǔn)進(jìn)行評(píng)分,同時(shí)組織好各小組的演講,最后教師綜合各小組探究成果,對(duì)知識(shí)點(diǎn)進(jìn)行總結(jié)提升。
該教學(xué)模式要順利實(shí)施,關(guān)鍵在于兩個(gè)方面。一是支撐資源的豐富度和適切性。教師要給學(xué)生足夠的支撐,讓學(xué)生能解決項(xiàng)目制作過(guò)程的難點(diǎn)和卡點(diǎn),教師提供的微課、技術(shù)提示、操作指導(dǎo)要到位、有針對(duì)性、短小精悍,并讓學(xué)生容易獲取。二是項(xiàng)目制作過(guò)程引導(dǎo)監(jiān)控要到位。教師要一步步監(jiān)督引導(dǎo)學(xué)生的制作,要求學(xué)生按時(shí)按點(diǎn)提交過(guò)程性資料,教師要及時(shí)巡查了解各個(gè)小組的進(jìn)度,并給予及時(shí)的督促與幫助。
算法是信息技術(shù)學(xué)科最重要的學(xué)科大概念之一,所以“算法探究”項(xiàng)目是非常重要的一個(gè)Python項(xiàng)目。必修課本涉及以下四個(gè)算法:解析法、窮舉法、迭代法和遞歸法。由于學(xué)生對(duì)于算法基本是零基礎(chǔ),所以教師要在范例講解時(shí),把這四個(gè)算法講得清楚透徹,學(xué)生在后面的項(xiàng)目制作、小組探究時(shí)才能舉一反三,才能深入探究。但是范例講解時(shí)間不宜過(guò)長(zhǎng),否則學(xué)生沒(méi)有時(shí)間進(jìn)行后續(xù)的項(xiàng)目制作、分享評(píng)價(jià)的活動(dòng)。
因此,筆者用一節(jié)課的時(shí)間來(lái)講解“雞兔同籠”范例,并用解析法和窮舉法兩種方法來(lái)求解。講解解析法時(shí),先引導(dǎo)學(xué)生用抬腳法和解方程的人工方式來(lái)進(jìn)行求解,然后指出解析法其實(shí)就是使用數(shù)學(xué)的解析式來(lái)求解問(wèn)題。接著講解窮舉法,借助電子表格列舉出雞兔的所有頭數(shù)和腳數(shù)的方法來(lái)類比窮舉法,指出窮舉法就是把所有的情況列舉出來(lái),符合條件的就是答案。講解完后,分別給出解析法和窮舉法的不完整代碼程序,讓學(xué)生補(bǔ)充完成,并調(diào)試運(yùn)行得到結(jié)果。最后教師再進(jìn)行評(píng)講,公布正確答案,并總結(jié)解析法和窮舉法算法的含義、特征、適合范圍。
在項(xiàng)目的第二課時(shí),筆者講解了兔子問(wèn)題“斐波那契數(shù)列”范例,分別用迭代法和遞歸法來(lái)求解。由于迭代法和遞歸法非常難懂,在有限的課堂時(shí)間,教師不一定能講解到位,學(xué)生聽(tīng)一遍也難以聽(tīng)懂。因此,筆者把知識(shí)點(diǎn)做成了三個(gè)微課(用迭代法求斐波那契數(shù)列、用遞歸法求斐波那契數(shù)列、迭代法與遞歸法的比較),時(shí)長(zhǎng)都在5分鐘之內(nèi)。上課時(shí)把微課放在Moodle平臺(tái)上,并分別給出迭代法和遞歸法的不完整代碼程序,讓學(xué)生補(bǔ)充完成,并以作業(yè)的形式提交。最后由教師對(duì)容易出錯(cuò)的地方進(jìn)行問(wèn)題點(diǎn)評(píng),并對(duì)這兩種算法進(jìn)行總結(jié)、歸納和比較,加強(qiáng)學(xué)生對(duì)這兩種算法的理解。
在項(xiàng)目的第三、第四課時(shí)(如果進(jìn)度慢,可以增加一個(gè)課時(shí)),進(jìn)入項(xiàng)目選題和制作環(huán)節(jié)。學(xué)生四人為一小組,要求至少選擇課本的兩個(gè)案例進(jìn)行探究制作,把程序作品編制出來(lái),并繪制好流程圖、作好項(xiàng)目活動(dòng)記錄、寫(xiě)好研究報(bào)告,分析算法特征并做成演講報(bào)告。最后把成果資料提交到南海中學(xué)Moodle平臺(tái),全班共享,教師每種算法抽取兩個(gè)小組上臺(tái)進(jìn)行演講,每組3分鐘左右。通過(guò)分享算法探究過(guò)程,加深學(xué)生對(duì)算法的理解,最后教師再進(jìn)行總結(jié)提升,至此,算法項(xiàng)目目標(biāo)可以基本達(dá)成。
項(xiàng)目學(xué)習(xí)一定程度上解決了編程教學(xué)枯燥無(wú)味的困境,提高了課堂教學(xué)效果。傳統(tǒng)的講練結(jié)合、按部就班的程序教學(xué),學(xué)生學(xué)習(xí)興趣不高,有畏難情緒,最后到了學(xué)不會(huì)、不想學(xué)的境地。教師依照本模式精心備課后進(jìn)行項(xiàng)目實(shí)施,學(xué)生普遍比較感興趣,小組合作學(xué)習(xí)熱烈,有助于激發(fā)學(xué)生的學(xué)習(xí)興趣。
課題組教師在項(xiàng)目學(xué)習(xí)前后對(duì)學(xué)生進(jìn)行了計(jì)算思維量表的調(diào)查,調(diào)查問(wèn)卷采用的是華東師范大學(xué)顧小清教授及其研究生白雪梅翻譯改進(jìn)的測(cè)量K12階段學(xué)生計(jì)算思維量表的22-CT測(cè)試。該量表采用李克特5級(jí)量表,包括5個(gè)部分:創(chuàng)造力、算法思維能力、合作能力、批判性思維、問(wèn)題解決能力共22項(xiàng)指標(biāo)[2]。本調(diào)查分發(fā)了1218份問(wèn)卷,由于大部分學(xué)生后測(cè)沒(méi)有時(shí)間做,所以有效問(wèn)卷為288份。筆者對(duì)前后測(cè)數(shù)據(jù)進(jìn)行配對(duì)樣本T檢驗(yàn)[3],從下表結(jié)果中可以看出,這5個(gè)維度在均值上均有提升,sig(雙側(cè))值為.000,存在顯著差異。在課程結(jié)束前,隨機(jī)抽取了6個(gè)學(xué)生進(jìn)行訪談,重點(diǎn)考查學(xué)生利用Python編程解決問(wèn)題的能力,大部分學(xué)生表示Python編程不再神秘,已經(jīng)知道Python是如何解決生活學(xué)習(xí)中的問(wèn)題。通過(guò)訪談,可以看到學(xué)生計(jì)算思維能力是有提升的。
計(jì)算思維配對(duì)樣本T檢驗(yàn)
在學(xué)期末,對(duì)Python的編程知識(shí)及算法知識(shí)進(jìn)行了集中測(cè)試,測(cè)試的形式為選擇題、判斷題和程序補(bǔ)充填空題,總分為100分。全級(jí)平均分為75.5,合格率達(dá)81%,驗(yàn)證了學(xué)生在課程學(xué)習(xí)后計(jì)算思維得到了發(fā)展。同時(shí),對(duì)學(xué)生以小組的形式自行編寫(xiě)并提交的Python編程作品進(jìn)行分析,優(yōu)秀作品約占20%,合格作品占90%,可以看出學(xué)生基本可以做到舉一反三、靈活運(yùn)用已學(xué)的知識(shí)去解決生活和學(xué)習(xí)中遇到的問(wèn)題。
本研究嘗試提出了基于計(jì)算思維培養(yǎng)的項(xiàng)目式教學(xué)模式,通過(guò)實(shí)踐檢驗(yàn),該教學(xué)模式有助于提高學(xué)生學(xué)習(xí)興趣,提升學(xué)生計(jì)算思維能力和學(xué)生信息技術(shù)成績(jī)。但是,本研究存在諸多不足,第一,由于疫情影響,進(jìn)行了近一個(gè)學(xué)期的線上學(xué)習(xí),影響了項(xiàng)目的開(kāi)展。第二,問(wèn)卷的發(fā)放不到位,也影響了調(diào)查結(jié)果的廣度。信息技術(shù)時(shí)代,如何通過(guò)Python教學(xué)培養(yǎng)學(xué)生的計(jì)算思維仍然是重點(diǎn)關(guān)注的問(wèn)題?;谟?jì)算思維培養(yǎng)的項(xiàng)目式教學(xué)模式是否可以進(jìn)一步應(yīng)用推廣到同類水平學(xué)校,效果如何,還需要進(jìn)一步研究。