查德清
隨著核心素養的提出,計算思維作為核心素養之一,越來越受到廣大信息技術教學工作者的重視。在信息技術課例開發和設計時,充分利用Scratch編程這個載體,有效開展信息技術主題活動,幫助學生建構真實的問題情境,形成抽象思維,并與數學學科整合,加深對算法的理解,通過計算模擬、可視化思維,實現學生計算思維能力的提升。下面以江蘇鳳凰科學技術出版社(2015版)五年級教材Scratch模塊的主題活動一課為例,緊扣計算思維的內涵,分析如何在Scratch教學中培養學生的計算思維。
一、認識計算思維
2006年周以真教授首創了“計算思維”的概念。隨著計算思維概念的提出,國內計算機科學領域對計算思維開始關注,有多位院士參與其中(李國杰、陳國良等),同時基礎教育界也在反思信息技術教育的核心價值,對計算思維持開放態度。高中新課程標準修訂版中,以核心素養為總綱,將計算思維列為核心內容之一。在此背景下,小學信息技術也隨之把計算思維作為學生的信息素養之一,開始在課堂教學中滲透落實。
那到底什么是計算思維,周以真教授在2011年把計算思維定義為形式化表達問題和解決方案,使之成為能夠被信息處理代理有效執行的思維過程。在信息技術學科中,計算思維就可以理解為學生運用計算機科學領域的思想方法,在形成問題解決方案的過程中產生的一系列思維活動。簡言之,計算思維其本質就是解決問題的一種過程。
二、課例設計
在《中小學綜合實踐活動課程綱要》中明確指出,信息技術的學習,旨在全面提升學生信息素養,幫助學生掌握信息技術基本知識與技能,增強信息意識,發展計算思維、提高數字化學習與創新能力,樹立正確的信息社會價值觀和責任感。
Scratch程序設計,是一款由麻省理工學院(MIT) 設計開發的面向少年的簡易編程工具。Scratch構成程序的命令和參數通過積木形狀的模塊來實現,可視化的程序設計有助于鍛煉學生的邏輯思維能力,有利于培養學生的創意思維。Scratch程序設計是培養學生計算思維的重要載體。
(一)教材分析
《設計Scratch游戲——搶數大戰》是江蘇鳳凰科學技術出版社《小學信息技術·5年級》教材Scratch模塊的主題活動課。本課是在學生初步學完了本單元編程新知的基礎上,進一步的深入學習。本課緊貼學生的生活實際,趣味性較高,所涉及的數理算法學生比較熟悉。重在要求學生在理解“搶數大戰”游戲蘊含的算法基礎之上,完成“搶數大戰”的程序控件的堆疊與優化。
從計算思維角度看,學生要通過分析游戲蘊含的數理知識,在逆推算法的幫助下,實現界定問題、抽象特征、建立結構模型、合理組織代碼,將問題模型轉化為計算機能夠識別的計算模型,最后通過計算機程序自動化執行來解決問題。從程序設計上看,學生需要學習次數循環語句對程序進行迭代和優化;同時,本課要求學生從“搶數大戰”游戲出發,總結出編寫程序的基本方法。
(二)課例分析
本課例,根據本課的教學內容和教學重難點,結合學生的認知規律,重在培養學生的計算思維。通過問題導向學習方式,在程序設計的過程中,促進學生計算思維的養成。通過游戲體驗,增強學生分析程序代碼的能力,并理解算法在計算機程序設計中的作用。
1.激趣導入
激趣導入是達成課堂教學目標的良好開端。在本課教學一開始,設計了一個人機對話的游戲。讓學生挑戰機器人,比一比誰先可以報到10。
搶數游戲讓學生對本課的學習內容有了濃厚的興趣,更是激發了學生強烈的求知欲,進而教師引領學生開始步入計算思維之路。
2.新知探究
①定義問題:
兩人輪流報數,每人每次至少報1個數,最多報2個數,從1到10按順序連續報數。誰先搶到10誰就獲勝。思考如何可以取勝?
學生活動一:全班同學以同座位兩人為一組,進行游戲。通過游戲發現并識別問題,學生進行界定問題。
②建立計算模型:
根據同桌搶數游戲,分析Scratch模擬搶數游戲所需要的角色和變量,將數學推理問題進一步轉化成計算機能夠執行和運算的問題。
學生活動二:學生閱讀范例,理解各程序段的功能。通過讀程序發現1、4、7、10四個關鍵數字,通過逆推,理解“搶10大戰”游戲的算法,從而建構游戲程序中每輪間隔3的算法模型。接著利用已建構的算法模式,推導搶11、搶12程序的算法。
③算法設計:
將計算模型進一步用數學方法歸納出來,并用程序語言進行表述。
學生活動三:學生在“搶10大戰”游戲基礎上修改程序,完成“搶數大戰”游戲。
計算思維:將問題的本質抽取出來,從“搶10”游戲程序的算法,構建搶其他數的算法模型,通過對算法的抽象,為后續自動化程序設計提供準備。通過Scratch相互驗證程序功能,實現計算機程序自動化執行。
④算法實現:
在設計算法的過程中反思問題解決方案,不斷改善和優化程序。
學生活動四:在搶10游戲程序基礎上進行修改,完成搶其他數游戲的程序。
計算思維:算法是指解決問題的途徑,它是一系列明確指令的組合。學生將抽象出來的問題,通過類比的方法將程序語言轉化為計算機指令。
通過本活動,學生可以形成完整的Scratch趣味編程的思路及實現方法。學生的計算思維能力在整個編程過程中不斷得以提升。
學生活動五:引導學生關注程序模塊的相同性,用一個程序來解決類似的多個問題。利用循環語句來優化程序。