蔡中琴
教情分析
Python語(yǔ)法簡(jiǎn)潔,類庫(kù)豐富,免費(fèi)開源,較適合初學(xué)者學(xué)習(xí)。在解決問(wèn)題的學(xué)習(xí)活動(dòng)中,學(xué)生可以了解并掌握知識(shí)和技能,積極動(dòng)手動(dòng)腦,提高信息素養(yǎng)。Python對(duì)于初中教師來(lái)說(shuō),也屬于新內(nèi)容。因此,在課前,教師要做大量的準(zhǔn)備工作,如設(shè)計(jì)主題、制作微視頻等。本課為Python程序設(shè)計(jì)中的第一課《初識(shí)Python》,教學(xué)中以探索星球?yàn)轫?xiàng)目,使學(xué)生初步了解Python,感受程序設(shè)計(jì)的魅力。
學(xué)情分析
本課授課對(duì)象為初一新生,大多數(shù)學(xué)生沒(méi)有接觸過(guò)Python,因此不能完全按照教材的設(shè)計(jì)來(lái)教學(xué)。
教學(xué)目標(biāo)
知識(shí)與技能:了解Python編程語(yǔ)言起源以及應(yīng)用,知道Python軟件的界面和基本使用方法,掌握利用Python編寫程序的一般步驟。
過(guò)程與方法:通過(guò)自主討論、合作探究、實(shí)踐練習(xí),提高自我學(xué)習(xí)的能力。
情感態(tài)度與價(jià)值觀:增加對(duì)計(jì)算機(jī)的了解,了解編程語(yǔ)言,增強(qiáng)編程興趣及對(duì)信息技術(shù)的熱愛。
教學(xué)重難點(diǎn)
重點(diǎn):print()、input()函數(shù)的使用,利用Python編寫程序的一般步驟。
難點(diǎn):能讀懂Python編寫的包含分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的程序。
教學(xué)過(guò)程
1.情境導(dǎo)入
教師引出Python語(yǔ)言,并播放視頻,介紹Python的起源、創(chuàng)始人、特點(diǎn)等,激發(fā)學(xué)生的興趣。
教師小結(jié):Python語(yǔ)法簡(jiǎn)單明了,適用于各個(gè)操作系統(tǒng),模塊庫(kù)豐富,適用范圍廣泛,如網(wǎng)站、搜索引擎、辦公應(yīng)用、游戲等。
2.新知講授
(1)第一站:熟悉Python 編程環(huán)境
師:今天,我們先來(lái)熟悉一下Python的編程環(huán)境。請(qǐng)大家利用桌面上的PDF學(xué)案,根據(jù)提示步驟完成第一站的探索,同時(shí),也幫老師的電腦設(shè)置一下。(第一站很簡(jiǎn)單,主要就是認(rèn)識(shí)殼窗口及>>>提示符)
學(xué)生自主學(xué)習(xí):①打開Python軟件的方法(掌握兩種)。②認(rèn)識(shí)殼窗口。③調(diào)整編輯器。④試用殼窗口。
(2)第二站:體驗(yàn)Python 編程
①print()函數(shù)。
教師引導(dǎo)學(xué)生學(xué)習(xí)輸出函數(shù)——能夠輸出想說(shuō)的話,即‘’或“”之間的內(nèi)容,并提示學(xué)生標(biāo)點(diǎn)在英文狀態(tài)下輸入、單引號(hào)或雙引號(hào)要成對(duì)出現(xiàn)。
學(xué)生利用“大家來(lái)找碴,判斷對(duì)錯(cuò)”來(lái)練習(xí)。
(可用代碼的顏色作為輔助判斷手段,幫助學(xué)生認(rèn)清代碼)
>>>print('歡迎來(lái)到Python星球')
>>>print(’歡迎來(lái)到Python星球")
>>>print("歡迎來(lái)到Python星球")
>>>print(“歡迎來(lái)到Python星球")
>>>print("歡迎來(lái)到Python星球)
>>>print("歡迎來(lái)到Python星球")
②input()函數(shù)。
師:大家看屏幕,看似和剛才沒(méi)多大區(qū)別,但注意,它沒(méi)有直接出現(xiàn)提示符“>>>”,其實(shí),在光標(biāo)閃爍處是可以輸入內(nèi)容的,輸入“caicai”按回車代碼執(zhí)行結(jié)束,繼而顯示剛才輸入的內(nèi)容。
學(xué)生操作。
師:但通常我們會(huì)把輸入的內(nèi)容存儲(chǔ)起來(lái),方便調(diào)用或運(yùn)算,因此需要“給變量賦值”。因而可以在前面加上一個(gè)name(變量名),這樣就把輸入的“caicai”存到了name變量中。
(3)第三站:學(xué)會(huì)使用編輯窗口
師:如果把殼窗口關(guān)閉,會(huì)發(fā)現(xiàn)剛才的內(nèi)容都沒(méi)了,因此殼窗口無(wú)法保存代碼,我們需要可以保存代碼的編輯窗口。具體步驟下:
①打開一個(gè)新的編輯窗口,把剛才的兩句程序復(fù)制進(jìn)來(lái),按F5快捷鍵,每次按都會(huì)提示“是否保存”。
②選擇桌面,起名為1,后綴名不寫,默認(rèn)是py,全名是1.py。結(jié)果還是在殼窗口里輸入、輸出。
教師引導(dǎo)學(xué)生自主練習(xí):在編輯窗口輸入以下兩行代碼 ,對(duì)保存文件命名名為1.py,運(yùn)行觀察結(jié)果。
name=input('請(qǐng)輸入你的名字:')
print('歡迎'+name+'來(lái)到Python星球')
引導(dǎo)學(xué)生思考:“>>>print(1+'123') ”這樣寫可以嗎?
學(xué)生回答并修正:
>>> print('1'+'123')? ? ?#’1123’
>>> print(1+123)? ? ? #124
教師小結(jié):以上學(xué)習(xí)實(shí)現(xiàn)了第一個(gè)有交互功能的Python程序,如果把程序上傳到星球上的機(jī)器人中,就實(shí)現(xiàn)了最簡(jiǎn)單的人機(jī)對(duì)話交互功能。如果可以上傳到機(jī)器人的主板上,機(jī)器人就具有了語(yǔ)言識(shí)別功能,就是我們生活中最常見的小度、小愛同學(xué)。
(4)第四站:續(xù)寫星球故事
師:圖1所示為星座查詢的對(duì)話,我們來(lái)看看這樣的對(duì)話應(yīng)該如何編寫程序。先讀懂圖2所列的程序,并輸入4位代表月日的數(shù)字,查找出對(duì)應(yīng)的星座,如4月17日,則輸入0417,輸出白羊座。
教師詳細(xì)解析:
①star列表中按序放著12個(gè)星座;
②d1列表中按序放著每個(gè)星座的第一個(gè)月的上限日期;
③d2列表中按序放著每個(gè)星座的第二個(gè)月的下限日期;
④定義變量a為從鍵盤輸入的代表4位生日的數(shù)字,并做出提示"請(qǐng)輸入代表月日的4位數(shù)字,如4月17日,即0417" a=input("請(qǐng)輸入代表月日的4位數(shù)字,如4月17日(0417):");
⑤for循環(huán),i初始值為0,每次加1,一直到12-1停止。即0-11,一共12次;
⑥如果輸入的內(nèi)容在上限日期和下限日期之間,將星座賦值給result變量,并且跳出循環(huán)結(jié)束。如果12次都沒(méi)有匹配上,那也結(jié)束循環(huán),result值不變,還是初始值為空。
⑦通過(guò)result變量判斷,如果是空,則輸出“輸入有誤”,如果有新的賦值,則輸出“你是**座寶寶”。
教師提出問(wèn)題:這個(gè)程序有沒(méi)有問(wèn)題?
學(xué)生得出如果輸入的后兩位超30或31,就超過(guò)了每個(gè)月的自然天數(shù),但程序并沒(méi)有判錯(cuò),如輸入0399。
3.練習(xí)拓展
拓展任務(wù):完成星座查詢,即在上一條星座查詢的程序基礎(chǔ)上進(jìn)行修正,并且補(bǔ)全程序。
修改一:(如圖3)。
修改二:將判斷的條件由d1[i]<=a<=d2[i]改為b1[i]<=a<=e1[i]or b2[i]<=a<=e2[i]。
教師發(fā)布說(shuō)明:
①b1列表中按序放著每個(gè)星座的第一個(gè)月的上限日期,e1列表中按序放著每個(gè)星座的第一個(gè)月的下限日期;
②b2列表中按序放著每個(gè)星座的第二個(gè)月的上限日期,e2列表中按序放著每個(gè)星座的第二個(gè)月的下限日期;
③列表補(bǔ)全日期漏洞,判斷條件也要完善,每個(gè)星座橫跨兩個(gè)月,任一時(shí)間段內(nèi)都能判斷出正確的星座。
需要注意的是:①縮進(jìn)問(wèn)題 Python中沒(méi)有大括號(hào),因此用縮進(jìn)的方式嚴(yán)格控制程序的層次結(jié)構(gòu)關(guān)系,如在冒號(hào)后按回車,就會(huì)換行并自動(dòng)縮進(jìn)4個(gè)空格,如按tab鍵,則不換行就能縮進(jìn)4個(gè)空格。②程序還存在BUG,沒(méi)有考慮到如果是閏年,0229的情況。
4.課堂小結(jié)
目前我們有上百種編程軟件,主要流行的有十幾種。它們大同小異,一通百通。在程序的世界里,遵循的是一樣的法則。如果以后我們有機(jī)會(huì)去別的星球探索,不要忘記曾經(jīng)來(lái)過(guò)一個(gè)名為Python的星球。
教學(xué)反思
本節(jié)課認(rèn)識(shí)了Python語(yǔ)言的誕生、特點(diǎn)及其在人工智能領(lǐng)域、在生活中的多方面應(yīng)用。本課知識(shí)信息量較大,學(xué)生課前要有一定的預(yù)習(xí)量,同時(shí)課上要學(xué)會(huì)用學(xué)案,團(tuán)隊(duì)合作,一步步摸索探究,最終完成一個(gè)完整項(xiàng)目的實(shí)踐學(xué)習(xí)。
基金項(xiàng)目:江蘇省泰州市教育信息化研究課題“項(xiàng)目化學(xué)習(xí)在初中信息科技教學(xué)中的案例研究”,編號(hào)2022jksxxh023。
點(diǎn)? 評(píng)
初中生學(xué)習(xí)程序設(shè)計(jì)最難突破的就是入門問(wèn)題,蔡老師以“初識(shí)Python”一課為例為我們展示了一節(jié)初中Python入門課。該課具有以下特點(diǎn):第一,基于學(xué)生原有經(jīng)驗(yàn),有效實(shí)現(xiàn)遷移。無(wú)論是從圖形化編程語(yǔ)言自然過(guò)渡到Python語(yǔ)言,還是從生活日常經(jīng)驗(yàn)遷移到編程過(guò)程,該課例都是建立在學(xué)生原有經(jīng)驗(yàn)之上進(jìn)行有效遷移,有助于學(xué)生理解新知,實(shí)現(xiàn)了新知和舊知之間的聯(lián)系。第二,Python星球主題貫穿全過(guò)程,有效銜接學(xué)習(xí)。該課例以星球站點(diǎn)為導(dǎo)向,圍繞著核心情境展開完整的實(shí)踐學(xué)習(xí),有效地銜接了Python入門學(xué)習(xí)的各個(gè)階段和部分,將編程語(yǔ)言學(xué)習(xí)融入具體問(wèn)題解決之中,取得了良好的教學(xué)效果,也提供了新課標(biāo)下編程學(xué)習(xí)的范例。
(點(diǎn)評(píng)人:江蘇省南京市東山高級(jí)中學(xué)信息技術(shù)正高級(jí)教師 巫雪琴)