衛夢婷 錢耀剛



Scratch課程的目的不是把學生培養成編程高手,而是讓學生通過搭積木的方式創造出互動式故事、動畫、游戲、音樂等程序,其重點是在此過程中培養學生的信息素養,訓練學生的問題求解能力。本研究從程序流程圖應用于Scratch趣味編程教學的角度出發,以蘇科版小學五年級Scratch部分課程為例,提出教學設計方案并在無錫市河埒中心小學五年級開展教學實踐,從Scratch教學中的應用、實施及效果等方面進行探究。本文例談如何應用流程圖解決Scratch程序設計中遇到的棘手問題,從而更好地培養學生的創新思維能力,真正提高學生的信息素養。
● 主題任務流程化,幫助學生化繁為簡
程序流程圖是指通過對輸入輸出數據和處理過程的詳細分析,將計算機的主要運行步驟和內容標識出來。因此,直觀清晰的流程圖能夠幫助學生的設計語言逐步從自然語言向抽象的程序設計語言轉換,能夠幫助學生理清任務的每一個環節,以及這些環節搭建腳本時各個控件之間的關系,并逐步形成整體的圖示概念。
例如,在《花朵繽紛》一課中,教師將花朵繽紛出現在舞臺上的行為分為六個環節:“繪制一片花瓣”“將一片花瓣變成一朵花”“由一朵花演變成N朵花”“讓花兒隨意開放”“讓花兒繽紛開放”“還可以讓花兒……開放”。前五個環節層層遞進,讓學生在完成各個任務的同時不斷在原本的流程圖上進行修改完善,最終完成一個花朵繽紛的動畫。最后一個環節是鼓勵學生進行優化動畫的思考與實踐。
用流程圖幫助學生對準備設計的作品進行系統建模,在設計角色和舞臺時學會將場景的口頭語言描述轉化為程序設計語言,這樣學生搭建腳本就順理成章了(如圖1、圖2)。
流程圖是使用圖形表示算法的思路的一種極好的方法。通過對流程圖的梳理,既能很好地展示學生的設計思維,也能綜合體現學生的表達、總結、轉化能力以及計算邏輯思維與優化能力,它是培養學生學會思考、分析問題、解決問題和創造性思維的有效途徑。
● 問題分解流程化,促使學生化難為易
程序流程圖是人們對解決問題的方法、思路或算法的一種描述。這種圖能夠將問題分解,形象直觀,各種操作一目了然,便于學生理解較難的程序過程,理清程序中的各個邏輯關系。
教學片段:
任務:賽車偏離軌道后糾正方向。
師:裝上“傳感器”后,如何使“傳感器”發揮作用?
在這里,如果左邊紅色的“傳感器”碰不到路面,賽車應該向哪個方向調整?我們可以讓學生通過流程圖來了解軌道偏離判斷后左右方向的糾正(如圖3),進而引導學生分析Scratch中的“偵測”來模擬“傳感器”的讀值,再通過條件控件對方向進行判斷。
這一環節引入了“偵測+判斷”模擬判斷傳感器返回值,巧借上一任務的流程圖,延續流程圖環節,引導學生根據流程圖描述自己編寫的腳本含義,利用偵測和條件語句實現上述任務。在這個過程中,學生學會了用語言表達邏輯思路,再將邏輯轉換為圖框,最后搭建腳本。而這個過程中流程圖就是檢驗是否有錯誤地方的重要依據。
引導學生主動發現問題,修改一些參數固然可以使速度提高,但是當速度達到一定程度時,穩定性必然受影響。要培養學生知識遷移的能力,將傳感器的位置、數量也考慮在內,自行改裝并加以測試,最終給出較為理想的成績。最后能夠將整個賽車游戲流程圖繪制完整,并找到對應的腳本拖拽完成(如圖4)。
當學生搭建腳本遇到困難時,可以立即參照之前繪制的流程圖,根據流程圖的每一個部分搭建腳本,使得搭建腳本的過程更高效。因此,繪制流程圖能夠幫助學生進一步理清任務的思路,運用流程圖可以幫助學生理解角色行為設計的思路,也可以幫助他們快速找到對應的腳本,完成“搭積木”式的編程。
● 項目分析流程化,訓練學生高階思維
通過Scratch培養學生的另一個重要思維就是設計思維,設計思維是指設計者解決問題的方法。其實繪制流程圖的過程就是創作作品的一個初步構思和設計的過程,也是項目分解的過程。這個過程是把學生難以看到的設計思維用可視化的圖框表示出來。
例如,面對《吃豆子游戲》這個綜合性較強的游戲設計,教師借助流程圖則可以幫助學生分解難點,把復雜問題作為項目深度剖析為簡單可行的操作。《吃豆子游戲》中有兩個角色“吃豆人”和“豆子”,因此流程圖主要分兩部分。
第一部分:吃豆人。
(1)吃豆人左右移動。
師:事件“吃豆人向右移動”是如何響應的?
在《吃豆人游戲》中,學生可以通過繪制Scratch程序流程圖來分析角色行為及運動情況,并最終在Scratch中實現。這樣教師教授了吃豆人向右移動的流程圖及腳本后(如圖5),學生就自然而然地遷移學會搭建吃豆人向左移動的腳本。
(2)吃豆人吃豆子。
A.吃豆人吃
師生逐步生成流程圖及腳本(如圖6)。
B.豆子被吃掉
當遇到“吃豆”這種復雜問題時,就需要學生進行任務的流程化,通過Scratch故事描述框進行抽象,提取角色相關的行為,將口頭描述語言轉化為程序設計語言。
第二部分:豆子。
A.出現
B.下落
C.多顆豆子(復制)
教師帶著學生一起回顧流程圖,找到與流程圖相應的角色行為控件(如圖7、圖8)。
值得注意的是,教師在指導學生去實現思考解決項目問題時,要注意運用計算思維的方法引導學生去解決,而學生運用流程圖與行為框圖對角色舞臺抽象建模就是一種很好的培養高階思維能力的方式。
程序流程圖在教學中能有效提高學生的思維品質、自主探究能力、協作學習能力等,從而促進學生高階思維的形成,大大提高Scratch教學效果。在小學信息技術趣味編程學習中引入流程圖不失為一種有效的學習方法,更是培養學生高階思維的一種有效途徑。
● 總結與展望
本研究立足于將流程圖應用于當前小學Scratch趣味編程課程教學中,通過系列理論與實踐研究,筆者發現將流程圖運用于小學Scratch課程教學中具有積極意義和優勢。教師可以運用流程圖,通過線框引導學生參與教學環節的整理,提高學生的學習積極性及成就感。通過繪制流程圖,學生能根據主題分析作品,建構知識網絡體系,列出條理清晰的制作思路,多方位豐富作品結構,并在此基礎上碰撞出智慧的火花,以此發展發散思維和創新能力,提高解決實際問題及自主探究能力。因此,應當有更多的一線教師和學者加入到流程圖在Scratch課程教學中的應用研究中來,豐富和完善Scratch課程教學策略與方法,讓流程圖在教學中的應用日益科學化和系統化。