巴軍


● 教學內容
本課為新課程必修模塊《數據與計算》中“算法與程序實現”部分的內容。通過電視游戲“猜商品價格”引入編制猜數游戲這個項目。學生在教師引導下進行任務分解,明確需求:生成隨機數、判斷數值大小以及重復猜數等部分程序設計與實現。本課使用Python語言,每一部分具體語句學習由學生通過教學輔助網站進行自主探究學習,完成對生成隨機數的函數學習,掌握分支結構及程序實現,并認識循環結構,了解循環結構的作用與特點,初步學會使用while循環語句結構解決現實問題。
編制猜數游戲是一個比較綜合的項目,結果可簡單可復雜,實現方法多樣,能夠給學生更多的發揮空間。教師通過教學,使學生對用程序設計解決現實問題的方法有更深刻的認識,對程序的三種結構——順序結構、分支結構和循環結構有更深刻的理解與應用,提高其學習程序設計的興趣。同時,在學習的過程中學生的計算思維、數字化學習與創新能力也得到重點關注與培養。
● 學生情況
高一學生已學習了順序結構和分支結構,熟悉Python語言的編程環境和操作,對用程序設計方法解決現實問題有初步的經驗及一定的抽象能力。學生學習水平參差不齊,差距較大。同時,學生好奇心較強,理解力趨于成人,事物背后的邏輯、思維的高階內容對他們有天然的吸引力。因此學生間的溝通、交流與分享,教師的及時輔導可以促進學生的學習。
● 教學方式與手段
啟發式教學、項目學習、自主探究、互助交流。
● 技術準備
硬件:計算機、廣播系統、局域網、投影、黑板;軟件:Python編程平臺、輔助學習網站、PPT、部分程序。
● 教學目標
認識隨機數并學會使用Python提供的隨機函數生成隨機整數;熟練掌握分支結構并會應用;初步認識循環結構,了解其特點及適用情況;學會使用while循環語句結構解決實際問題,知道循環結構的執行過程;體會用程序設計解決問題的方法,提升計算思維、數字化學習與創新能力。
● 教學重難點
重點:學會用隨機函數randint()生成隨機整數;有意識地把現實中有規律的重復的問題用循環結構來解決,學會用while循環結構解決實際問題。
難點:認識并理解循環結構,用循環結構及語句解決實際問題。
● 教學流程示意圖
● 教學過程
1.引入(5分鐘)
師:大家玩過猜數游戲嗎?怎么玩?誰能描述一下?(教師描述在一檔電視節目中的猜商品價格的活動)
學生講述玩過的猜數游戲,描述游戲規則。
設計意圖:由游戲引入,激發學習興趣,引出學習主題。
2.項目分析(3分鐘)
師:如果編制一款猜數游戲,你們認為需要做哪些工作?
學生思考,根據經驗回答解決猜數游戲的需求,完成項目分析,進行項目拆解,為后續分步驟解決問題做準備。
設計意圖:引導學生分析猜數游戲的任務需求。
3.自主探究——順序結構,解決生成隨機整數問題(5分鐘)
教師引導學生通過輔助網站進行自主探究學習。
學生通過輔助網站中的隨機數欄目的學習,完成生成隨機整數的編程問題。學會使用import random語句、randint(a,b)函數,展示、交流、分享。
設計意圖:進行數字化學習,掌握用Python生成隨機數的方法。
4.復習掌握——用分支結構解決數值判斷問題(10分鐘)
教師引導學生完成對猜數游戲中數值判斷對錯部分的編程,巡視輔導,發現不同的做法提問并展示完成情況。
學生完成對猜數游戲中數值判斷對錯部分的編程、展示、分享。
設計意圖:復習、掌握分支結構,熟練應用。
5.自主探究——用循環結構,實現重復猜數(15分鐘)
師:如果用戶使用你編制的程序,有什么不方便的地方嗎?如何編程實現重復猜數?
設計意圖:引導學生思考計算機的特點,對重復的事、有規律的事情可以用計算機來完成,怎么完成?引出循環結構的學習需求。發現問題,引出對重復問題的解決需求。
學生嘗試做到重復猜數,如用復制代碼的方式等,并思考、交流。
教師巡視輔導,發現問題。組織學生交流,相互學習,引導學生解決編程中出現的各種問題,并理解為什么會出現這些問題。
學生打開輔助網站中的“循環結構”欄目,認識循環結構,學習用循環結構語句。教師講解案例,學生交流對循環結構的認識,編程實現重復猜數。調試程序,對編程中出現的各種問題進行解決、交流,相互改錯。
設計意圖:引入對循環結構的學習,了解循環結構的定義、解決問題的適用情況以及while語句,知道循環結構的執行過程,初步學會使用while循環解決重復的問題。在發現問題的過程中提升能力,在調試程序的過程中收獲成就感。
6.互助交流——認識循環結構(5分鐘)
教師引導學生對循環結構的作用、語句使用方法進行總結、提高。
學生通過對程序的不斷修改,思考并分析進入循環的條件、退出循環條件、循環體內部的內容。
設計意圖:認識循環結構,體會用程序設計解決問題的方法,提升計算思維、數字化學習與創新能力。
7.總結、擴展(2分鐘)
師:關于猜數游戲,你們還有什么想法沒實現嗎?下一步打算怎么設計?
學生交流。
設計意圖:擴展思路,相互啟發,程序本身是需要不斷改進的。
點 評
(1)本節課在教學順序上較以往常規方式有了較大調整。以往的順序是:教師講隨機數,學生完成相應練習——教師講分支結構,學生完成相應練習——教師講循環結構,學生完成相應練習(包括猜數游戲)。本課教學順序是:布置猜數游戲項目,教師提供學習資源——學生自主探究,學習隨機、循環——展示、交流——學生相互講解——認識循環結構——完善自己的程序(——撰寫程序設計報告)。
(2)學生通過制作程序作品,把各種知識點串起來,逐步形成知識體系,學習順序和成果學生自主選擇,實現了知識的自我構建;課堂教學結構由以教師講授為主轉變到以學生自主學習為主。
(3)本節課主題選擇有一定的開放性和綜合性。課堂教學利用小微項目,提高學生在課堂上的專注程度、投入程度,給學生以更多的自主,使教學目標得到更充分落實。
(4)本節課,教師注重學生在學習過程中思維的變化,強調學生的體驗,突出學生在編制、調試程序并逐步解決問題,以及與同學交流互助的過程中獲得成就感。弱化學生程序作品的絕對水平差異,強調課上習得的知識增長;注重學生學習主動性,強調教師的組織、引導、輔助作用。
(5)本節課強調用計算機解決問題的特點,重點考查學生的自主學習能力,弱化對程序語法的記憶。
(6)本節課以內容豐富、組織有序的學習資源搭建學生自主探究與數字化學習的腳手架,使教師有更多的時間抓住學生課堂生成的問題,有更多的時間輔導學生,提高課堂教學效率。
(點評人:北京市教科院 王振強)