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