張艷云


案例背景
本案例來自一節《Python選擇結構3》的公開課,if嵌套語句屬于三大結構中的選擇結構,而選擇結構是程序設計結構中的一個重要模塊,它比順序結構復雜,且內容較多,這節課是選擇結構的第三節課,對學生而言難度稍大。2022年,教育部頒發了《義務教育信息科技課程標準(2022年版)》,課程理念中提到“創新教學方式,以真實問題或者項目驅動,引導學生經歷原理運用過程、計算思維過程和數字化工具應用過程,建構知識,提升問題解決能力”。筆者本節課基于此理念,依托三個實際問題,搭建一個小的任務群,以培養核心素養為目標,以知識技能為載體,以任務活動為途徑,開展探究學習。本節課包含三個與生活相關的案例(第三個案例略),在教學過程中,教師引導學生對問題進行分析,并將問題拆解,進而一步步解決問題,促進學生對問題解決方法的理解與掌握,同時體會程序設計的思想,培養學生的計算思維。
學情分析
經過前期的學習,學生的邏輯思維能力逐步提升,可以有條理地用語言表達一個過程,為進一步學習創造了有利的條件。同時,學生已經理解選擇結構的概念,初步嘗試了如何利用三種選擇結構編寫程序解決問題,體會到了程序設計的樂趣,期待著能夠利用編程解決更多的問題。
教學目標
①進一步掌握三種選擇結構的基本格式:單分支(if)、雙分支(if…else)、多分支(if…elif…else)。
②掌握if嵌套語句的語法格式、不同級別代碼縮進的規范。
③理解“列表”的概念,并能使用“列表”解決問題。
④提煉生活中的實際問題,創設情境,將問題進行拆解,使用if嵌套語句編程,提升計算思維,感受計算機編程的魅力。
教學重難點
重點:掌握if嵌套語句的基本語法格式,認識列表,能用if嵌套語句編程解決問題。
難點:理解if嵌套語句中各分支的邏輯關系,能夠靈活應用if嵌套語句編程解決問題。
案例描述
1.回顧總結
師:什么是選擇結構?(學生回答)表示程序的處理中出現了分支,根據判斷的結果決定如何執行后續流程中的語句,選擇結構使代碼的執行順序有了更多選擇,以實現更多的功能。選擇結構有哪幾種?
生:三種,即單分支、雙分支、多分支結構。
設計意圖:通過教師提問,學生回答,教師歸納,再次加強對三種選擇結構的理解、熟悉、掌握。
2.新課導入
師:如果希望在if條件滿足的情況下,再增加額外的判斷,該如何處理?
學生思考。
3.新知學習
①單分支(if)、雙分支(if…else)、多分支(if…elif…else)之間可以相互嵌套。
②在嵌套時,注意不同級別代碼縮進的規范。通過“縮進”來表明else與哪個if匹配(如圖1)。
③#:注釋符號,表示右邊的任何數據都不執行,會被忽略。
設計意圖:教師在提出問題后,引導學生儲備新知,并理解掌握新知,接下來利用其解決問題。
4.情境創設一
教師陳述交通法規定:酒駕,暫扣駕照6個月,處2000元以下的罰款,若再犯,處10日拘留,罰款,并吊銷駕照;醉駕,吊銷駕照,追究刑事責任,五年內不得重新取得駕照,出現交通事故的追究刑事責任,公職人員開除公職。
設計意圖:創設情境,引出問題,拓寬學生的知識面。
任務一:駕駛員的血液酒精含量小于20mg/100ml不構成酒駕,大于等于20mg/100ml構成酒駕,大于等于80mg/100ml構成醉駕。請利用Python編寫程序判斷是否構成酒后駕車。程序代碼如圖2所示。
教師請學生思考并補全代碼。對于任務一,可通過流程圖引導學生分析問題,分解步驟,在補全代碼后,學生也就能夠理解if嵌套語句,并能夠動手實踐。
設計意圖:酒后駕車是生活中的實際問題,引進課堂可增強學生的興趣,引導學生嘗試解決生活中的問題。
5.反饋問題
教師展示部分學生的任務完成情況,并反饋出現的問題:①沒有嚴格遵循縮進原則。②if和else后面丟失冒號。③除了雙引號里面的內容外,其他符號均需在英文狀態下寫入。
設計意圖:以上的問題,學生非常容易出錯,在學生實踐后提出來加以糾正,印象更深。
6.情境創設二
教師利用大小月來歷的故事視頻介紹大小月的由來。
任務二:利用Python編寫程序。要求:用戶從鍵盤輸入某年和某月,能輸出該月有多少天?
師:同學們都知道大月有31天,小月有30天,還有一個特殊的2月,閏年2月有29天,平年2月有28天。所以,我們可以將任務分成兩個問題來解決:一是大小月的判斷,二是閏年平年的判斷。
問題一:大小月的判斷。
教師提問:大小月有幾種情況?
學生回答:大月31天,小月30天,2月需要判斷。
問題二:閏年的判斷。
如果某年能被4整除而不能被100整除,或者能被400整除,則為閏年,否則為平年,嵌套“閏年判斷的雙分支語句”,程序代碼如圖3所示。
設計意圖:思路分析也是算法分析,要讓學生學會拆解問題,將大問題化成小問題,培養學生解決問題的能力,鍛煉學生的計算思維。
7.新知導入—列表(動態數組)
列表是Python中的一種數據類型,是任意對象的有序集合。簡而言之,它是一組值,用逗號隔開,放在方括號內。教師舉例如圖4所示。
設計意圖:此處增加新知,是為了接下來能更有效地解決問題,也是讓學生知道在不斷解決問題的過程中增加新知識的學習模式,是一種有效的模式,學以致用,用能促學。
接著,教師引導學生完善任務二的程序代碼(如圖5)。
設計意圖:判斷某月有多少天有一定的難度,首先引導學生將一個復雜的問題拆解成幾個小問題來解決,然后讓學生搭建整個任務的框架,對閏年判斷比較難,教師引導學生順著思路說出代碼,突破難點。
8.總結
學生總結本節課所學內容,教師匯總板書。
反思
第一,注重問題分解,關注計算思維的培養。《義務教育信息科技課程標準(2022年版)》提出,計算思維是學生運用計算機科學領域的思想方法,在問題解決過程中涉及的抽象、分解、建模、算法設計等思維活動。因此,在課堂活動中,如何讓教學不停留在技術活動層面,而是更多地培養學生的計算思維,需要教師深入思考。所以在本節課中,筆者對每個任務的都進行分析,將問題劃分為能夠上手處理的小問題,通過小問題的解決來完成整個任務,最終建構if嵌套語句的知識目標,讓學生找到解決問題的方法,這是計算思維滲透到課堂的具體體現。。
第二,借助任務群,搭建進階式學習支架。根據信息科技學科課時的特點,筆者選擇隨堂性較強的情境式任務來構建任務群,能讓學生快速地聚焦到本節課新知框架的情境中,有利于學生對知識的掌握。本節課從對“酒駕問題”“大小月的判斷問題”的解決入手,建構“選擇結構的if嵌套語句”“列表”的知識目標,體驗知識的使用場景,讓學生層層遞進地經歷問題解決的過程,為學生搭建進階式學習支架,促進計算思維的發展和提升。
第三,關注情感生成,促進情感教育。目前的信息科技課堂教學大多注重知識技能的教授,過度趨向知識的獲得,忽視情感的生成。要實現學科知識情感的育人價值,教師在教學過程中應重視各層次學生的參與度、興趣度以及成就感的獲得。
點? 評
隨著《義務教育信息科技課程標準(2022年版)》的頒布,編程教學的方向轉變成為“身邊的算法”,這雖然應是小學階段的內容,但在初中的一定時期內仍然是重要的內容之一。算法存在多學段的意義,這種意義是多重的,一方面是編程教學轉向算法學習體現了計算思維認知教育的螺旋遞進,另一方面是用計算機解決問題在“數據計算”上與高中銜接,有助于不斷提高計算思維應用。本節課,正是這兩種意義的充分體現。在生活算法方面,以酒駕檢測、大小月等算法的程序現實逐步推進對單分支、雙分支、多分支的算法思想的認知,環環相扣,遞進學習,非常有益于算法思維的問題分解、特征抽象、數據建模及算法與迭代的學習。
此外,本節課還采用了多種教學方法。在引入認知、體驗算法、認知與應用計算思維等方面采用相應的教學方法,讓學習更靈活、更高效。
(點評人:山東省青州一中信息技術特級教師 王愛勝)