摘 要:隨著“互聯(lián)網(wǎng)+”時代的到來,計算思維成為中小學教育的熱點。根據(jù)對計算思維的理解,筆者提出“玩中學:基于Swift Playgrounds培養(yǎng)計算思維”的觀點,主要策略包括以下四個方面:學會分析,發(fā)現(xiàn)問題;學會分解,細化問題;學會提煉,優(yōu)化問題;學會調(diào)試,糾正錯誤。
關(guān)鍵詞:Swift Playgrounds;計算思維;編程教學
中圖分類號:G43? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? 文章編號:2095-624X(2020)42-0035-02
引 言
隨著人工智能時代的到來,計算思維逐漸成為創(chuàng)新型人才必備的思維能力。華裔科學家周以真對計算思維做出了定義:計算思維是運用計算機科學的基礎(chǔ)概念進行問題求解、系統(tǒng)設(shè)計及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動,即把一個看上去復雜的問題通過約簡、嵌入、轉(zhuǎn)化和仿真等方法重新闡述成一個人們知道如何解決該問題的方法[1]。
如何培養(yǎng)小學生的計算思維呢?Swift Playgrounds是一個不錯的編程軟件,十分適合不同年齡階段的小學生開展編程學習。它提供了包括學習編程1、2、3在內(nèi)的不同難度的編程進階課程,其中包括命令、函數(shù)、循環(huán)、算法等知識點。在Fundamentals of Swift中,學習者通過編寫真實的代碼來幫助主人公Byte在3D世界中游走,獲取紅寶石以通過不同的關(guān)卡,從而像玩游戲闖關(guān)那樣來學習基礎(chǔ)知識。
對于小學階段的學生來說,使用Swift Playgrounds開展可視化編程具有較強的實踐性,它能使學生在編寫程序的過程中隨時看到結(jié)果,使學生能專注地分析問題、設(shè)計解決問題的方案,并進行邏輯驗證,為培養(yǎng)學生的計算思維奠定了良好的基礎(chǔ)。
一、學會分析,發(fā)現(xiàn)問題
發(fā)現(xiàn)問題是解決問題的前提,學生如果沒有發(fā)現(xiàn)問題的存在,就不可能采取各種方法來解決問題。而小學生對外界事物有著更強烈的好奇心,趣味盎然的問題能調(diào)動他們的學習積極性[2]。
因此,教師應(yīng)以教學目標為依據(jù),巧妙地設(shè)計問題,通過色彩鮮明的圖片或生動形象的視頻來激發(fā)學生的學習興趣,讓學生發(fā)現(xiàn)程序抽象的問題,并能將抽象問題具體呈現(xiàn)出來。
例如,教學Hi, byte一課時,筆者設(shè)計了以下導入環(huán)節(jié)。
了解:隨著“互聯(lián)網(wǎng)+”時代的到來,人工智能已經(jīng)來到了我們身邊,讓我們一起了解一下吧?。úシ乓曨l:人工智能)
提問:視頻中,讓你印象最深刻的是什么?機器人的功能可真多呀!那你知道怎樣才能讓機器人動起來嗎?
交流:是啊,通過編寫程序就能指揮機器人行動了,程序是指用計算機語言編寫的命令序列的集合。
揭題:今天這節(jié)課,我們就將和新朋友Byte一起走進好玩又有趣的swift少兒編程語言的世界,和它打個招呼吧:Hi, Byte!
二、學會分解,細化問題
充分理解、學會分析是解決問題的第一步,在學生理解學習要求后,教師可引導學生制訂一個粗略的解決問題的方案,再將這個方案分解為多個小任務(wù),對復雜問題由外到內(nèi)逐個化解,可以讓學生體驗從抽象到具體的分解過程[3]。
在小學階段,以游戲闖關(guān)的形式進行教學更能培養(yǎng)學生分析問題的能力。學生在“玩”的過程中需要確定問題可以分解為幾個部分,它們之間的關(guān)系是什么,還要知道解決問題要獲得怎樣的結(jié)果和所需的條件[4]。因此,在Hi,Byte的教學中,筆者設(shè)計了任務(wù)式的闖關(guān)模式。學生面對每個關(guān)卡,都要先進行分析,再根據(jù)各個任務(wù)和要求思考問題的解決方法,設(shè)計出符合需求的命令算法,教學過程如下。
第一關(guān):收集寶石
提問:請仔細觀察這張地圖,在這一關(guān)中,Byte需要完成的目標是什么?(拿到一顆紅寶石)這顆寶石位于Byte的斜對面,要想拿到它闖過這一關(guān),我們先要為Byte規(guī)劃行走的路線。
任務(wù)1:規(guī)劃路線
要求:打開這張地圖,使用照片標記功能,用紅色畫筆規(guī)劃出一條合適的路線。并和同桌說一說,在你的路線上,Byte應(yīng)該走幾步?怎樣轉(zhuǎn)彎呢?
學生規(guī)劃并交流。(投屏展示)
提問:你是怎樣規(guī)劃的?
生:前進兩步,左轉(zhuǎn),再前進兩步,收集寶石。
提問:你是如何得知Byte需要前進兩步的?(一個方格代表一步)
補充:階梯屬于它所在的方格,所以我們只需走一步。
任務(wù)2:收集寶石
初識:你們的路線都規(guī)劃好了嗎?真聰明!路線規(guī)劃好了,那我們的程序也就規(guī)劃完成了,接下來就可以開始編寫程序了。在編程時,我們需要使用swift命令,剛向前走的命令是move Forward,收集寶石的命令是collect Gem,左轉(zhuǎn)的命令是turn Left。有了這三個命令就能指揮Byte動起來去收集寶石了。
要求:請同學們“添加新命令”,使用這三個命令進行編程,讓Byte收集寶石。需要注意的是,Byte走一步就需要使用一個向前走的命令,走兩步就需要兩個向前走的命令。
交流:Byte拿到紅寶石了嗎?讓我們看一下你編寫的程序吧。
三、學會提煉,優(yōu)化問題
在程序的設(shè)計過程中,往往會有多種途徑來達成同一個目標,學生需要找出最好、最合適的方式來完成,這個過程就是計算思維的優(yōu)化過程[5]。
教師要適時引導學生進行小組合作,通過集體的智慧去實現(xiàn)問題解決的最優(yōu)化,同時要注重培養(yǎng)學生的思考能力和創(chuàng)新意識,讓學生利用現(xiàn)有知識完成學習任務(wù),并理解優(yōu)化過程,從而使學生成為計算的創(chuàng)造者和研發(fā)者[6]。因此,在Hi, Byte的教學中,筆者設(shè)計了這樣的教學環(huán)節(jié)。
第二關(guān):最優(yōu)路線
提問:在這一關(guān)中,地圖比之前的更復雜,為了更快回去,Byte需要找到通關(guān)的最優(yōu)路線,你能幫它找一找嗎?
小組討論:打開地圖,使用照片標記功能,用藍色畫筆規(guī)劃出一條最優(yōu)路線。
交流:老師發(fā)現(xiàn)同學們討論得非常熱烈,參與度也很高,那么有小組找到這條路線了嗎?
學生提出傳送門。
師:觀察真仔細,在地圖上出現(xiàn)了一個新的機關(guān),叫作傳送門,它有什么作用呢?(播放視頻)
通關(guān):傳送門能大大縮短Byte的行走距離,優(yōu)化我們的程序,現(xiàn)在你能讓Byte以最優(yōu)路線完成這一關(guān)卡嗎?請同學們進入最短路線,利用傳送門進行編程,讓Byte收集寶石并點亮腳印吧!
學生操作并交流展示。(投屏)
交流:你成功闖關(guān)了嗎?來,展示一下你的程序吧!
四、學會調(diào)試,糾正錯誤
計算思維是通過冗余、出錯、糾錯的方式,在最壞的情況下進行預防、保護和恢復的一種思維,而調(diào)試糾錯尋求問題的最優(yōu)化始終發(fā)生在學生的編程實踐中。編程的重要環(huán)節(jié)之一就是對已有程序進行運行調(diào)試,當運行效果與學生預想的不一樣時,他們就要進行調(diào)試糾錯,重新選擇控件或修改某些參數(shù),不斷調(diào)試以達到理想的效果。
對于小學生而言,抽象的編程調(diào)式是比較難以理解和掌握的,而微課教學能夠幫助他們理解抽象的概念,從而建立起新知識與已有認知、經(jīng)驗之間的聯(lián)系。同時,經(jīng)過不斷的調(diào)試糾錯,學生不僅可以鞏固已有知識,還可以提高編程能力,從而真正鍛煉計算思維。因此,在Hi, Byte的教學中,筆者制作了“調(diào)試”的微課視頻。
第三關(guān):拯救Byte
過渡:恭喜同學們順利過關(guān),幫助Byte收集了三顆寶石!Byte現(xiàn)在非常興奮,覺得前面兩關(guān)這么簡單,后面肯定也不難,于是自己闖入了下一關(guān),結(jié)果卻失敗了!我們一起來看看吧。(播放失敗視頻)哎呀,這可怎么辦?就在這危急關(guān)頭,Byte想起剛才拿到的一個錦囊,里面是什么呢?
學習視頻:一起打開來看一看吧?。úシ拧罢{(diào)試程序”的微課)就像視頻中所說的,出現(xiàn)錯誤并不可怕,更重要的是要學會修復錯誤代碼。
完成任務(wù):請同學們“發(fā)現(xiàn)并修復程序錯誤”,運行代碼找出其中的錯誤并進行修復,讓我們一起解救Byte吧!
思考:調(diào)試程序需要幾個步驟?
學生操作并交流展示。(投屏)
交流:你修復錯誤了嗎?你是怎樣修復的?
調(diào)試程序的方法:(1)運行代碼;(2)找出錯誤;(3)拖動或刪除錯誤代碼;(4)繼續(xù)運行調(diào)試直至完成目標。
小結(jié):利用這樣調(diào)試程序的方法,我們幫助Byte成功闖過了三個關(guān)卡,同時我們自己也成功升級為既能編寫代碼、又會調(diào)試程序的小小程序員啦!
結(jié) 語
在編程學習中,學生發(fā)現(xiàn)問題、分析問題、優(yōu)化問題,并對編寫的程序進行不斷的調(diào)試和糾錯,最終科學地解決問題,鍛煉和拓展了計算思維。俗話說:“授人以魚,不如授人以漁?!痹谛W信息技術(shù)課堂上,教師不僅要關(guān)注學生技能的培養(yǎng),更要注重學生計算思維的發(fā)展,讓學生在“玩中學,學中玩”的模式中用計算思維去分析、解決實際問題,習得更多技巧和能力,向更高深的領(lǐng)域邁進。
[參考文獻]
余田.面向計算思維的《計算機應(yīng)用基礎(chǔ)》課程建設(shè)的探究[J].電腦知識與技術(shù),2018,14(13):134-136.
陳偉濤.在“畫圖”教學中培養(yǎng)小學生計算思維的實踐探索[J].教育信息技術(shù),2017(01):154-157.
朱丹.在Scratch教學中培養(yǎng)學生的計算思維[J].新課程(教師版),2018(12):173.
林惠蘭.基于計算思維培養(yǎng)的小學編程教學[J].西部素質(zhì)教育,2018(15):117-118.
卞春霞.小學信息技術(shù)編程教學中學生創(chuàng)新思維的培養(yǎng)[J].新課程研究,2020(08):75-76.
馬宗兵.面向計算思維的小學游戲化編程教學策略研究述評[J].基礎(chǔ)教育參考,2020(02):33-37.
作者簡介:王宇潔(1991.4—),女,江蘇無錫人,一級教師。