摘 要:Python是一個高層次的腳本語言,其整體設(shè)計具有很強的可讀性,也被稱為解釋型語言、交互式語言、面向?qū)ο笳Z言及初學(xué)者語言。目前高中信息技術(shù)教學(xué)中也開始進行Python教學(xué),在此教學(xué)中培養(yǎng)學(xué)生的計算思維具有明顯優(yōu)勢,這與Python語言簡潔靈活、多以項目式驅(qū)動等教學(xué)方法實踐以及其本身的互動性和融合性特點有關(guān)。鑒于此,圍繞計算思維及高中Python教學(xué)中培養(yǎng)學(xué)生計算思維的優(yōu)勢展開探究,進一步探究高中Python教學(xué)中學(xué)生計算思維的培養(yǎng)策略,以期望為教師教學(xué)提供可用參考。
關(guān)鍵詞:高中信息技術(shù);Python教學(xué);計算思維
作者簡介:朱鵬(1978—),男,江蘇省徐州市睢寧縣王集中學(xué)。
計算思維是一種思維方式,是信息技術(shù)學(xué)科核心素養(yǎng)的重要組成部分,具有較強的計算思維也是學(xué)生學(xué)好信息技術(shù)學(xué)科知識的前提。在高中Python教學(xué)中培養(yǎng)學(xué)生的計算思維,一方面可以借助Python編程語言的優(yōu)勢特點促進學(xué)生形成計算思維,另一方面可以借助學(xué)生已有的抽象思維經(jīng)驗和能力助力學(xué)生計算思維發(fā)展。
一、計算思維概述
計算思維是在問題求解過程中運用計算機科學(xué)基礎(chǔ)概念解決問題的一系列思維活動。在計算思維培養(yǎng)過程中會涉及問題分解、模式識別、抽象、算法設(shè)計四個核心概念。其中,在問題分解環(huán)節(jié),需要將一個復(fù)雜的大問題,逐一分解為若干個較小的、更容易思考和管理的子問題,在解決子問題過程中學(xué)生可以逐步建立起問題思維,最終在解決大問題時形成良好的計算思維。在模式識別環(huán)節(jié),需要在問題中尋找重復(fù)出現(xiàn)的規(guī)律,在識別模式下利用已有的解題方案或者算法解決相似問題,提高問題解決效率。在抽象環(huán)節(jié),需要忽略問題的非關(guān)鍵細節(jié),只關(guān)注關(guān)鍵信息,從而更好地理解和解決問題,抽象思維是計算思維的重要組成部分,可以幫助學(xué)生建立問題模型,讓問題更加直觀、易懂、明了。在算法設(shè)計環(huán)節(jié),需要設(shè)計一系列有序的步驟來解決問題,算法是計算思維的核心部分,可以保障問題以一種有效的方式解決。計算思維的有效培養(yǎng),可以提高學(xué)生的問題解決能力,促進學(xué)生創(chuàng)新能力的發(fā)展,有助于學(xué)生跨學(xué)科應(yīng)用知識,更好地適應(yīng)未來社會。
二、高中Python教學(xué)中培養(yǎng)學(xué)生計算思維的優(yōu)勢
在高中Python教學(xué)中培養(yǎng)學(xué)生的計算思維具有顯著優(yōu)勢。首先,Python語言簡潔靈活,可以在教學(xué)過程中引導(dǎo)學(xué)生將一個復(fù)雜的大問題,逐步分解為一個個小的子問題,接著學(xué)生可像搭積木一樣,將每個子問題當(dāng)作一塊塊積木有序搭建,最終成功搭成一整個積木模型時就能解決此問題。其次,Python擁有豐富的內(nèi)置函數(shù)和庫,學(xué)生可以通過學(xué)習(xí)和使用排序算法、搜索算法等各種算法解決實際問題,培養(yǎng)問題解決能力。再次,高中Python教學(xué)大多以項目驅(qū)動教學(xué)、問題導(dǎo)向?qū)W習(xí)以及小組合作探究等教學(xué)方式展開,學(xué)生可以在實踐運用中進行計算思維的鍛煉和創(chuàng)新,盡情地發(fā)揮自己的想象力與創(chuàng)造力。此外,Python擁有龐大的開源社區(qū),學(xué)生可以在社區(qū)中查看他人上傳的代碼和項目,進而獲得更多的創(chuàng)新靈感與啟發(fā),最終培養(yǎng)形成良好的計算思維。最后,Python是一種互動性很強的編程語言,其可以與數(shù)學(xué)、物理等多門學(xué)科融合,從而幫助學(xué)生解決學(xué)科問題,提高Python應(yīng)用能力的同時發(fā)展計算思維。從某種層面來看,計算思維是一種通用的思維方式,其不僅在編程中被廣泛應(yīng)用,在日常生活中解決實際問題、在數(shù)學(xué)學(xué)習(xí)中的抽象計算等都有應(yīng)用,因此學(xué)習(xí)Python語言,實際上是擁有了一把萬能鑰匙,可以打開不同領(lǐng)域的知識大門,順利拓展計算思維。
三、高中Python教學(xué)中學(xué)生計算思維的培養(yǎng)策略
(一)項目驅(qū)動教學(xué)
在高中Python教學(xué)中培養(yǎng)學(xué)生的計算思維時,實施項目驅(qū)動教學(xué),目的是通過設(shè)計具有實際意義的項目,讓學(xué)生在實際問題解決過程中學(xué)會運用Python編程,鍛煉學(xué)生問題分解、抽象分析以及算法設(shè)計等計算思維。在設(shè)計項目時,教師應(yīng)依據(jù)學(xué)生的興趣及實際學(xué)情設(shè)計難度適中的項目,以保障學(xué)生都能在項目完成過程中收獲知識和技能,順利發(fā)展計算思維。
例如,在Python教學(xué)中,教師設(shè)計“校園活動投票平臺”項目,此項目與學(xué)生現(xiàn)實生活相關(guān),可以有效激發(fā)學(xué)生參與和完成項目的興趣。在項目開始前,教師帶領(lǐng)學(xué)生對項目進行問題分析和分解,使學(xué)生明白此項目需要解決的是學(xué)?;顒油镀苯Y(jié)果的統(tǒng)計問題,于是學(xué)生可在教師的指引下將項目分解為用戶登錄、活動展示、投票操作、結(jié)果統(tǒng)計等幾個子問題。此后,教師要求學(xué)生對每個子問題的具體情況做詳細的分析,確定使用哪些編程語言和技術(shù)[1]。完成問題分析與分解后,教師指導(dǎo)學(xué)生進行此項目的算法設(shè)計與實現(xiàn)探索。在算法設(shè)計環(huán)節(jié),學(xué)生需要將實際問題轉(zhuǎn)化為計算機可以處理的問題,即將學(xué)生的投票結(jié)果使用字典數(shù)據(jù)存儲,使用冒泡排序算法統(tǒng)計學(xué)生的投票票數(shù),得到投票結(jié)果排序。在算法實現(xiàn)完成進入代碼調(diào)試與優(yōu)化環(huán)節(jié)后,教師可指導(dǎo)學(xué)生以最優(yōu)化思維思考當(dāng)前的代碼使用情況,將重復(fù)代碼去除,將復(fù)雜的代碼用簡單的代碼替換,實現(xiàn)代碼的可讀性與可維護性。最后,教師要求學(xué)生展示項目成果,并對學(xué)生的項目成果進行個性化指導(dǎo),促使學(xué)生反思整個項目完成過程及用到的算法知識,最終培養(yǎng)鍛煉學(xué)生的計算思維。
(二)問題導(dǎo)向?qū)W習(xí)
在高中Python教學(xué)中培養(yǎng)學(xué)生的計算思維時,教師可以實施問題導(dǎo)向?qū)W習(xí)法,通過提出各種實際問題引導(dǎo)學(xué)生思考問題解決的方法,向?qū)W生介紹Python的具體用法和應(yīng)用優(yōu)勢,并在此過程中有效培養(yǎng)學(xué)生的計算思維[2]。在具體的問題設(shè)計中,教師應(yīng)基于學(xué)生學(xué)情設(shè)計難度適中的問題,再基于Python的使用特點進行多學(xué)科知識問題設(shè)計。
例如,在Python教學(xué)中,教師提出:“如何使用Python計算出兩地之間的距離?”在解決此問題時,學(xué)生需要思考兩個問題:第一個問題是如何將此實際問題轉(zhuǎn)化為抽象的數(shù)學(xué)模型;第二個問題是如何以Python編程實現(xiàn)算法,求出兩地間的距離。當(dāng)學(xué)生找到兩個問題的答案時,其抽象思維、邏輯思維、算法思維等均將得到有效鍛煉。在具體教學(xué)中,教師可向?qū)W生展示相關(guān)地圖,提出問題:“我們已經(jīng)知曉兩個地點的經(jīng)度和緯度,如何使用Python計算出這兩個位置間的距離?”學(xué)生應(yīng)用數(shù)學(xué)思維開始分析問題:①已知條件為兩個地點的經(jīng)度和緯度;②求解問題是兩地之間的直線距離;③可能涉及的知識點是球面幾何及三角函數(shù)知識等;④應(yīng)思考經(jīng)度和緯度如何轉(zhuǎn)化為可計算的數(shù)學(xué)形式。確定問題后,學(xué)生開始進行抽象思考,建立數(shù)學(xué)問題模型,接著基于數(shù)學(xué)問題模型設(shè)計計算兩地距離的算法步驟,最后應(yīng)用Python編程框架填寫代碼,計算出具體的距離。在問題導(dǎo)向?qū)W習(xí)過程中,學(xué)生的關(guān)注點先放在問題的分析與分解上,接著進行數(shù)學(xué)的抽象思考,此后進行算法分析,最后是應(yīng)用Python編寫計算兩地距離的代碼,整個解題過程學(xué)生思路清晰,思維邏輯順暢,計算思維隨之培養(yǎng)形成。
(三)小組合作探究
在高中Python教學(xué)中培養(yǎng)學(xué)生的計算思維時,教師可以組織學(xué)生合作探究,學(xué)生在團隊合作過程中互動交流溝通,尋找問題的解決思路和辦法,最終能在合作解決問題過程中培養(yǎng)團隊協(xié)作能力和溝通交流能力,成功發(fā)展計算思維。在小組合作中,學(xué)生需要分工合作,即有的學(xué)生負責(zé)問題分析,有的學(xué)生負責(zé)算法設(shè)計,還有的學(xué)生負責(zé)代碼實現(xiàn)與測試等,最后合作分享自己負責(zé)的內(nèi)容,此時學(xué)生將通過分享學(xué)習(xí)到他人的思維方式,激活問題解決方法思路,實現(xiàn)計算思維的培養(yǎng)與發(fā)展[3]。
例如,在Python教學(xué)中,教師充分考慮班級學(xué)生在Python編程語言學(xué)習(xí)時的基礎(chǔ),學(xué)習(xí)能力以及在實際問題解決中表現(xiàn)出的能力等因素,遵循“組間同質(zhì),組內(nèi)異質(zhì)”原則,將學(xué)生合理劃分為若干小組,每個小組學(xué)生人數(shù)在4—6人,此后向?qū)W生布置合作任務(wù),如“開發(fā)一個簡單的小游戲”任務(wù),此時學(xué)生在小組內(nèi)合作分工,有的學(xué)生負責(zé)游戲的界面設(shè)計,有的學(xué)生負責(zé)編程和測試等。在合作分工中,組內(nèi)學(xué)生均有各自負責(zé)的任務(wù),但任務(wù)之間又緊密聯(lián)系,因此,學(xué)生在小組內(nèi)需要進行必要的溝通交流,如開發(fā)游戲界面的學(xué)生提出問題:“我們開發(fā)的小游戲?qū)儆谝嬷穷悾敲唇缑鎽?yīng)以抽象為主,還是以趣味為主?”在討論中,學(xué)生確定抽象的游戲界面,讓整個小游戲體現(xiàn)出神秘感。在編程環(huán)節(jié),學(xué)生遇到的問題更多,如“小游戲的關(guān)卡難度如何?”“小游戲應(yīng)設(shè)幾個關(guān)卡?”“如何將難度體現(xiàn)在游戲的各個環(huán)節(jié)中?”等。學(xué)生在解決以上問題的過程中有效合作,溝通交流,邏輯思維與問題解決思維會異?;钴S,最終順利培養(yǎng)、提高計算思維。
(四)編程競賽活動
在高中Python教學(xué)中培養(yǎng)學(xué)生的計算思維時,教師可以定期舉辦Python編程競賽活動,通過競賽的競技特點激發(fā)學(xué)生的競爭意識,促進學(xué)生思維發(fā)展,成功培養(yǎng)發(fā)展其計算思維。為鼓勵所有的學(xué)生都積極參與到編程競賽活動中,教師可以設(shè)置不同難度的層級挑戰(zhàn)競賽,學(xué)生按照自己的能力選擇適合的編程任務(wù)完成,最后依據(jù)編程任務(wù)難度級別及完成的時間、完成的效果等評估,給出最終得分[4]。例如,教師在Python階段性教學(xué)結(jié)束后,可以組織開展高、中、低三個層級的編程競賽活動,要求所有學(xué)生參加此項活動。在競賽前,教師組織學(xué)生復(fù)習(xí)鞏固Python編程的數(shù)據(jù)類型、控制結(jié)構(gòu)、模塊及函數(shù)等基礎(chǔ)知識,并對學(xué)生進行問題分解、抽象、算法設(shè)計以及編程調(diào)試等計算思維專項訓(xùn)練,使學(xué)生熟練掌握Python編程。此后,教師對學(xué)生進行模擬競賽教學(xué)指導(dǎo),使學(xué)生對編程競賽有一個較為系統(tǒng)的整體認知,為后續(xù)學(xué)生正式參加編程競賽活動奠定扎實基礎(chǔ)。在編程競賽活動正式開始后,以班級為單位,組織學(xué)生先進行低層級的編程競賽活動,接著進行中層級和高層級的競賽活動,學(xué)生將在層級性質(zhì)的編程競賽活動中進行至少三次的問題分析、算法設(shè)計、調(diào)試程序等計算思維專項練習(xí)。比如在問題分析環(huán)節(jié),學(xué)生需要完成的編程任務(wù)是:
求兩個數(shù)的最大公約數(shù)程序設(shè)計。此時學(xué)生需要將問題分解為計算機可以處理的問題,思考過程中,學(xué)生回憶最大公約數(shù)的定義和性質(zhì),確定編程所需的函數(shù)、結(jié)構(gòu),最終設(shè)計出求解兩個數(shù)最大公約數(shù)的編程。在高中階段開展編程競賽活動,既可以為學(xué)生提供編程實踐應(yīng)用的機會和平臺,還能助力學(xué)生在具體的編程設(shè)計與實踐中經(jīng)歷多次的計算思維訓(xùn)練,這對學(xué)生計算思維的培養(yǎng)有積極促進作用。
(五)多元教學(xué)評價
在高中Python教學(xué)中培養(yǎng)學(xué)生的計算思維時,教師應(yīng)采取多元化的評估方式,以形成性評價和總結(jié)性評價并重的評價方式評估學(xué)生在Python學(xué)習(xí)過程中的表現(xiàn)、學(xué)習(xí)效果以及在項目活動、編程競賽活動以及小組合作探究等活動中的學(xué)習(xí)表現(xiàn)和學(xué)習(xí)成果,并將評價結(jié)果反饋給學(xué)生[5]。
例如,在Python教學(xué)中,教師采取多元教學(xué)評價模式對學(xué)生在Python學(xué)習(xí)中的計算思維培養(yǎng)情況進行綜合評價。首先,評價主體應(yīng)多元化,即不僅要有教師評價,還需有學(xué)生自評和學(xué)生互評,教師應(yīng)評價學(xué)生在編程過程中的問題分析與分解、抽象、算法設(shè)計以及程序調(diào)試時的個體表現(xiàn)和學(xué)習(xí)成果;學(xué)生應(yīng)評價自己在整個學(xué)習(xí)過程中的表現(xiàn)和不足;學(xué)生要在互評中知曉自己與他人在小組合作中的貢獻和表現(xiàn),促進彼此之間互相學(xué)習(xí)和成長。其次,評價內(nèi)容也應(yīng)多元化,不僅要對學(xué)生的Python編程知識和技能掌握程度進行評價,還需對學(xué)生的問題分解和分析等計算思維的培養(yǎng)情況進行評價,如評價學(xué)生是否可以獨立將一個大的問題分解為若干子問題;學(xué)生是否可以將實際問題抽象為計算機可以處理的問題;學(xué)生是否可以設(shè)計出合理的算法解決問題;學(xué)生是否可以綜合運用所學(xué)知識優(yōu)化程序,進行有效程序調(diào)試等。最后,評價方式也應(yīng)多元化,要以形成性評價方式評價學(xué)生在整個Python編程學(xué)習(xí)過程中的表現(xiàn)和學(xué)習(xí)成果,如課堂表現(xiàn)、作業(yè)完成情況、競賽活動表現(xiàn)等。同時,教師應(yīng)在Python教學(xué)結(jié)束后對學(xué)生進行總結(jié)性評價,基于項目任務(wù)完成的情況確定評價結(jié)果,最終明確學(xué)生計算思維發(fā)展水平。
四、總結(jié)
綜上所述,在高中Python教學(xué)中,教師可以通過項目驅(qū)動教學(xué)、問題導(dǎo)向?qū)W習(xí)、小組合作探究、編程競賽活動以及多元教學(xué)評價等策略的實施,為學(xué)生提供計算思維培養(yǎng)機會,促進學(xué)生邏輯思維、創(chuàng)新思維以及問題解決能力的提高。教師應(yīng)持續(xù)探索Python教學(xué)中計算思維的培養(yǎng)策略,實現(xiàn)學(xué)生計算思維培養(yǎng)目標(biāo)。
[參考文獻]
[1]王宗根.高中信息技術(shù)教學(xué)中學(xué)生計算思維的培養(yǎng)策略[J].高考,2024(11):93-95.
[2]黃志君.高中信息技術(shù)教學(xué)中學(xué)生計算思維的培養(yǎng)策略探討[J].成才,2024(7):70-72.
[3]韋天真.高中信息技術(shù)教學(xué)中學(xué)生計算思維的培養(yǎng)策略研究[J].名師在線,2024(5):88-90.
[4]鞏辰.高中信息技術(shù)教學(xué)中學(xué)生計算思維培養(yǎng)策略探究[J].中國多媒體與網(wǎng)絡(luò)教學(xué)學(xué)報(下旬刊),2023(12):157-159.
[5]王文靜,陳瀾.Python程序設(shè)計教學(xué)中學(xué)生計算思維培養(yǎng)策略:以編寫“猜數(shù)字”游戲為例[J].中國信息技術(shù)教育,2022(16):30-32.