謝劍峰
【內(nèi)容摘要】本文主要探討“由局部到整體的思維方式”在Scratch編程中的應(yīng)用,從Scratch的特點出發(fā),結(jié)合學(xué)習(xí)者知識儲備特點,講述如何開展Scratch編程學(xué)習(xí)。
【關(guān)鍵詞】局部?整體?思維方式
初中程序設(shè)計教學(xué)是幫助學(xué)生獲得解決問題經(jīng)驗的一種快速、明確而適合的途徑。教學(xué)目標不是培訓(xùn)“小型的程序員”,而是使學(xué)生能用程序設(shè)計的方式進行思考[1]。但是在初中階段推廣程序設(shè)計教學(xué)無疑是比較困難的。
Scratch是由美國麻省理工學(xué)院多媒體實驗室開發(fā)的一款面向兒童的簡易編程工具。Scratch的出現(xiàn)讓兒童編程成為一種趣味活動,學(xué)生不需要記憶枯燥、繁雜的語法、關(guān)鍵字,只需利用Scratch提供的積木工具就可以輕松搭建程序。Scratch可以讓學(xué)生在玩中體驗程序設(shè)計過程,從而培養(yǎng)學(xué)生計算思維。然而我們在教學(xué)的過程中也發(fā)現(xiàn),“玩”的教學(xué)雖然能調(diào)動學(xué)生的興趣與熱情,但是當學(xué)生需要完成較大項目的程序設(shè)計時,往往會出現(xiàn)無從下手的感覺。初中生一般都沒有接觸或系統(tǒng)學(xué)習(xí)過流程圖知識體系,無法從整體去把握程序流程,對于這種情況,我們不妨換一種思路,讓學(xué)生從局部入手,從簡單的枝節(jié)位置入手,逐步構(gòu)建完整的程序體系。這就是“由局部到整體的思維方式”。
一、由局部到整體的思維方式
1.多點切入,Scratch讓程序設(shè)計變得更靈活
不同于多數(shù)的程序設(shè)計語言中有且只有一個主函數(shù)——如C語言中的main(?),Scratch提供多點切入的模式明顯更易于被學(xué)生接受。在Scratch編程中,我們可以使用“當綠旗被點擊”、“當按下某個按鍵”、“當角色被點擊”等多種方法
啟動程序,學(xué)生完全可以從他能想到的最簡單、最容易完成的部分開始他的程序積木搭建,當他開始動手搭建第一組的積木組合時,挑戰(zhàn)與樂趣也就開始了。
在教學(xué)過程中我一般不會一開始發(fā)布任務(wù)就要求學(xué)生從整體去規(guī)劃程序,相反的,我總是鼓勵與強調(diào)讓他們從最簡單的或他們自認為能輕易完成的部分入手。很多學(xué)生在局部問題解決的過程中就逐步構(gòu)建出對整體程序的認知與把握,從而輕松完成整體程序設(shè)計。
2.從局部程序入手,逐步搭建完整程序
如圖1所示,完整的程序就如同最底端的大圓,可能我們的學(xué)生還無法一下子整理出完整的程序體系思路,沒關(guān)系,運用剛剛所講的“多點切入,從簡單入手”的方法我們可以把它扯碎出若干個模塊1、2、3...,將簡單的先完成。通過這一操作后,學(xué)生對整體的程序結(jié)構(gòu)慢慢有了一定的認知,學(xué)生的興趣與信心也得到了一定的提高與滿足。接下來就可以開始將這些碎片模塊進行拼湊,形成更大的程序模塊,這樣我們從局部出發(fā),最終就能得到完整程序。這種局部到整體的思維方式大大的降低了編程的難度,但這是一個理想化的過程,學(xué)生很大可能會在局部拼湊過程中遺漏掉一部分的“局部”,導(dǎo)致“完整程序”的不完整。所以當學(xué)生通過這種方法搭建出完整程序后,還需要他們再次審讀題目,將完整程序進行分解處理,如圖2所示用整體到局部的方法進行最終審閱,查漏補缺得到最終程序。
3.分解程序,把復(fù)雜問題簡單化
相對于上述比較初級的由局部向整體的規(guī)劃過程,當我們能比較熟練掌握“局部到整體的思維方式”后,我們便可以運用這種思維方式去主動的解決一些復(fù)雜問題。我們通過對整體問題描述的分析后,以程序的某個局部片段為突破口搭建簡單程序組合,然后調(diào)用這些簡單程序組合搭建更復(fù)雜的程序組合,最終搭建出完整程序,解決整個問題。這種方法好處第一是由簡單入手,思路清晰;第二是以點破面,最終覆蓋整個程序。
二、教學(xué)案例淺析
以繪制蜘蛛網(wǎng)程序為例,我們來學(xué)習(xí)一下如何運用“由局部到整體的思維方式”解決問題的過程。我們先來看看任務(wù)要求繪制目標圖形如圖3所示。面對這么復(fù)雜的圖形,很多同學(xué)可能已經(jīng)完全不知該從哪里下手。沒關(guān)系,我們先從最簡單的部分入手,將定位、面向、選色、落筆等簡單操作完成如圖4所示。通過簡單的操作,同學(xué)們應(yīng)該能從剛才那種不知所措的狀態(tài)中解放出來了。運用局部到整體的思維方式,我們先不要理會整體的蜘蛛網(wǎng)圖形,從中間朝面向90度方向出發(fā),先繪制最小圖形,原來就是一個等邊三角形。繼續(xù)觀察,原來同一方向可以用10個由小到大的等邊三角形構(gòu)成一個大的復(fù)合三角形組合。由最簡單的“局部”出發(fā),我們已經(jīng)得到六分之一的圖形,同時程序的思路也已經(jīng)非常清晰,分析過程如圖5所示。
將思維過程與程序編寫過程以下表呈現(xiàn):
通過了這個案例的學(xué)習(xí),相信大家應(yīng)該可以清晰的看到這種用由局部到整體的思維方式的優(yōu)勢。通過由局部入手,我們不僅慢慢理清了整體程序的思路,而且我們通過將復(fù)雜問題進行拆分成若干小問題,也大大降低了程序積木搭建的難度。這種思維方法無疑是十分適合初中生進行Scratch編程學(xué)習(xí)的。
結(jié)束語
積木式程序搭建教學(xué)在低學(xué)齡段兒童的流行已經(jīng)呈現(xiàn)出一種勢不可擋的趨勢,我們必須明確它與傳統(tǒng)的代碼式編程有著怎樣的區(qū)別,我們不是為了培養(yǎng)小程序員而進行編程學(xué)習(xí),因此我們不能用傳統(tǒng)的思路與方法去要求與教育學(xué)生。通過教學(xué)嘗試我認為這種由局部到整體的思維方式在Scratch學(xué)習(xí)中作用明顯,有效訓(xùn)練學(xué)生計算思維,值得推廣。
【參考文獻】
[1].鄔家偉.信息技術(shù)教學(xué)論[M].廣州:華南理工大學(xué)出版社,2008.
(作者單位:廣東省佛山市順德區(qū)勒流富安初級中學(xué))