林立
摘 要:高中信息技術(shù)學(xué)科核心素養(yǎng)在《普通高中信息技術(shù)課程標(biāo)準(zhǔn)》(2017年版)中被重點(diǎn)提出,其中一項(xiàng)重要內(nèi)容就是培養(yǎng)學(xué)生的計(jì)算思維。在課程改革背景下,高中的信息技術(shù)課程應(yīng)該不斷地為學(xué)生提供豐富的教學(xué)課程資源,使得學(xué)生能夠運(yùn)用計(jì)算思維認(rèn)識(shí)和分析所遇到的問(wèn)題,從而達(dá)到解決問(wèn)題的目標(biāo)。其中易入門輕語(yǔ)法重算法的Python語(yǔ)言對(duì)學(xué)生計(jì)算思維的培養(yǎng)起著不可替代的作用。因此本文以Python課程教學(xué)設(shè)計(jì)為例,從培養(yǎng)學(xué)生計(jì)算思維的角度出發(fā),完善教學(xué)設(shè)計(jì)和教學(xué)策略,從而不斷培養(yǎng)學(xué)生的計(jì)算思維和解決問(wèn)題的能力,確保學(xué)生信息素養(yǎng)的建設(shè)。
關(guān)鍵詞:高中;Python課程;計(jì)算思維;教學(xué)策略
在課程改革背景下,高中生應(yīng)該具備運(yùn)用計(jì)算思維解決問(wèn)題的能力[1]。Python課程教學(xué)承擔(dān)著培養(yǎng)學(xué)生計(jì)算思維的重任。Python語(yǔ)言具有語(yǔ)法簡(jiǎn)單、容易入門、類庫(kù)豐富、支持中文等特點(diǎn),把它作為教學(xué)內(nèi)容,學(xué)生更容易入門[2]。而且Python能夠讓學(xué)生盡可能將精力花在算法和邏輯的設(shè)計(jì)上,促使學(xué)生自主合作探究解決問(wèn)題,培養(yǎng)獨(dú)立深入思考的習(xí)慣。作為信息技術(shù)教師,應(yīng)不斷深入探索計(jì)算思維的內(nèi)涵和特征,進(jìn)而結(jié)合Python課程的相關(guān)內(nèi)容進(jìn)行教學(xué)設(shè)計(jì),提高Python課程的教學(xué)效率,提升學(xué)生計(jì)算思維水平。
一、高中階段培養(yǎng)計(jì)算思維的重要性
(一)計(jì)算思維概述
計(jì)算思維就是模擬計(jì)算機(jī)解決問(wèn)題的思維模式?!镀胀ǜ咧行畔⒓夹g(shù)課程標(biāo)準(zhǔn)》(2017年版)中對(duì)作為信息技術(shù)學(xué)科核心素養(yǎng)之一的計(jì)算思維是這樣介紹的:“計(jì)算思維是指?jìng)€(gè)體運(yùn)用計(jì)算機(jī)科學(xué)領(lǐng)域的思想方法,在形成問(wèn)題解決方案的過(guò)程中產(chǎn)生的一系列思維活動(dòng)[3]?!币虼?,計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)相關(guān)知識(shí)解決實(shí)際問(wèn)題的重要思維,學(xué)生應(yīng)該去掌握和使用這種概念化的基本技能,以此來(lái)充實(shí)內(nèi)化強(qiáng)大自己。與此同時(shí),計(jì)算思維還可以豐富學(xué)生處理問(wèn)題的思維層次,促進(jìn)學(xué)生思維能力的發(fā)展,并使學(xué)生更好地適應(yīng)科技社會(huì),為以后的學(xué)習(xí)、生活和工作打下基礎(chǔ)。
(二)高中階段培養(yǎng)學(xué)生計(jì)算思維的重要性
《普通高中信息技術(shù)課程標(biāo)準(zhǔn)》(2017年版)為高中信息技術(shù)課程改革指明了發(fā)展方向。其中計(jì)算思維是四大核心素養(yǎng)之一,它的培養(yǎng)不僅成為高中信息學(xué)科的重要內(nèi)容,而且也成為高中階段學(xué)生教育的重要目標(biāo)[4]。學(xué)生一旦擁有了計(jì)算思維,那么在面對(duì)不同的學(xué)習(xí)生活情境時(shí),他們就會(huì)不由自主地利用現(xiàn)代信息技術(shù),及時(shí)有效地去分析和解決自己所遇到的問(wèn)題,而且還會(huì)將學(xué)過(guò)的信息理論知識(shí)和實(shí)際操作進(jìn)行有效融合,從而使得自身的綜合能力得到一定的發(fā)展提高。因此,作為高中信息技術(shù)教師要為學(xué)生制訂明確且詳盡的教學(xué)計(jì)劃,在課堂上通過(guò)問(wèn)題的設(shè)置和引導(dǎo),有意識(shí)地對(duì)學(xué)生進(jìn)行計(jì)算思維的培養(yǎng),從而促進(jìn)他們計(jì)算思維的不斷提升。
二、現(xiàn)階段高中信息技術(shù)計(jì)算思維培養(yǎng)存在的問(wèn)題
近幾年,學(xué)生計(jì)算思維培養(yǎng)雖然受到了廣泛的關(guān)注,但是其定義以及培養(yǎng)的具體方式并不明確,所以教師在教學(xué)實(shí)踐的過(guò)程中,并不了解如何有效地進(jìn)行教學(xué)。再加上信息技術(shù)學(xué)科在高中階段不作為高考科目,大多數(shù)學(xué)校對(duì)其重視程度不夠,教師在教學(xué)方面也比較機(jī)械化,學(xué)生也沒(méi)有深入掌握,更談不上計(jì)算思維的培養(yǎng)了。尤其是在程序語(yǔ)言的教學(xué)中,教師只是單一地滲透相關(guān)的理論知識(shí),并為學(xué)生演示具體操作引導(dǎo)學(xué)生機(jī)械化地進(jìn)行模仿鍛煉。如果讓學(xué)生獨(dú)立地進(jìn)行程序設(shè)計(jì),他們往往由于沒(méi)有獨(dú)立的思路,無(wú)法解決這一問(wèn)題,同時(shí)此種教學(xué)模式也違背了素質(zhì)教育的目標(biāo),并不利于學(xué)生自身的發(fā)展和建設(shè)。針對(duì)這一情況,在Python課程的教學(xué)中,教師應(yīng)該以培養(yǎng)學(xué)生計(jì)算思維為主要工作目標(biāo),以掌握基礎(chǔ)理論為輔助,高效運(yùn)用計(jì)算思維分析解決問(wèn)題,不斷深化理論知識(shí)的內(nèi)涵,提高學(xué)生解決問(wèn)題的能力,促進(jìn)學(xué)生未來(lái)的全面發(fā)展。
三、課標(biāo)下Python在計(jì)算思維培養(yǎng)方面的優(yōu)勢(shì)
在課改背景下,Python程序語(yǔ)言進(jìn)入高中信息技術(shù)課程,可見(jiàn)其優(yōu)越性。Python是一種簡(jiǎn)單的程序設(shè)計(jì)語(yǔ)言,它不僅具有簡(jiǎn)潔性、易讀性以及可擴(kuò)展性的特點(diǎn),而且它上手快、學(xué)習(xí)難度低,對(duì)初學(xué)者進(jìn)行計(jì)算機(jī)語(yǔ)言學(xué)習(xí)很有幫助。高中生在學(xué)習(xí)Python的相關(guān)課程中可以不用花太多的精力在處理這些代碼的格式錯(cuò)誤上,另外也不用糾結(jié)一些語(yǔ)法細(xì)節(jié),他們的注意力應(yīng)該在尋求不同情境解決問(wèn)題的辦法、探究程序自身的算法以及其各個(gè)領(lǐng)域的應(yīng)用上。這無(wú)形當(dāng)中訓(xùn)練了學(xué)生的計(jì)算思維。因?yàn)橛?jì)算思維的核心內(nèi)容就是將復(fù)雜的問(wèn)題進(jìn)行分解,使其變?yōu)橐粋€(gè)個(gè)簡(jiǎn)單模塊,然后對(duì)這些模塊進(jìn)行分析研究,最終解決所有的問(wèn)題。簡(jiǎn)單說(shuō),就是化繁為簡(jiǎn)。因此在Python課程中進(jìn)行計(jì)算思維的培養(yǎng),會(huì)讓抽象復(fù)雜的問(wèn)題更加具體化、簡(jiǎn)單化,學(xué)生通過(guò)問(wèn)題的轉(zhuǎn)化,建立起模型,進(jìn)而通過(guò)Python程序有效實(shí)現(xiàn)解決問(wèn)題。由此可見(jiàn),Python課程在對(duì)學(xué)生進(jìn)行計(jì)算思維的培養(yǎng)中有著得天獨(dú)厚的優(yōu)勢(shì)。通過(guò)Python程序有效解決問(wèn)題,學(xué)生的注意力主要會(huì)集中在分析問(wèn)題和解決問(wèn)題的過(guò)程中,不再只是面對(duì)抽象的程序設(shè)計(jì)的理論與算法,同時(shí)還可以將各自專業(yè)和學(xué)科知識(shí)融入其中??傊诟咧行畔⒓夹g(shù)教學(xué)活動(dòng)中應(yīng)用Python分析和解決問(wèn)題,讓學(xué)生不斷深入思考、自主合作探究,對(duì)于學(xué)生計(jì)算思維構(gòu)建有著極大的意義[5]。
四、基于計(jì)算思維培養(yǎng)的高中Python課程教學(xué)模式思考
在課標(biāo)背景下,教師應(yīng)當(dāng)圍繞對(duì)學(xué)生進(jìn)行計(jì)算思維培養(yǎng)的思路對(duì)Python課程進(jìn)行教學(xué)設(shè)計(jì)進(jìn)行,充分發(fā)揮Python的特點(diǎn)。在教學(xué)活動(dòng)設(shè)計(jì)中,首先制訂一個(gè)項(xiàng)目任務(wù),然后根據(jù)項(xiàng)目任務(wù)需求構(gòu)建若干個(gè)問(wèn)題模型,教師在設(shè)置問(wèn)題時(shí),需要把握問(wèn)題的層次性、導(dǎo)向性、多樣化等特點(diǎn),充分發(fā)揮問(wèn)題驅(qū)動(dòng)教學(xué)模式的優(yōu)勢(shì),刺激學(xué)生思考探究。因此在課前階段開(kāi)展自主探究環(huán)節(jié),通過(guò)創(chuàng)設(shè)問(wèn)題情境引導(dǎo)分析問(wèn)題,在課中階段開(kāi)展合作探究、解決問(wèn)題環(huán)節(jié),在課后階段開(kāi)展評(píng)價(jià)、改進(jìn)、總結(jié)環(huán)節(jié)等多種教學(xué)模式,重視學(xué)生在課堂中的主體地位,構(gòu)建一個(gè)完善的問(wèn)題驅(qū)動(dòng)課堂,引導(dǎo)學(xué)生擺脫對(duì)教師的依賴,形成養(yǎng)成獨(dú)立深入思考的習(xí)慣和自主解決問(wèn)題的能力,實(shí)現(xiàn)計(jì)算思維的培養(yǎng)。
五、基于計(jì)算思維培養(yǎng)的高中Python課程教學(xué)策略
(一)課前階段
教師可以借助微課視頻引導(dǎo)學(xué)生開(kāi)展自主探究項(xiàng)目學(xué)習(xí)。選擇恰當(dāng)?shù)囊曨l內(nèi)容,并在視頻里設(shè)置相關(guān)課程問(wèn)題以新穎的形式呈現(xiàn)出來(lái),不僅吸引了學(xué)生的注意力,還能夠激發(fā)學(xué)生的興趣,使得他們對(duì)本節(jié)課所學(xué)的內(nèi)容進(jìn)行自主探究學(xué)習(xí),內(nèi)化相關(guān)的知識(shí)。例如:在學(xué)習(xí)《認(rèn)識(shí)“人工智能”》這一章節(jié)內(nèi)容時(shí),教師可以在上課前,讓學(xué)生自主復(fù)習(xí)Python程序語(yǔ)言的基本語(yǔ)法、數(shù)據(jù)類型、結(jié)構(gòu)及函數(shù)內(nèi)容等基礎(chǔ)知識(shí)。那么在這節(jié)課微課視頻導(dǎo)入末尾處,就可以提出相關(guān)問(wèn)題讓學(xué)生進(jìn)行自主探究項(xiàng)目:如何將家里電燈改造讓其也有語(yǔ)音控制功能。學(xué)生會(huì)根據(jù)這個(gè)情境進(jìn)行思考分析,接著觀看視頻資源再次思考什么是人工智能。隨后設(shè)置問(wèn)題:1.人工智能應(yīng)用有哪些?(提供《漫談人工智能》視頻)2.LD3322智能語(yǔ)音控制模塊功能了解(教師提供LD3322控制繼電器及串口使用視頻及智能公元平臺(tái)IO口配置說(shuō)明),這部分讓學(xué)生了解改造語(yǔ)音控制電燈原理資源及相應(yīng)算法邏輯結(jié)構(gòu),讓學(xué)生明白現(xiàn)實(shí)世界和計(jì)算機(jī)世界邏輯關(guān)系,讓學(xué)生明白電路開(kāi)關(guān)在程序中就是一個(gè)選擇結(jié)構(gòu)模型。3.領(lǐng)悟問(wèn)答機(jī)器人原理。人機(jī)是如何進(jìn)行對(duì)話的?對(duì)這些不同情境問(wèn)題的思考都在不斷刺激著學(xué)生的探索求知欲,一定程度上促進(jìn)著他們個(gè)性思維的形成,從而實(shí)現(xiàn)對(duì)學(xué)生抽象、算法、歸納等計(jì)算思維能力的培養(yǎng)。
(二)課中階段
對(duì)課堂問(wèn)題進(jìn)行答疑解惑并且小組合作探究思考分析解決問(wèn)題,是課中階段要進(jìn)行的主要任務(wù)。也是對(duì)學(xué)生進(jìn)行計(jì)算思維培養(yǎng)的關(guān)鍵所在。在課堂答疑解惑環(huán)節(jié)中,教師通過(guò)問(wèn)題驅(qū)動(dòng)開(kāi)展課程,在學(xué)生明確問(wèn)題后,教師通過(guò)任務(wù)驅(qū)動(dòng)讓學(xué)生了解本節(jié)課中的各類針對(duì)點(diǎn),以此逐步促進(jìn)學(xué)生學(xué)習(xí)知識(shí)點(diǎn)。例如:可以為學(xué)生設(shè)置體驗(yàn)任務(wù):體驗(yàn)計(jì)算機(jī)視覺(jué)(手勢(shì)識(shí)別),讓學(xué)生體驗(yàn)在攝像頭前面比畫手指數(shù)量,計(jì)算機(jī)能識(shí)別數(shù)字。組織學(xué)生小組合作探究環(huán)節(jié)(語(yǔ)音識(shí)別):利用LD3322智能語(yǔ)音控制模塊對(duì)電燈語(yǔ)音控制小組探究實(shí)踐等。此過(guò)程需要教師把握情境設(shè)置,情境設(shè)置能夠促進(jìn)學(xué)生對(duì)問(wèn)題的理解程度以及學(xué)生有對(duì)相應(yīng)硬件及控制邏輯關(guān)系理解程度。無(wú)論是情境還是問(wèn)題的提出都應(yīng)該在學(xué)生自身知識(shí)結(jié)構(gòu)范圍內(nèi),并且還應(yīng)該重視引導(dǎo)方式,讓學(xué)生能夠在問(wèn)題分析時(shí),形成自我判斷和認(rèn)知的過(guò)程。通過(guò)語(yǔ)音控制電燈(用12v電燈,電源,線路模擬電燈環(huán)境)讓學(xué)生了解了控制過(guò)程邏輯關(guān)系。學(xué)生在分組合作情況下完成任務(wù),并體驗(yàn)語(yǔ)音控制電燈開(kāi)關(guān)樂(lè)趣,這個(gè)過(guò)程是對(duì)課前階段認(rèn)知進(jìn)一步驗(yàn)證,此過(guò)程也是建設(shè)計(jì)算思維的關(guān)鍵所在。
例如:在分析問(wèn)題時(shí),教師可以采取兩種方式讓學(xué)生對(duì)問(wèn)題進(jìn)行分析。首先是自主分析,在自主分析結(jié)束后選擇合作分析,開(kāi)發(fā)每一個(gè)人的思維,并且綜合每一個(gè)學(xué)生的結(jié)論,教師對(duì)其進(jìn)行整合。在分析問(wèn)題時(shí),教師還應(yīng)該循序漸進(jìn)由簡(jiǎn)到難,按照這樣的過(guò)程進(jìn)行問(wèn)題分析。在智能問(wèn)答系統(tǒng)中,用戶向智能機(jī)器人提問(wèn)后,智能問(wèn)答系統(tǒng)首先從FAQ庫(kù)中尋找是否包括用戶的問(wèn)題(問(wèn)句),如果包含問(wèn)句,則直接返回問(wèn)句對(duì)應(yīng)的答案給用戶,從而省去后面一系列步驟;否則,進(jìn)入問(wèn)題理解模塊。FAQ庫(kù)主要用于提高智能問(wèn)答系統(tǒng)的效率,其主要技術(shù)就是問(wèn)句相似度計(jì)算和候選問(wèn)句的選擇。再把排序后相似度最高的結(jié)果作為答案反饋給用戶。這個(gè)過(guò)程中計(jì)算機(jī)是如何把系統(tǒng)中已有的相似問(wèn)題的正確答案按問(wèn)句相似度進(jìn)行排序的?計(jì)算機(jī)是按“if.then.”的形式給出判斷,判斷分析過(guò)程中是按Jaccard(杰卡德)相似度算法(兩個(gè)數(shù)據(jù)集合交集個(gè)數(shù)除以兩個(gè)數(shù)據(jù)集合并集個(gè)數(shù)),在討論過(guò)程中實(shí)現(xiàn)組內(nèi)修正并形成最終方案,隨后根據(jù)方案通過(guò)Python程序軟件進(jìn)行代碼實(shí)現(xiàn),進(jìn)行調(diào)試產(chǎn)生結(jié)果(jaccard算法如下所示)。教師在合作探究過(guò)程中針對(duì)各組情況進(jìn)行個(gè)別輔導(dǎo),并對(duì)問(wèn)題進(jìn)行點(diǎn)評(píng),給予肯定及修改意見(jiàn)。
#計(jì)算jaccard系數(shù)
def jaccard(p,q):
common=0
for item in p:
if item in q:
common += 1
if common==0:
return 0
print(common)
return float(common/len(p) + len(q) -common)
#注意:在使用之前必須對(duì)兩個(gè)數(shù)據(jù)集去重
a=[“空調(diào)機(jī)”“有”“什么”“功能”“?”]
b=[“空調(diào)機(jī)”“的”“功能”“有”“哪些”“?”]
res=jaccard(a,b)
print(res)
(三)課后階段
課后階段同樣需要教師起到一定的引導(dǎo)作用,適當(dāng)?shù)卮偈箤W(xué)生可以將學(xué)習(xí)中所遇到的各類問(wèn)題制作成相應(yīng)的報(bào)告內(nèi)容,讓學(xué)生結(jié)合報(bào)告內(nèi)容總結(jié)實(shí)際學(xué)習(xí)問(wèn)題,為后續(xù)提高教學(xué)效率和質(zhì)量做出鋪墊。教師應(yīng)該結(jié)合各組評(píng)價(jià)進(jìn)行反思總結(jié),其中包含了自評(píng)、他評(píng)、教師評(píng)價(jià),以此促進(jìn)學(xué)生改進(jìn),不斷總結(jié)經(jīng)驗(yàn),從而提高自身學(xué)習(xí)能力。同時(shí)教師可以根據(jù)Python對(duì)Jaccard相似度算法的教學(xué)內(nèi)容,為學(xué)生提供具有針對(duì)性的練習(xí)內(nèi)容,促使其能夠結(jié)合實(shí)際教學(xué)課程和網(wǎng)絡(luò)課程內(nèi)容對(duì)習(xí)題進(jìn)行完善,再次鍛煉學(xué)生的計(jì)算思維。因此這節(jié)課后作業(yè):教師讓學(xué)生計(jì)算下列兩個(gè)語(yǔ)句的Jaccard相似度系數(shù),并利用Python語(yǔ)言編程求出Jaccard相似度系數(shù)。A:小鳥最初的振翅試飛不就是為了將來(lái)能夠搏擊長(zhǎng)空、履行反哺之義嗎?B:小鳥最初的振翅試飛就是為了將來(lái)能夠搏擊長(zhǎng)空、履行反哺之義。思考如何提煉這關(guān)鍵字?用第三方庫(kù)jieba中文分詞組件實(shí)現(xiàn),實(shí)現(xiàn)問(wèn)題驅(qū)動(dòng)模式的遞進(jìn),從而對(duì)Jaccard工作原理更深入地理解,再次鍛煉了學(xué)生的計(jì)算思維。這些課后任務(wù)完成情況就必須依靠網(wǎng)絡(luò)課程平臺(tái)來(lái)幫助教師查看學(xué)生掌握本節(jié)內(nèi)容情況,學(xué)生也可以通過(guò)平臺(tái)帶動(dòng)學(xué)生回憶課程教學(xué)內(nèi)容,以此完成課后練習(xí)題,并且進(jìn)行查缺補(bǔ)漏,針對(duì)自身不理解內(nèi)容,通過(guò)網(wǎng)絡(luò)平臺(tái)可以對(duì)其深化,以便于學(xué)生自己找出自身缺陷。此過(guò)程為此項(xiàng)課程提供良好的后期授課條件,同時(shí)也促成了計(jì)算思維的再次鞏固,為下節(jié)課的教學(xué)提供資料支持,便于Python課程的高效開(kāi)展。
結(jié)束語(yǔ)
綜上所述,首先在課前準(zhǔn)備中教師利用問(wèn)題的提出,讓學(xué)生對(duì)問(wèn)題進(jìn)行解決,促使思維運(yùn)轉(zhuǎn);其次教師引導(dǎo)學(xué)生在項(xiàng)目解決過(guò)程中將問(wèn)題中的難點(diǎn)提煉出來(lái),讓其開(kāi)始討論分析問(wèn)題,此時(shí)學(xué)生的思維在不斷運(yùn)轉(zhuǎn)之中;最后在分析出結(jié)論之后,教師結(jié)合學(xué)生自身實(shí)際情況,合理設(shè)定擴(kuò)展內(nèi)容,逐步讓思維循環(huán)運(yùn)作,以此在潛移默化中培養(yǎng)學(xué)生計(jì)算思維能力。
參考文獻(xiàn)
[1]鞠靜.基于計(jì)算思維培養(yǎng)的高中信息技術(shù)Python課程教學(xué)策略研究[J].中國(guó)多媒體與網(wǎng)絡(luò)教學(xué)學(xué)報(bào)(下旬刊),2021(3):116-117.
[2]嚴(yán)唯.針對(duì)計(jì)算思維培養(yǎng)的高中Python課程教學(xué)思路初探[J].科幻畫報(bào),2021(4):203-205.
[3]劉承林.計(jì)算思維培養(yǎng)視角下高中Python課程教學(xué)模式研究[D].濟(jì)南:山東師范大學(xué),2019.
[4]邢慧卿.基于STEAM教育理念的高中生計(jì)算思維培養(yǎng)的教學(xué)研究:以高中Python課程為例[D].哈爾濱:哈爾濱師范大學(xué),2021.
[5]馬新哲.針對(duì)計(jì)算思維培養(yǎng)的高中Python課程教學(xué)思路初探[J].教育園地,2019(17):64-65.