朱麗彬 金炳堯



【摘要】Scratch是麻省理工學院針對兒童設計開發的程序編寫語言與環境,目的是讓兒童在創作體驗中學習編程、表達自己的想法。依據美國學者大衛·庫伯的體驗學習圈理論,作者提出“模仿制作—觀察反思—概括知識點—自主創作,的教學活動模式,并在金華師范附屬小學進行教學實踐,結果表明,體驗學習圈視角下的Scratch程序設計教學在激發學生興趣,有效學習編程,培養邏輯思維和創造力方面效果顯著。
【關鍵詞】Scratch:程序設計課;體驗學習圈
【中圖分類號】G420 【文獻標識碼】A 【論文編號】1009-8097(2013)07-0030-04
引言
隨著人類步入信息時代,當今學生的生活環境和生活方式使得他們的思維模式發生了巨大的改變,他們習慣于迅速地接受信息,喜歡同時處理多種任務,喜歡文本前呈現圖表而不是相反,喜歡隨機進入(像超文本),喜歡獲得即時的肯定和頻繁的獎勵,喜歡游戲而不是“嚴肅”的工作。
面對完全在信息化環境下成長起來的一代學生,我國高中的信息技術課程標準近十年未做過修訂、義務教育階段大部分地區沒有信息技術課程標準,信息技術課程面臨著重大的變革。2012年5月,中國教育技術協會信息技術教育專業委員會頒布了《基礎教育信息技術課程標準(2012版)》。要求通過算法與程序設計模塊的學習,學生應能借助積木式程序設計語言,理解生活中的算法問題,并與程序語言表達的算法形成關聯;能設計算法并通過拖曳圖標方式編寫程序解決生活中的簡單問題,初步體驗程序設計的過程和算法概念。Scratch作為一款積木式程序設計語言不同于以往教學中使用的VB、PASCAL、LOGO等,它以形象直觀的積木指令代替了枯燥,易出錯的復雜程序代碼,有利于幫助學生在創作體驗中學習編程、表達自己的想法。我國的很多地區已經展開Scratch的試點教學,在一定程度上改變了傳統程序設計教學中普遍存在的學習興趣不濃,動手編程能力低下,實際應用能力不強等問題,但我國的Scratch教學尚處于起步階段,沒有統一的適用于教學的教材和具體實施的教學模式方法。
本文作者依據大衛·庫伯的體驗學習圈理論,運用“模仿制作一觀察反思一概括知識點一自主創作”的教學模型,在金華師范附屬小學進行了為期兩個月教學實踐研究。
一 scratch簡介
Scratch是麻省理工學院(MIT)為八歲以上兒童設計開發的一套新的程序設計軟件,通過Scratch語言兒童可以創造性地設計出屬于自己的程序,這些程序包含動畫、游戲和交互式故事等。Scratch語言的設計理念是“想象一編程一分享”,教學目的不是為了培養少年程序員,而是孩子們可以通過Scratch表達自己,幫助他們發展學習技能,培養創造性思維,以及學會解決生活中的問題。Scratch的重要性體現在它讓兒童能夠自己控制電腦,它不只是編程工具更是一個強大的學習社區,它給教師提供一種教的工具,它還是一款免費的軟件。Scratch適用于兒童學習數學、邏輯及設計流程,高度可視化的界面和積木組合式程序設計方法可以免除代碼輸入錯誤的困擾,可以制作出具有故事情節的動畫或交互式游戲。http://Scratch.mit.edu是Scratch的官方網站,在上面可以下載Scratch語言,也能夠分享交流自己的作品,其他類似的學習網站還有Scratch Ed,Learn Scratch等。
二 體驗學習圈理論在Scrateh程序設計課中的應用
1 體驗學習的心理過程
體驗學習圈是將體驗學習歷程劃分為若干階段的一個理論模型,最早由庫伯在1984年提出,他通過評述杜威、勒溫和皮亞杰的學習理論,靈感地發現三者的學習理論“在本質上具有重疊性和相同點”。于是,庫伯創造性地提出四階段的學習圈歷程,包括“具體體驗”(concreteexperience)、“反思觀察”(reflectiveobservation)、“抽象概括”(abstract conceptualization)和“主動檢驗”(ative experimentation)。
透過對體驗學習圈的解讀,啟發研究者根據體驗教學去了解學習者的學習歷程,進而設計了相應的教學模型——“模仿制作一觀察反思一概括知識點一自主創作”來適應學習者的學習。舉例說明,一個學生看到點擊舞臺右上角的小旗,角色小貓開始在舞臺上走路,因好奇心改變腳本中小貓的步長和循環次數,于是再點擊小旗時看到小貓在舞臺上跑起來。其中點擊小旗運行腳本即為當下的“具體體驗”,小貓走起來引發學生思考:為什么小貓會走起路來?進入了“反思觀察”階段。接著得出“積木腳本的搭建控制小貓的行走”,“通過改變參數的設置可以改變小貓的速度”的結論,這時就進入到“抽象概括”。形成了抽象概念與結論還要等待檢驗,經由歸納、演繹或類比,該學生再遇到類似的場景,如小貓跳舞,籃球運動等,就會自己設定物體的運動軌跡,調整運動速度了,這就是“主動檢驗”。值得強調的是“體驗學習不是經由具體體驗到主動檢驗一個循環就結束了,也不是一個單純的‘平面循環,而是一個‘螺旋上升的過程,體驗過后的認識或假設需要經由未來的行動檢驗,且不斷地循環往復,一次循環到主動檢驗又意味著下一次或新的體驗的開始。”
2 體驗學習教學活動模型
體驗學習圈闡釋了體驗學習的內在機制,以下四個階段是借鑒學習圈的歷程設計與組織的。
(1)設計真實的具體體驗
在學科教學中的創設具體體驗大概有兩種取向:一是設計體驗活動;二是設計體驗情境。Scratch語言搭積木式的編程方法設計出來的動畫和游戲,有助于激發學生的好奇與挑戰,當學生享受到有價值的樂趣,就會調動積極的情感參與。內部動機對行為的驅動作用比外部強化的作用更為穩定和持久。
(2)引導體驗后的反思觀察
引導反思起催化經驗與學習關聯的效果,它不是生硬的解讀,而是對話。只有對話,才能誘發學習者進行自我探索,才能擁有自主的學習,才能培養問題意識與思維習慣。在體驗之后,教師可以透過感覺評估體驗情況,關注整個Scratch程序設計學習過程,通過比較和復習舊知識點,引導學習者分析診斷具體問題解決辦法。
(3)關注抽象概括的內在思維
抽象概括意味著體驗教學最終要導向的學習目標,因此,要給學生留出充分的時間來表達他們對問題的理解和對作品的期望,這里可以展開小組討論:也可以透過自我分析和反省思考的過程予以具體的表述;或提供靜默與沉思的時間將經驗進行歸納。經由抽象概括和歸納總結才能發展判斷或推理的思維能力,有利于內化與遷移其學習經驗,在Scratch程序設計課上體現在對程序設計概念和知識點的內化和總結。
(4)再次創造主動檢驗的應用情境
主動檢驗意味著將抽象概括的原理運用于新的情境,以經歷意義的外延轉換。在某個概念或知識抽象理解后,需要將獲得的經驗、知識、技能或態度在現實生活中得到驗證。這里教師可以讓學生對作品進行再創造,所以Scratch程序設計課要求學生不斷地完善自己的作品,不斷地再創造。
我們還需強調,“體驗學習圈”不是一種簡單的“如何控制教學實踐的處方”。體驗教學不是在一節課上“機械套用四個階段”。學習圈是環形的過程,而非線性的,實際應用時就有改造與創新的空間。如學習者抽象概括困難時,可以再生成一個具體體驗,以使學習圈得以迂回和反復;學習者也可以從任何一點進入學習圈,如已經有了相關的經歷,就可直接從問題引導開始,不一定非得有具體體驗,以免浪費教學時間;有時針對學習個體,一節課中甚至有可能會發生多個學習圈。總之,“體驗學習圈”的教學活動模型較適合應用于Scratch程序設計教學實踐中,但需要應該根據學習者學習的需要進行不斷調整。
3 體驗學習模式在教學中的應用——以“捉鼠游戲”為例
在金華師范附屬小學——艾青小學的Scratch程序設計社團課上,教師引導學生創作了一些他們所喜愛的游戲作品,如迷宮,打磚塊,植物大戰僵尸,小貓畫畫,捉鼠游戲等。“捉鼠游戲”這一課是建立在前一節“猴子打籃球”基礎上展開的,內容是用Scratch創作貓捉老鼠的游戲,依據體驗學習模型分成以下四個階段指引學生感知。體驗和創新應用。
(1)模仿制作啟動思維
在教學開始時,首先展示有趣的捉鼠游戲,讓學生先體驗游戲的基本規則,接著學生在已有的編程知識基礎上開始動手模仿編程,在可視化的程序設計環境里調試程序,教師講解必要的知識點,在技術上提供支持。
(2)觀察反思突破困惑
兒童對未知世界是充滿好奇的,他們就是在不斷地“發現”中獲得學習的“快樂體驗”,老師不直接將知識點呈現,而是引導學生反思,突破思維困惑。以下是兩段課堂實錄。
課堂實錄片段1:
生:老師,我的老鼠怎么像機器人?
師:很機械是吧,那我們來看看腳本分析一下為什么老鼠不那么自然。
生:好像是按照固定的軌跡游的。
師:我們可以看到,絕大多數同學是按照上節課猴子打籃球的腳本去編程的,那老鼠是動物,我們有什么辦法讓老鼠旋轉不一樣的角度呢?
生:隨機數。
師:我們可以將一定的數值用隨機數來替換一下,這樣計算機來自由選擇隨機數來決定老鼠轉彎的角度,并時不時變換一種姿態。
課堂實錄片段2:
生:老師,我的老鼠發瘋了,他們像無頭蒼蠅一樣亂撞,怎么回事?
師:誰能幫這位同學解釋一下呢?
生:老鼠運動的速度太快了!
生:小鼠是不能倒著走!
師:我們同學的分析太對了,那我們就從這兩個角度來解決問題。首先是速度的問題,誰能告訴我怎么變慢?
生:就是多循環幾次,每次少走幾步就好了!
師:很好!告訴老師,你是怎么發現的?
生:就是多試幾次就好了!
師:對的,其實很多問題,包括我們在以后的學習和生活中遇到的困難,我們都是要自己多動手嘗試的,而不是直接將問題拋給老師和家長,勤于動腦,問題就會迎刃而解的!
生:老師,我真厲害!
師:我們再來看一下,怎么要老鼠正著走?
生:老師,我知道!
師:好!你來給大家示范一下。
師:我們可以看到,這個同學很細心嘍,發現了接口上的這三個小按鈕是控制角色的旋轉方向的。
生:老師,我也發現了!
師:看來我們同學不僅勤于思考還能夠仔細觀察,自我學習能力是很強的。
本階段,教師在教學中要經常反思,在學生體驗之后怎樣產生有意義的問題和對話策略。只有問題才能開啟體驗、經驗及知識聯系的通道;只有對話,才能誘發學習者進行自我探索,才能擁有自主的學習,才能培養問題意識與思維習慣。在體驗之后,“剛才發生了什么?我聽到、看到了什么?我聽到、看到、觀察到的與以前有什么不一樣的地方?”等問題就必須及時給出。也可從不同角度,采用不同的問題策略。
(3)抽象概括培養邏輯思維能力
在這一階段,學生已經基本上達到老師給出的模板水平,教師引導學生比較兩節課的腳本如圖2所示,拿自己的話總結這節課用到的腳本是建立在之前學習的哪些知識基礎上,又用到了哪些新的知識點。
(4)自主創作提升問題解決能力
達到老師給出的模板水平后老師鼓勵學生發揮想象的空間,在原有的基礎上進行創新,讓學生提出自己的修改意見——有的學生認為游戲的難度太低,有的則認為游戲里應該有讓玩家迅速勝利的必殺技等等。有的同學利用外觀命令里面的重像特效將自己的小老鼠變得透明,稱其為隱形殺手;有的同學用廣播功能在不同情況里令舞臺的背景不斷切換,稱之為魔立方;有的同學安排了大貓吃掉老鼠的場景;有的同學則加入了“全部冰凍”和“全部秒殺”的必殺技(如圖3);還有同學制作了太空打恐龍,跳出了老師的思維,玩起了他的“恐龍游戲”(如圖4)。這一階段給學生搭建了交流展示的平臺,學生相互學習,樂此不疲。畢加索曾說過,每個孩子都是一位藝術家,問題是如何讓他們在成年后仍然保持藝術家的思路。換一種思路去實現自己的想法,這不正是創造!?
三 應用效果分析
為了解Scratch教學前后,學生學習成效,邏輯思維能力和創造力是否得以提升,研究者根據學生的課堂表現,學習成果展示,教師的訪談觀察,結合《程序設計基礎測驗》《威廉斯創造性思考活動》《邏輯推理能力測驗》等研究工具對社團班上的30名學生進行測量,前后測相隔近兩個月,在各項測驗中學生成績都有所提高,通過質性材料的搜集結合量表的量化分析,研究結果分析如下。
1 學生學習積極性有所提高
通過觀察和訪談等質性資料的搜集,研究者觀察到課堂上學生積極參與討論,相互學習,在FTP上“曬”作品。課后自覺尋找各種資源,下載自己喜愛的作品,用來完善自己的作品,學生想教師表達對程序設計的熱愛,充分驗證了Scratch程序設計教學有效地提升了學生學習程序設計的熱情。
2 學生邏輯思維能力得以提升
小學生思維主要特點是以具體形象思維為主要形式,逐步向抽象邏輯思維過渡。這種過渡性就是說,兒童能對具體事物的變化進行抽象推理,并揭露其本質特點,但是兒童不能脫離具體事物的感知進行判斷推理。在想法的孵化階段,學生用自己的感性的一面孕育思想的種子,而到了實踐的過程則是理性的,通過反思觀察和抽象概括,學生的邏輯思維能力得到了鍛煉。學生在邏輯推理能力的前后測成績中有顯著提升。
3 學生創造力得以提升
研究者采用《威廉斯創造性思考活動》為研究工具對社團班上的30名學生進行測量,前后測相隔近兩個月,《威廉斯創造性思考活動》包括流暢力,開放性,變通力,獨創力,精細度及標題,所以得到六種子量表和總分,研究者用SPSS軟件對各項能力及總分的前后測成績進行成對樣本t檢驗,以此了解學生接受Scratch程序設計教學后,創造力是否得以提升,研究結果表明,學生在《威廉斯創造性思考活動》中的流暢力、變通力和獨創性的后測成績均高于前測成績,尤其是變通力上達到顯著差異。
四 結束語
Scratch編程語言是適應時代發展的產物,用它學習編程擺脫了程序設計復雜的語法和程序調用枯燥的格式,積木式的指令讓其抽象程度大大減少,讓程序設計變得十分有趣。基于體驗學習圈的Scratch程序設計教學方式鍛煉了學習者設計的思維和能力,對培養小學生的思維能力和創造力有重要意義。國內的Scratch教育剛剛起步,在很多方面還有待進一步的改進和完善,廣大教育工作者在積極的實踐和探索的基礎上推動Scratch程序設計課教學的發展。1