項勤斌


計算機科學與電信委員會認為,計算思維是21世紀學生的核心能力,與閱讀、寫作和算術等基本技能同等重要,是學生發展核心素養的重要組成部分,其教育重視程度決定了各國未來創新競爭力的水平。《普通高中信息技術課程標準(2017年版)》中,將計算思維概括為個體運用計算機科學領域的思想方法,在形成問題解決方案的過程中產生的一系列思維活動。
在小學階段,計算思維、問題解決的能力是我們在程序教學中需要重點培養的。在程序教學中,程序結構的認知是一大難點,所以感知程序結構,對我們培養學生解決問題的能力,以及判斷問題的思維能力,有一定的幫助。經過對五、六年級學生的摸底調研以及拓展性課程的上課分析,我運用Scratch趣味游戲設計來教學程序結構,在經過一段時間的實踐與探索后,我發現程序結構的奧秘已經被學生們慢慢了解并熟悉了。
“勇闖惡龍島”—— 解讀順序結構
順序結構是計算機程序語言中最基礎的程序結構。它是一種按照自然順序,一步一步完成指令的結構。
在Scratch教學中,我們也是從順序結構開始,一步一個腳印學習程序腳本的編寫,并實現一個整體的游戲。“勇闖惡龍島”游戲,是讓主角在舞臺中,通過玩家的程序腳本編輯,完善原始腳本,使目標角色能夠順利過關。在課堂教學中,我首先與學生們一起創設簡單的游戲情境。
結合場景,我與學生們一起討論、梳理通關的技巧,如前進多少步后轉彎、旋轉多少角度并前進,最終到達勝利的彼岸。在經歷了思路梳理后,我會與學生一起繪制思維導圖,并最終將思維導圖轉換成程序設計中的流程圖。跟隨著流程圖,我們可以在場景中通過拼接腳本模塊來實現游戲中的操作,并最終取得勝利。
在經歷了思維梳理、流程圖繪制、程序調試后,學生能夠了解到順序結構是如何實現其功能,且能清晰地感受順序結構可以運用在哪些實際案例中,從而實現了舉一反三、由點及面的教學效果。
“趣味飛行棋”—— 解讀選擇結構
在經歷了順序結構的程序教學后,選擇(分支)結構也是我們必需經歷的程序結構。如何正確且深入淺出地解讀選擇(分支)結構,是教師們需要花心思鉆研的內容。
在經歷了兩年的Scratch教學嘗試后,我發現趣味游戲解讀程序結構是非常有效果的。在趣味游戲的輔助下,原本十分枯燥的概念課,變得非常有意思,學生也能更好地被吸引到課堂中來。飛行棋游戲是我們生活中經常遇到的一款趣味游戲,游戲中四個玩家,需要通過擲骰子的方式,來決定飛機的起飛與飛行。那么如何將這個游戲與Scratch程序教學相結合呢?在一次課堂嘗試后我思考,如果把飛行棋中“擲骰子”的設計思路與選擇(分支)結構相結合,拋出一個數字,完成對應的操作,是否可以更好地解讀程序結構中選擇(分支)結構的奧秘呢?
于是,我開始嘗試。在課堂開始前,我先與學生一同討論飛行棋游戲,學生們產生了非常濃厚的興趣。隨后,我發出任務,本節課我們要設計一個趣味飛行棋的游戲,請學生們思考探索設計思路。
經過小組討論后,學生們在設計棋盤、導入角色等操作中,都沒有遇到困難,唯獨骰子的程序設計難倒了他們,于是我引導他們開始繪制思維導圖,如圖1。在思維導圖與流程圖的幫助下,學生們可以清晰地認識到飛行棋游戲中擲骰子的程序設計思想,即出現骰子點數,做出相應的操作。
課堂結束后,有很多學生覺得分支結構也可以叫判斷結構,因為它一直在做判斷,并根據判斷的結果做出相應的操作。學生對選擇(分支)結構,已經真正認識與理解了。
“簡易猜數字”—— 解讀循環結構
在經歷了順序結構與選擇(分支)結構的學習與實踐后,學生們對于程序語言與程序結構有了一定的認識。在此基礎上,我引出循環結構的學習。對于循環結構,教師們的理解與學生們的初步理解是不同的,學生們可能認為循環結構,是無限循環,永不停止的,而通過教師的講解以及Scratch趣味游戲的顯性嘗試后,學生們會理解到,在循環結構中,是有條件、有結束,不會無限循環。
在課堂開始時,我引導學生思考,在平時的生活中,我們在哪些時候,是必須在某種情況下,才能做特定的事件。當我提出這樣的思考后,學生們很疑惑,于是我讓他們進行分組討論。
經歷討論后,教師引導學生設計猜數字的游戲。這款游戲的規則是輸入一個目標數字作為謎底,然后詢問“你猜我藏好的數字是多少”,在輸入回答后,如果你的回答與答案并不相符,程序會告訴你“大了”或“小了”這兩種提示;而當你輸入的回答與答案數字相符,程序會告訴你“恭喜答對了”。以此游戲規則為抓手,我繼續引導學生進行思維導圖與流程圖的繪制,經過學生的小組討論與嘗試,會生成流程圖。
跟隨著流程圖,學生們在教師的帶領下,各抒己見,大膽嘗試,最終都能在團隊協作的基礎上實現趣味猜數字游戲的設計,如圖2。
在經歷了這個簡易游戲的創作之后,學生對循環結構有了進一步的認識,也了解了一個完整的程序,是需要順序結構、選擇結構、循環結構相互合作,才能產生一個功能完善、程序精煉的程序語言。趣味游戲教學開拓學生的思路,讓他們知道不管在學習中還是生活中,解決問題都有很多的方式,運用不同的方式,我們可以收獲同樣的結果。但是不同的方式,可以擁有不同的過程,這也是發展學生核心素養中提到的問題解決能力培養的一個重點篇章。程序設計教學的過程中,我們也在潛移默化地培養學生解決問題的能力、問題探究的能力、小組合作的能力。所以,在拓展性課程中,基于趣味游戲的Scratch程序設計教學是可以一舉多得的。
在小學信息技術的教學中,我們無法深入地講解程序語言與程序結構,但是我們可以通過簡易的趣味Scratch游戲,讓學生在小學階段,就對程序語言、程序結構、程序設計有一個啟蒙。學生在未來的成長與學習生活中,帶著計算思維能力、創客理念,在學習道路上,上下求索,學有所思,學有所得。