戴曉芬



摘要:計算思維作為現代信息社會的一種獨特思維方式,越來越受到關注。本文從Python編程教學出發,結合項目式教學,以“猜數字小游戲”為例,介紹基于計算思維的項目式教學方法,希望可以給高中Python編程項目式教學提供有價值的參考。
關鍵詞:Python編程;項目式教學;計算思維
中圖分類號:G434? 文獻標識碼:A? 論文編號:1674-2117(2023)15-0043-03
計算思維在本質上是一種遞歸思維,是由認知到思考的過程,學生在解決問題時所運用的分解、抽象、算法能力就是計算思維的表現。具備計算思維的學生,能夠整合各種信息資源,采用合理的算法,運用計算機解決各種問題。項目教學法是一種以項目為基礎,以實際問題為指引,讓學生在完成項目的過程中發展信息技能、培養良好思維的新型教學模式。教師在課堂中采用項目教學法,不僅能有效激發學生的學習積極性,還能更好地提升學生獨立思考與解決問題的能力,最終有效促進學生計算思維以及核心素養的全面提升。
高中Python編程項目式教學設計思路
基于計算思維培養的教學目標的確定,建立在教學內容和學生認知的基礎上,即對每個知識點都需要有明確的計算思維培養目標。以計算思維為培養目標的課程在知識傳授過程中,要摒棄傳統的以概念記憶和知識點的講解為主的模式,應把側重點放在學生學完本節課的內容后其抽象思維、計算思維以及協作能力等是否能夠得到提升上。項目式教學要求在教學過程中,將各個知識點組合成一個完整的項目,再將項目拆分成不同的小任務,以任務為單位設計活動,活動過程通常需要教師引導、學生參與,活動的組織和開展部分是整個教學過程的重點,也是計算思維形成的關鍵環節,在活動結束后,還需要對項目的成果進行展示以及評價。
在“Python編程教學—while語句之猜數游戲”項目教學中,筆者采用了情境式、啟發式教學策略。教師先讓學生體驗猜數字游戲,熟悉規則和運行流程,再適當地給出Python猜數字游戲的程序代碼。教師通過引導、啟發等方式逐步帶領學生破解猜數字游戲得以實現的奧秘,要求學生能補充完整程序代碼,并進行調試運行,最終呈現出完整的游戲作品。
在項目式教學中,學生通過小組合作的形式完成不同教學項目中的各項任務,首先根據任務去搜索相關數據,并將收集到的數據進行整理和分析,然后組內分工合作完成項目任務,最后整理匯總,以作品形式作為項目成果在課堂上展示。項目式教學通過探究活動促進學生內化課堂中所學知識,經過日積月累的項目式學習訓練,既鍛煉了學生的語言表達能力、問題解決能力,同時也提升了學生的計算思維和學科核心素養。
總之,《while語句》一課使用項目式教學法,緊扣教學內容,符合學生的認知規律和學習特點。筆者將本節課的項目式教學流程總結為以下幾個環節:游戲導入,激發興趣;分析案例,解鎖步驟;編寫程序,解決問題;作品展示,評價交流。
高中Python項目式教學活動設計
1.游戲導入,激發興趣
在課堂導入時,教師通過PPT展示猜數字小游戲的規則:程序已經設定好要猜的數字(范圍在1~100之間),請一位學生來猜,如果猜的數字比設定值大,程序就會顯示“偏大”,并且給出下一次猜數字的機會“請再猜一次”。如果學生猜的數字比設定值小,程序就會顯示“偏小”,并再次給出猜測的機會“請再猜一次”。如果這一次學生猜到了正確的數字,那么程序就會顯示“恭喜你,猜對啦”。通過一步步的引導,學生不僅能夠輕松理解游戲內容,而且對活動環節表現出了較大的熱情。猜數字小游戲完整的程序代碼如圖1所示。
2.分析案例,解鎖步驟
(1)分析問題,提出解決思路
在本節課中,教師在明確項目主題和任務后,還需要引導學生進行案例分析。大部分學生雖然能夠準確理解項目任務,但是仍缺乏清晰的解題思路,這就需要教師給予適當的啟發與點撥,通過解鎖游戲過程,引導學生梳理出正確的解題思路與步驟。例如,在引出小游戲之前,教師可以進行適當提問(如圖2),通過提問激發學生的思維火花,使學生不但在思維上得到啟發,而且逐步制訂出合理的解題思路,并在無形中進行知識的遷移和內化,提升信息技能與素養。
筆者結合生活中的猜數字游戲過程,總結了本游戲的設計過程:第一步:設定一個要猜的數number。第二步:輸入你猜測的數字guess。第三步:比較設定值number與猜測值guess的大小,如果兩者不相同則給出不同的提示(“偏大”或“偏小”),游戲繼續;如相同則顯示“恭喜你,猜對啦!”游戲結束。
(2)設計算法,用代碼實現算法
經過“分析問題”的環節后,學生基本理清了猜數字小游戲的整體思路和運行流程,下面就要結合生活實際將程序進行類比轉換(如圖3)。
3.編寫程序,解決問題
程序代碼以半成品的形式發給學生,要求補充空缺的代碼。學生以小組為單位完成代碼填空并調試程序。
首先,教師帶領學生以小組為單位歷經分析問題(抽象與建模)、設計算法、編寫程序、調試運行程序的過程,最終用編程實現猜數字小游戲。
其次,數字①所在的空要填的是while循環語句的條件,當符合該條件時,程序會一直循環進行。所以,答案應該是“guess!= number”,因為只有設定值number與猜測值guess不相等時程序才會一直運行,這是猜數字游戲能夠進行的前提條件。
最后,數字②所在的空要填的是if多分支條件語句結束,也就是說如果猜測的數字guess跟設定值number不相等,會出現什么提示語句?而結合實際的猜數字游戲可以得出,如果沒猜對,除了顯示“偏大”“偏小”的語句以外,還應該追加一句“請再猜一次”。所以,此處應該填寫的代碼為“int(input(“ 請再猜一次:”))”。運用input()函數可以通過鍵盤輸入猜測的數字guess,而int()函數用于將輸入的字符串類型轉換為整型,便于后期的數學計算、比大小。
4.作品展示,評價交流
Python課堂評價體系可將課堂評價和成果展示結合起來,借助展示的機會,給學生的計算思維成果一個展示的平臺,也為評價奠定基礎、提供依據。為了全面評價學生的計算思維,在評價方式的選擇上,應結合實際的活動項目和學生情況,從學生的認知出發有針對性地進行評價。可通過自評(小組成員間評價)和各小組間互評等方式收集活動過程中的欠缺點、閃光點,圍繞Python編程語言的特點,總結出最優的作品及程序代碼。項目活動猜數字小游戲的程序代碼編寫過程已經取得階段性成果,為了更好地完善程序、優化作品,本環節安排學生代表自己的小組對作品進行展示與交流。
結束語
在高中Python編程教學中,教師一般能較好地把握教學的重難點,但是在教學過程中往往容易忽略對學生計算思維的培養。項目式學習則是培養學生計算思維的重要途徑,通過對學生項目活動的過程和結果進行評價,可以較為全面地了解學生的計算思維層級。
參考文獻:
[1]中華人民共和國教育部.普通高中信息技術課程標準(2017年版2020年修訂)[S].北京:高等教育出版社,2020:9.
[2]尹丹梅.面向計算思維培養的項目式教學活動設計與實踐—以高中Python教學為例[D].石家莊:河北師范大學,2021.
[3]孔佑彪,李善敏,楊勛.面向計算思維培養的初中Python編程項目式教學探究—以“猜數游戲”為例[J].中小學信息技術教育,2022(02):90-93.
[4]余燕芳,李藝.基于計算思維的項目式教學課程構建與應用研究—以高中信息技術課程《人工智能初步》為例[J].遠程教育雜志,2019,38(01):95-103.