
在學生成長的過程中,總是有一些經典的數學難題困擾著他們,如果能用編程的方式解決這些問題,對學生思維方式的啟發將是巨大的。編程思維作為一種解決問題的思維方式,將會對學生的終身學習產生深遠的影響。
● 編程思維
編程思維是人們在解決程序化問題時,喚起的思維方式,包括邏輯推理和解決問題的思路等方面。編程思維作為方法論的指導作用隨處可見,如建筑項目的規劃體現了可行性分析的思維方式、十進制體現了信息編碼的思維方式、割圓術體現了極限思維的思維方式。
● Python語言
Python是一款功能強大、成熟且穩定的高級語言,具有如下優點:①入門簡單。程序界面簡潔,程序編寫過程簡單,容易上手。②難度系數低。設計嚴謹,從問題解決的角度出發,用簡潔的語言和算法來解決問題。③兼容性強。免費開源,可移植,可擴展,可以嵌入多平臺使用。④類庫豐富??梢允褂胻urtle庫來繪制各種精彩的圖案等。
● 創意案例
本案例以培養學生的編程思維為主要目標,激發學生的興趣,讓學生在體驗編程的快樂中培養編程思維。
1.情境引入
教師利用Python編寫的“讀心術”小程序與學生互動,讓學生近距離感受Python編程的神奇。
2.角色扮演
教師提供事先編好的Python小程序,運行代碼,讓學生角色扮演人工智能醫生和來訪者,零距離體驗人工智能醫生的底層代碼;接著讓學生體驗“恐龍島尋寶”游戲,將課堂氣氛推向高潮,激發學生設計互動游戲的欲望;然后帶領學生讀代碼,引導學生創作互動小游戲。
在熱身環節結束后,教師拋出問題:某人有一對兔子,假設雌雄各一只,從第3個月開始每個月都會再生一對兔子,新生的兔子到第3個月又開始生小兔子,如果兔子一直長生不老,那么第n個月后,一共有多少只兔子?(如下頁圖1)
如果用傳統的方法來處理,解題過程比較復雜,因為筆者引導學生借助Python來解決這個問題。
3.抽象建模
引導學生透過復雜的現象看到本質問題,這個問題實際上就是數學上的斐波那契額數列,而求兔子的對數,則可以抽象為斐波那契額數列求和。因此,可以借助循環語句和變量循環賦值的方法來編程解決此問題。
以1對為單位,從第1個月開始,每個月總共的兔子數量是1,1,2,3,5,8,13……可以看出前2個月為1,從第3個月開始,當月的數量為前2個月數量之和。假設第1項為n1=1,第2項n2=1,那么第3項n3=n1+n2,然后將n2的值賦給n1,將n3的賦值給n2,以此類推進行循環,找出此數列的前n項。
4.算法設計
算法是用于解決某個問題的一系列步驟,是解決問題的指令集合,在用程序解決實際問題的時候,一般先設計算法,然后再用特定的程序設計語言來編程。算法設計的優劣會直接影響程序執行效率的快慢,因此算法也被稱作是程序設計的靈魂。本案例使用流程圖來呈現算法(如圖2)。
5.程序實現
引導學生按照設計的流程圖用Python來完善程序(如圖3),本節課重點內容是print()語句、input()語句以及循環語句的使用。在程序實現的過程中,引導學生不斷調試,培養其認真嚴謹的治學態度
6.多元評價,共同提高
多元評價在編程思維的培養過程中也非常重要,形成性評價應貫穿整個學習過程,幫助教師在教學過程中根據學生反饋及時發現學生的掌握情況,以便調整自己的授課進度。教師在課堂最后引導學生進行自我評價,生生互評,使學生根據他人的分享和評價發現更加優化的程序設計思路。
● 結語
Python語言編程非常適合沒有編程基礎的初中生學習,界面友好,功能很強大,其摒棄了復雜的語法,從問題解決的角度出發,用簡潔的語言和算法來解決問題。編程思維提升的是學生的元認知能力,即“對認知的認知”,元認知能力強的學生,有清晰的目標,并且執行能力強,善于總結反思。因此,編程思維應作為一種文化價值觀得到傳播,使學生樂學善思,成為學習的主人。
參考文獻:
[1]查德清.務本求實 簡約靈動 科學有效——我看信息技術高效課堂[J].中小學信息技術教育,2011(06):34-35.
[2]臧美鳳.STEAM教學模式在初中信息技術課堂中的應用——以蘇州高新區實驗初級中學為例[J].中學教學參考,2020(03):16-18.
[3]徐燕萍.境脈學習:一種引導學習轉型的新范式[J].江蘇教育研究,2019(10):23-27.
[4]Wing Jeannette M.Computational Thinking[J].Communication of the ACM,2006,49(03):33-35.
作者簡介:臧美鳳,碩士,中學一級教師,江蘇省蘇州高新區學科帶頭人。