梁春艷
摘要:《普通高中信息技術課程標準(2017年版)》非常注重學科核心素養中計算思維能力的培養,但現階段高中信息技術程序設計的教學內容過多強調程序設計的語法規則和實例應用,在計算思維能力的培養方面有所欠缺。筆者嘗試在實踐教學中使用Scratch進行編程教學,探究高中生計算思維能力的培養策略。
關鍵詞:Scratch;高中生;計算思維能力;信息技術
一、引言
《普通高中信息技術課程標準(2017年版)》把信息意識、計算思維、數字化學習與創新、信息社會責任列為普通高中信息技術課程核心素養。計算思維作為四大核心素養之一,是近些年國內高校及基礎教育領域研究熱點之一。具備計算思維的學生,在信息活動中能夠采用計算機可以處理的方式界定問題、抽象特征、建立結構模型,合理組織數據;通過判斷、分析和綜合各種信息資源,運用合理的算法形成解決問題的方案;總結利用計算機解決問題的過程與方法,并遷移到與之相關的其他問題解決中。
二、基于Scratch的高中生計算思維能力培養
無論是必修模塊還是選修模塊的編程教學,都必須把培養學生的計算思維能力作為核心的教學任務,引導學生使用算法描述解決問題的方法和步驟,并選擇合適的程序語言進行程序設計,解決問題。
(一)Scratch教學與計算思維
Scratch教學以案例為主的教學有利于計算思維的培養,筆者分析了在Scratch教學中從不同方面滲透計算思維。
1.Scratch軟件中的程序模塊中滲透了計算思維
程序設計模塊中的選擇指令、循環指令、條件指令、運算符、數據等不同類型的指令能夠從不同角度體現計算思維。程序設計者在設計作品的過程中通過拖動不同指令來實現效果,在使用不同指令的同時也訓練了學生的計算思維。
2.程序設計者在編寫程序的過程中涉及計算思維
設計作品不是一次性就可以完成的,而是在制定計劃、實施和調整計劃的過程中完成的,因此設計作品的過程也是提高學生問題解決能力的過程。在編寫程序的過程中通過不斷測試與調試來培養設計者的糾錯和調試的能力。設計者通過對比不同指令的功能,對其進行評估,選擇最佳指令解決程序問題。將計算思維滲透在案例中,通過對案例的分析達到思維的一種鍛煉:通過對角色中腳本的編輯,體會到編程思維,從而上升到計算思維的一種鍛煉;通過對已完成案例進行調試糾錯的過程也是算法思維訓練的過程。
3.構思Scratch作品需要計算思維
構思案例需要設計者具有系統規劃和抽象建模的能力。對于整個作品的構思要求設計者具備算法思維、分解等多方面的計算思維。設計者從構思作品再到親自動手制作作品的這一過程有利于計算思維的培養。
(二)基于計算思維培養的Scratch教學模式
Scratch這一編程工具需要通過“在設計中學習”的方式來掌握。教師要結合學生的具體情況,綜合使用案例教學法、常規講解法、任務驅動法等方法進行教學。
首先,要為學生創設恰當的情境,引出主題,讓學生明確學習目標或任務;其次,要根據教學目標,通過分析案例,讓學生理解并掌握案例中的算法。當學生明白算法之后,教師提出與案例相似的任務,也可以就案例讓學生進行流程圖設計,使學生能夠梳理通順作品的功能、指令、情景等。
(三)基于計算思維培養的Scratch教學案例
下面以“分支(判斷)結構ifelse”一課為例說明Scratch教學模式,具體環節如下。
1.創設情境,明了主題
創設情境的目的是讓學生知道本節課的主題,激發學生的學習興趣。對于“分支(判斷)結構ifelse”,教師可以從有關“判斷”的生活常識人手,讓學生知道“ifelse”的含義,如,如果走迷宮的時候沒有出路,那么同學們會掉頭走其他的路,否則就繼續走;如果吃的食物壞了,那么我們會扔掉,否則就留著……創設情境時要充分考慮學生的年齡及理解能力,要與學生的真實生活密切相關,使他們明了主題。
2.案例分析,明白算法
案例分析的目的是讓學生在明了主題后能夠知道用什么樣的思路和算法完成作品,幫助學生掌握計算概念,即Scratch中的編程指令。教師要根據學生的理解能力,以恰當的方式帶領學生分析案例。以“小貓與運動員賽跑”的動畫設計為例。教師向學生解釋任務(可配合演示已完成的動畫):小貓和運動員賽跑,運動員領先,當小貓追上運動員時,運動員說“你追上我啦!”,然后立即加速,再次與小貓拉開距離。教師需要引導學生明白如下思路和算法:小貓跑步,可通過原地重復執行變換造型的指令實現;按下空格鍵,使運動員移動,領先小貓一段距離(如100步);點擊綠旗后,程序開始執行,運動員通過變換造型并移動,呈現出跑步的狀態;由于小貓是原地“跑步”,所以“運動員被追上”的效果可以由“運動員向后移動”來實現;當運動員退到小貓的位置(畫面效果是小貓追上了運動員),運動員說“你追上我啦!”,然后停止后退,執行向前移動100步的指令,與小貓重新拉開距離(畫面效果是運動員加速再次領先小貓)。如此循環往復,表現出小貓與運動員你追我趕賽跑的情景。其中重復執行“下一個造型”,是為了使角色“跑”起來。
3.作品流程圖設計
案例分析后,學生對“if else”有了一定的理解。教師采用任務驅動法,引導學生通過換角色并增加角色、換對話內容、換舞臺等,模仿或創造出應用“if else”的作品。在學生設計和搭建腳本之前,要先在紙上畫出作品的流程圖。基礎較好或理解得更好的學生,能很快掌握流程圖,而對于基礎較差的學生,教師需要耐心講解,并給他們更多的時間在操作中體會。
4.作品功能設計和搭建腳本
作品功能設計包括角色設計、情境設計、舞臺設計和指令設計,需要學生發揮想象力,根據自己的想法設計作品功能。在作品流程圖和功能確定之后,搭建腳本階段才會順利,這也是學生計算實踐能力得以提升的階段。如,一名學生設計了一個小貓和蝙蝠的動畫:蝙蝠飛行時撞到了小貓,趕快飛走了,而小貓卻嚇得邊跑邊喊“救命”。從中可見,學生已經理解并掌握了“if else”指令的用法,且不乏有趣的想象和創新之處。
5.修改交流及分享
在完成作品之后,可采用小組內討論的方式,針對過程中的問題進行交流,反復修改作品,展示自己小組的作品,或上傳到Scratch官網,這個過程有助于學生綜合能力的提高和計算觀念的養成。
三、結束語
在高中程序設計課程中,計算思維的能力要求主要體現在學生對于問題的分析、解決問題的能力的培養上,弱化程序語言本身的理論和語法,強化的是計算思維的培養和提升。教師要鼓勵學生多考慮算法的多樣性,培養學生的創新意識、探索精神和問題求解能力,還要引導學生對算法進行研究優化改進、提升效率,將計算思維的培養策略貫穿于程序設計教學的全過程,著力培養學生的計算思維能力,從而更好地提升學生的綜合素養。
參考文獻
[1]中華人民共和國教育部.普通高中信息技術課程標準(2017年版)[M].北京:人民教育出版社,2018.
[2]謝忠新,曹楊璐.中小學信息技術學科學生計算思維培養的策略與方法[J]中國電化教育,2015 (11).
[3]王榮良.計算思維對中小學信息技術課程的影響初探[J]中國教育技術裝備,2012(27).