江蘇省蘇州實(shí)驗(yàn)中學(xué) 賈 云
人工智能作為國際競爭的新焦點(diǎn),是引領(lǐng)未來的戰(zhàn)略性技術(shù)?!鞍柗▏濉钡臋M空出世激發(fā)了全社會的研究熱情,而ChatGPT 的爆火,則把人們對人工智能的研究推向熱潮。 Python 作為進(jìn)入人工智能領(lǐng)域的敲門磚,在推動人工智能發(fā)展中具有不可估量的作用[1]。
項(xiàng)目式學(xué)習(xí)(Project-Based Learning),由上世紀(jì)的“設(shè)計(jì)教學(xué)法”演變發(fā)展而來。 北師大學(xué)者楊明全副教授將其定義為:項(xiàng)目式學(xué)習(xí)是一種建構(gòu)性的教與學(xué)方式,教師將學(xué)生的學(xué)習(xí)任務(wù)項(xiàng)目化, 指導(dǎo)學(xué)生基于真實(shí)情境提出問題,并利用相關(guān)知識與信息資料開展研究、設(shè)計(jì)和實(shí)踐操作,最終解決問題并展示和分析項(xiàng)目成果[2]。 簡言之,項(xiàng)目式學(xué)習(xí)能夠引導(dǎo)學(xué)生在展示過程、分析結(jié)果中對知識進(jìn)行深度的認(rèn)識與加工,聯(lián)系已有知識,建構(gòu)新的知識,最終達(dá)成核心素養(yǎng)的培養(yǎng)目標(biāo)。
項(xiàng)目式學(xué)習(xí)與Python 創(chuàng)意編程的契合點(diǎn)主要表現(xiàn)在三方面:一是培養(yǎng)目標(biāo)的一致性。 項(xiàng)目式學(xué)習(xí)要求學(xué)生不僅要基于整個項(xiàng)目提出問題、分析問題、做出假設(shè)、解決問題,還要展示與評價;高中信息技術(shù)Python 課程立足于對學(xué)生核心能力(包括創(chuàng)新性、創(chuàng)造力等)的培養(yǎng),兩者都指向?qū)W生批判性、創(chuàng)造性思維等高階思維能力的提升。因此,從培養(yǎng)目標(biāo)的角度,項(xiàng)目式學(xué)習(xí)和Python 創(chuàng)意編程具有一致性。二是學(xué)習(xí)方式的相關(guān)性。項(xiàng)目式學(xué)習(xí)引導(dǎo)學(xué)生發(fā)現(xiàn)、構(gòu)想、抉擇、歸納與評價;高中Python 編程課程是學(xué)生信息意識和計(jì)算思維能力培養(yǎng)的重要途徑, 采用項(xiàng)目式學(xué)習(xí),能讓學(xué)生通過充分的探究、分享、評價等提升信息意識和計(jì)算思維能力。 因此, 在學(xué)習(xí)方式上項(xiàng)目式學(xué)習(xí)與高中Python 創(chuàng)意編程課程是相關(guān)的。 三是教學(xué)過程的契合性。項(xiàng)目式學(xué)習(xí)在教學(xué)過程中強(qiáng)調(diào)學(xué)習(xí)的迭代性以及項(xiàng)目的展示與分享;高中Python 編程課程鼓勵學(xué)生在項(xiàng)目完成的過程中掌握相關(guān)的程序,對作品進(jìn)行多次的迭代設(shè)計(jì)并進(jìn)行作品展示與分享。因此項(xiàng)目式學(xué)習(xí)與高中Python 創(chuàng)意編程在教學(xué)過程上是契合的。
“周而復(fù)始的循環(huán)”一課屬于教科版高中信息技術(shù)必修一《數(shù)據(jù)與計(jì)算》第二章第3 節(jié)的內(nèi)容,是算法學(xué)習(xí)中的重要部分,包括計(jì)數(shù)循環(huán)(for 語句)和條件循環(huán)(while 語句)。教材中圍繞“理財”項(xiàng)目進(jìn)行展開。在教學(xué)實(shí)踐中能發(fā)現(xiàn),學(xué)生對“理財”主題的項(xiàng)目興趣不高,并且對for 語句的理解不夠,容易用數(shù)學(xué)的方法直接算出答案。 基于此,教師可以使用Python 中的趣味turtle 繪圖,從順序畫圖到循環(huán)畫圖,有效調(diào)動學(xué)生的學(xué)習(xí)積極性,讓知識逐步過渡。
根據(jù)項(xiàng)目式學(xué)習(xí)的思想,并結(jié)合實(shí)際教學(xué)過程,高中Python 創(chuàng)意編程課程可進(jìn)行如下設(shè)計(jì)(見圖1)。
圖1 基于項(xiàng)目式學(xué)習(xí)的高中Python 創(chuàng)意編程課程案例設(shè)計(jì)流程圖
初步掌握用Python 畫一些常見的規(guī)則圖形, 并能在畫圖中融入自己的創(chuàng)意; 在畫圖的過程中深刻理解其中的循環(huán)結(jié)構(gòu),掌握實(shí)現(xiàn)計(jì)數(shù)循環(huán)的方法。
學(xué)校即將舉辦藝術(shù)節(jié)活動, 計(jì)劃在藝術(shù)展廳展示學(xué)校建筑元素(多邊形圖形及螺旋圖形),請你根據(jù)相關(guān)課程,選擇你喜歡的圖形,繪制出建筑元素,并在此基礎(chǔ)上融入你的創(chuàng)意,向外界展示學(xué)校的校園文化。
1.基礎(chǔ)知識準(zhǔn)備
學(xué)生在之前的課程學(xué)習(xí)中,已經(jīng)初步掌握了順序結(jié)構(gòu)以及Python 模塊的導(dǎo)入方法, 對turtle常用函數(shù)有了初步理解,但對涉及重復(fù)執(zhí)行的語句,即循環(huán)結(jié)構(gòu)還不太了解。 因此,教師要讓學(xué)生從已有知識出發(fā), 在探究的過程中解決問題,建構(gòu)新知。
①模塊的導(dǎo)入方法:import turtle as t 或者from turtle import *
②turtle 常用函數(shù)(見表1):
表1 turtle 常用函數(shù)一覽表
2.提供教學(xué)資源
設(shè)計(jì)學(xué)生學(xué)習(xí)導(dǎo)學(xué)案,幫助學(xué)生厘清學(xué)習(xí)任務(wù),明確學(xué)習(xí)目標(biāo)及學(xué)習(xí)評價標(biāo)準(zhǔn); 提供for 循環(huán)的語法及其格式注解、列表及其使用方法。
3.項(xiàng)目完成與交流
【活動1】用已學(xué)知識繪制一個邊長為100 像素的正方形。
繪制正方形對學(xué)生來說不難,教師可要求學(xué)生用之前的順序結(jié)構(gòu)進(jìn)行繪制(見圖2)。
圖2 邊長為100 像素的正方形
探索發(fā)現(xiàn):繪制時有兩行重復(fù)的代碼:“t.fd(100)t.left(90)”,即前行100 像素和逆時針旋轉(zhuǎn)90 度共重復(fù)4 次。
教師引導(dǎo):在程序中常常有重復(fù)執(zhí)行的動作,如果用順序語句一條一條重復(fù)來寫工作量大, 代碼不夠清晰,而for 循環(huán)語句可實(shí)現(xiàn)重復(fù)一定次數(shù)的循環(huán)。
語法格式:for 循環(huán)變量in range():
知識支架:range()函數(shù)
師生探究: 用for 循環(huán)語句繪制一個邊長為100 像素的正方形(見圖3)?!净顒?】分組繪制多邊形并涂色,可以在此基礎(chǔ)上融入你的創(chuàng)意。
圖3 用for 循環(huán)語句繪制一個邊長為100 像素的正方形
有了活動1 的基礎(chǔ),學(xué)生初步掌握繪制多邊圖形只需要確定重復(fù)執(zhí)行的次數(shù)和動作。 在涂色時,學(xué)生的創(chuàng)意更多了,有的是一種顏色,有的是不同邊不同顏色,有的是對稱邊是同一顏色(見圖4)。
圖4 學(xué)生繪制的多邊形
import turtle as t
color=_________ #顏色列表
for i in range(_____):#多邊形的邊數(shù)
t.pencolor(color[____])#畫筆顏色變化
t.fd(_____)#前進(jìn)長度
t.left(_____)#旋轉(zhuǎn)度數(shù)
【活動3】繪制彩色螺旋圖形。
在拓展深入階段,讓學(xué)生繪制彩色螺旋圖形,探索在顏色變化、前進(jìn)、旋轉(zhuǎn)的基礎(chǔ)上,還可以把基礎(chǔ)畫作對象作為一個整體旋轉(zhuǎn)變化,變成更多樣的圖形,并在此基礎(chǔ)上融入你的創(chuàng)意(見圖5)。
圖5 學(xué)生繪制的彩色螺旋圖形
import turtle as t
color=_________ #顏色列表
for i in range(_______)#基礎(chǔ)多邊形重復(fù)的次數(shù)for i in range(_____):#基礎(chǔ)多邊形的邊數(shù)
t.pencolor(color[____])#畫筆顏色變化
t.fd(_____)#前進(jìn)長度
t.left(_____)#旋轉(zhuǎn)度數(shù)
t.left(______)#基礎(chǔ)多邊形每次旋轉(zhuǎn)的角度
學(xué)生對turtle 繪圖的3 個活動進(jìn)行匯報, 主要匯報其中遇到的困難及克服困難的方法,以及學(xué)生自評、生生評價、師生評價等,通過師生間的思維碰撞,一方面深刻理解Python 中的計(jì)數(shù)循環(huán)方法, 另一方面對Python 中turtle 趣味繪圖也有一定的掌握。 課后,教師可以布置難度升級的任務(wù),如繪雪花等,進(jìn)一步提高學(xué)生的操作能力。
通過turtle 趣味繪圖的方法, 學(xué)生能在趣味中體會其中的循環(huán)思想,初步掌握for 循環(huán)語句,繪制出規(guī)則的多邊形及螺旋圖形。 從課堂觀察來看,學(xué)生對繪圖有較強(qiáng)的興趣,在探索的過程中,能討論分析每個圖形的重復(fù)次數(shù)及重復(fù)動作,總結(jié)繪圖規(guī)律。 也能夠通過自主探究和教師提供的教學(xué)資源逐步解決問題,并融入自己的創(chuàng)意。 該項(xiàng)目完成后,教師可以進(jìn)一步提出較高難度的項(xiàng)目,進(jìn)一步進(jìn)行知識鞏固,提高學(xué)生學(xué)習(xí)能力,使學(xué)生通過項(xiàng)目式學(xué)習(xí),將Python 知識創(chuàng)意化、趣味化,不斷增強(qiáng)學(xué)生的合作意識,深化學(xué)生對知識的理解和計(jì)算思維的培養(yǎng)。