吳傳夏
【摘 要】計算思維是信息技術課程核心素養之一。本文以“順序結構程序設計”為例,探索了基于計算思維培養的初中Python教學策略建構與實踐路徑,歸納出學科融合、提出問題,憑借已知、分析問題,提出方案、解決問題,拓展遷移、提升思維等策略,旨在為初中Python課程教學中培養學生計算思維提供參考。
【關鍵詞】計算思維;Python;策略建構
【中圖分類號】G434? 【文獻標識碼】A
【論文編號】1671-7384(2022)04-057-03
Python是計算機編程語言,相較其他語言,Python作為一種“弱類型”的語言,是簡潔主義思想語言的代表,是最接近自然語言的通用編程語言。Python編寫代碼效率高,Python實現C語言編寫的相同功能的編程任務,其任務量約為C語言的1/10。目前Python已經列入浙江省初中信息技術教材,作為初中信息技術教學的一個重要內容。在Python教學中,不少教師通過模仿的方式讓學生掌握技術操作,在此基礎上要求學生運用技術解決實際問題。然而,這樣的教學模式不利于學生計算思維的培養。Python教學策略的構建和實踐應該基于自身廣泛的兼容性和應用性,指向計算思維培養,才能使信息技術教學聚焦問題解決的過程,引領學生在提出問題、分析問題和解決問題的過程中,掌握計算機基本的思想和方法,不斷提高理解和解決更復雜問題的能力,使問題解決方案自動化和系統化程度更高。
本文以“順序結構程序設計”為例,探索基于計算思維培養的初中Python教學策略建構與實踐路徑。
學科融合,提出問題
學科融合是當前課程改革的一個重要方向,它打破學科之間的壁壘,確立大課程視野。初中Python教學應該基于大課程視野,改變常態化做法。教師除了借助學生熟悉的生活現象和信息技術學科內容素材自然地提出問題外,還應該基于學科融合視角,借助學生已有知識儲備提出問題,讓提出的問題有助于降低Python的教學難度。
“順序結構程序設計”一課,基于大學科視角,教師借助學生熟悉的“海倫公式求解三角形面積”自然地提出問題。教師以此作為程序實例,意在實現兩個目的。第一個目的是借助程序實例,引導學生理解并掌握順序結構程序的執行流程,降低信息技術學習難度;第二個目的是引導學生復習鞏固已學的信息技術知識,包括變量與表達式、常用函數和賦值語句等。
教師借助多媒體展示三角形圖形,提出問題:這是一個什么圖形?要利用“海倫公式求解三角形面積”,需要滿足哪些條件?學生借助既有的知識儲備,不難回答這是一個三角形,要利用“海倫公式求解三角形面積”,需要知道三個邊的長度。教師借助“海倫公式求解三角形面積”解答流程,自然地引出“順序結構程序設計”內容。
問題提出時,基于跨學科融合的視角,將信息技術教學內容與數學學科知識有機結合起來。學科融合促進不同學科之間的融會貫通,使學科教學互相促進,互相滲透,有助于促進學生全面素質發展,增強學生信息技術學習過程中的獲得感。
憑借已知,分析問題
學科融合視角下,教師應該基于學生既有的知識儲備,進一步調動學生已知,引導學生憑借已有的知識對問題進行描述,進而提高學生分析問題的透徹性。學生既有的問題能夠成為信息技術學習的重要資源,為學生分析問題提供有力的支持。在借助學生已知分析問題的過程中,教師應發揮主導性作用,尋找合適的載體對學生進行必要的引導,提高學生自主分析問題的效能。
“順序結構程序設計”一課,借助“海倫公式求解三角形面積”解答流程,教師引導學生運用a、b、c表示三條邊,并運用字母描述三條邊之間的關系。在此基礎上,教師又借助問題,進一步引導學生調動既有的知識儲備:我們要利用海倫公式求解三角形面積,已知三條邊的長度a、b、c,三角形面積用字母“s”表示,三角形面積可用什么公式計算?
該環節在引導學生分析問題時,充分發揮學科融合優勢,使學科知識轉變為信息技術教學的資源。在調動學生已知時,又充分發揮教師主導性作用,借助問題載體引導學生思維逐步地走向清晰。學生在“海倫公式求解三角形面積”解答流程啟發下,較好地理解“順序結構程序設計”思維,依據解決問題的具體步驟,即順序結構,按照次序編寫程序代碼。如此,不僅使學生數學知識得到有效的鞏固和運用,也為“順序結構程序設計”搭建支架。學生分析問題的思維也得到進一步的解放,不再局限于學科內知識,而是基于跨學科融合的視角審視信息技術學習,使計算思維擺脫常態思維束縛,更加開放而富有創造力。
提出方案,解決問題
Python教學的關鍵之一是引導學生提出方案,以培養學生解決問題的實際能力。學生設計方案需要經歷一個不斷提升的過程。具體來說,方案的生成需要學生從算法向程序升級。這就需要教師基于方案生成的特點,引導學生從算法入手,再引導學生編寫代碼并進行調試運行,從而運用提出的方案解決實際問題。
“順序結構程序設計”一課,算法設計如下:算法設計首先需要解決哪些問題,試著解決這些問題并試著運用自然語言進行描述。在問題引導下,學生了解了算法設計需要先明確兩個問題,一是明確輸入的數據,二是明確輸出的數據。在明確數據基礎上,學生再嘗試運用自然語言進行描述。
在學生運用自然語言描述基礎上,教師進一步引導學生將解決問題的方案清晰化,借助流程圖的形式引導學生設計“海倫公式求解三角形面積”的流程圖。
學生編寫代碼和調試運行設計采用小組合作探究的學習形式,先闡述基本的思路,明確順序結構的程序編寫主要依靠基本語句和表達式。在學生小組合作學習基礎上,各個小組對編寫代碼和調試運行展開互助學習,力爭組內每位學生均能完成編碼并調試成功。
該環節是學生計算思維形成的關鍵階段,實施過程中,充分發揮學生主觀能動性,圍繞數學實例對學生提出問題并提出方案搭建思維支架,將復雜的問題進行細化分解,從而達到化繁為簡的目的,再圍繞基本任務組織學生開展小組合作探究學習,讓問題解決做到水到渠成。學生較為輕松地掌握了順序結構程序的執行流程,也使表達式、變量、賦值語句和函數等知識得到及時的鞏固。學生經歷了模型抽象的過程,問題概括能力得到有效的提升,自我建構能力也在解決問題中獲得自然生長的機會。
拓展遷移,提升思維
信息技術是一門實踐應用型學科,學生計算思維發展水平在很大程度上需要實踐加以檢驗。Python教學作為信息技術關鍵內容,更需要學生獲得運用知識解決問題的機會。因此,教師應該基于學生計算思維提升的需要,進行適當的拓展遷移訓練,引領學生計算思維在拓展遷移中從低級階段向高級階段提升,使學生具備運用信息技術知識解決相關領域實際問題的能力。
“順序結構程序設計”一課借助“海倫公式求解三角形面積”程序實例,教師進行了拓展遷移訓練:編寫程序,計算圓的面積與周長。拓展遷移訓練時,學生先對程序實例進行總結與回顧,再進行實踐操作。最后,學生再對實踐操作進行總結抽象,形成以下基本流程:(1)問題分析。依據圓的半徑R,計算圓的面積S和周長C。(2)算法設計。自然語言,輸入:圓的半徑R;處理:圓的面積S,圓的周長C;輸出:圓的面積S和周長C;設計流程圖。(3)填空代碼。(4)上機運行。
通過重構應用場景,引導學生從三角形面積向圓的面積和周長拓展延伸。教師配合學生實踐操作,引導學生對操作進行高度抽象,使學生計算思維獲得二次發展的機會。學生在拓展遷移學習過程中,舉一反三、觸類旁通的能力獲得較好的發展。拓展遷移環節,教師可以基于學生創造性潛能,鼓勵學生打破常規思維,在解決問題的過程中積極創新,提出富有創造性的見解,并給學生創造性見解提供展示的機會,在展示中促進學生計算思維的深度碰撞。如此,學生在解決問題的過程中,將打破常規思維束縛,不斷提出富有建設性的方案,使方案獲得不斷地優化,最終形成最佳方案,全面提升學生解決問題的能力。
Python教學評價設計應該進行創新,將評價和成果展示有機結合起來,借助展示活動,給學生計算思維創造表達的機會,也為評價提供依據。通過評價活動,學生更好地修正與完善計算思維,實現計算思維從低階向高階的提升。
計算思維是信息技術課程核心素養的關鍵因素,初中Python教學應將學生計算思維培養作為基本任務,并基于學生計算思維發展的需要,突出學生主體性,引領學生經歷提出問題、分析問題和解決問題的過程,給學生計算思維進階創造自由生長的空間,促進學生計算思維的形成,提高核心素養。
參考文獻
徐吉. 指向計算思維培養的編程教學策略建構與實踐——以初中編程教學為例[J]. 中小學信息技術教育,2020(11): 59-61.
李歡. 基于計算思維培養的初中Python課程教學探究——以“選擇結構:我的智能醫生”一課為例[J]. 教育信息技術,2020(11): 39-42.
劉載興.以培養計算思維為導向的初中Python 程序教學實踐[J]. 教育與裝備研究,2021(7): 47-51.
鄭文軍,王成軍. Python程序設計的多元化循環教學模式探索[J]. 計算機教育,2021(9): 148-155.