李曉霞
(廣州市從化區第七中學,廣東 廣州 510000)
人工智能技術以及大數據技術的廣泛應用,使得計算思維的培養越來越受到重視,成為中學信息技術課程標準中的核心素養之一。廣州市教育研究院信息技術科在信息技術課程綱要中提出,初中Python教學是讓學生經歷“問題分析-選擇算法-設計程序-調試修改”等環節,體驗應用程序開發的過程與方法,明確了計算思維的培養在Python 程序設計教學中的重要性。
Python 程序設計作為初中新興課程,對于培養學生計算思維的教學實踐并不多,教學模式和課程設計也多停留在計算思維意識的培養,未能足夠落到具體的能力培養上。學生在學習過程中更多的是模仿練習,對學生思維能力和問題解決能力的關注不足。初中學生計算機基礎知識普遍薄弱,且思維急進,在程序設計課程中,學生往往更關注程序的運行結果,而忽略程序的設計過程,很難形成有效的思維模式。如何利用Python 程序設計課程培養學生計算思維,我從以下幾方面進行實踐探究。
新教材提供的Python 程序案例資源非常有限,多數以求解數學類問題的教學案例為主線,對于剛剛接觸程序設計的學生來說,程序設計語言是一種全新的思維訓練過程。然而,枯燥的程序設計語言語法學習和單一形式的問題求解實踐降低了學生的學習興趣,并使得他們對程序設計產生了理想和現實差距的困惑。這就需要教師設計出符合初中學生認知能力并感興趣的課程內容與教學任務,構建一個可以完美解決學生在實際生活之中經常會遇到的問題的生活情境,充分吸引學生目光,保證教學過程有序高效地進行。在制定教學情境任務時,結合Python 課程具備的帶有趣味性、工具性以及綜合性的特征,呈現帶有一定難度的任務,為后續教學的開展打下基礎。任務的布置需要達到讓學生夠一夠就可以努力完成的地步,以此提高學生學習自信心。與此同時,課程任務的布置需要與學生日常生活進行緊密聯系,以此充分吸引學生學習目光,保證教學課堂的效率。
例如,編寫一個程序,由用戶輸入他的身高體重,計算他的身體質量指數BMI=體重(kg)/身高(m)的平方,再通過BMI的值判斷體型是“標準”“偏胖”“偏瘦”。此案例貫穿了程序設計順序結構與分支結構的學習,并且是初中學生都比較感興趣和注重的體重與身高的相關問題,激發學生編程欲望。先雙分支,再多分支逐步掌握if 語句的應用,推動學生自主積極思考,感受自身思維產生的變化,并且深刻體驗運用計算思維解決實際問題的過程。
初中Python 課程教學知識點眾多且復雜,在學習過程中,獨立完成編程任務學生會覺得十分困難。一個人的思維容易固化,一旦算法形成,即使出錯也難以找到原因,而多人組隊,協作編程是組員共同完成問題分析、算法設計、編寫代碼,調試驗證的過程,有利于提高學生們協作探究意識,集思廣益,開闊思維,編程效率明顯提高。組隊協作,還能以強帶弱,編程學困生可以及時得到幫助。因此,在教學初期,我就按照機位把學生分成三人小組或四人小組,小組成員互相協作幫助,思維碰撞,共同完成任務。同時我經常將大任務分成幾個小任務,而后交付給各個學習合作小組負責,從而提高學生自主探究意識。
例如,在“現已知三角形的三條邊長分別為a、b、c,請你們利用Python 程序判斷三條邊是否可以形成三角形”案例中,學生分組進行嘗試編程和測試,如程序調試失敗,小組成員應共同探究。當一名學生編制成功后,小組成員的角色可互換,以保證班級中每一名學生都可以掌握知識點。
又如,在學習了for 循環語句之后,學生對循環程序的執行過程已經有所理解,當進行while 循環語句的學習時,我直接在講述語句結構之后,讓學生改寫for 循環程序,用while 語句實現,交給小組討論,共同完成。小組成員一同對程序進行反復推敲、糾錯與完善,此時學生不是一個個體,每個人都有自己的思路算法,通過嘗試,組員之間的交流過程就是思維的鍛煉過程。
初中Python 教學是讓學生經歷“問題分析-選擇算法-設計程序-調試修改”等環節,體驗應用程序開發的過程與方法。對于程序設計初學者而言,直接編寫程序是有難度的。在課堂上,每當學習一個新語句,我會讓學生先讀懂程序,學習程序的算法思想和代碼的書寫格式,并調試驗證。在領悟樣例程序的執行過程后,任務層層遞進,讓學生深入思考和分析,形成新的程序算法,改寫程序,解決類似問題,這也是一個思維訓練的過程。
例如,在學習for 循環語句與range()函數相結合解決數字累加累乘問題時,我的任務設計是這樣的:
在Python 課程教學之中,利用流程圖可以幫助學生精準快速找到程序邏輯,了解變量的變化軌跡與程序運行過程,讓程序算法思路更加清晰地體現。流程圖在初中Python 課程教學中可以幫助學生對程序設計思想的理解,充分展現學生算法思路,提升其計算思維。
例如,猜數游戲,隨機生成一個數,猜數并反饋大了小了,直到猜對。讓學生用自然語言描述過程,再利用流程圖直譯工具進行梳理,觀察運行過程和結果,最后根據理清的程序邏輯,嘗試編寫代碼,從而促使學生掌握清晰的算法思路,提高其計算思維。
利用課堂輔助軟件,學生把設計的py 程序上傳至學生網盤,教師即時評價學生作業,通常兩種情況下進行全班展示。
一是展示運行失敗的程序。找出大部分學生容易出現的錯誤,全班展示,一起找錯,糾錯,提高學生程序分析、語法檢測的能力和編程水平,課堂效率同時也得到提高。
二是展示算法優秀的程序。鼓勵優秀學生,讓學生在優秀作業中領悟別人的算法思路,對比中成長,共同提高,同時還為有編程困難的學生給予提示指引。
總之,計算思維的培養并不是一蹴而成,而是個循序漸進的過程。信息技術教師需要積極創新并尋找合適的教學手段,結合Python課程的實際特征,吸引學生學習熱情,引導學生學會分析問題、設計思路,提高學生解決實際問題的能力,真正達到培養學生計算思維能力的目的。