Scratch 是如何成為最受兒童歡迎的編程軟件的?

admin 發表于 2019-02-25 11:20

一、Scratch是什么?

Scratch是由麻省理工學院媒體實驗室Lifelong Kindergarten Group免費開發的圖形化編程語言軟件。面向對象主要是8-16歲的孩子,通過將編寫好的代碼模塊以“塊狀”的形式呈現在操作界面中讓使用者對不同的代碼塊進行移動與結合從而實現控制腳本對象行動的目標,極大地方便了使用者去發揮自己的創意創新能力,也利于他們去創作出能展示自我個性和想象力的作品。

http://www.oeerar.tw/Uploads/timg/190225/11204I441-0.jpg

MIT最新發布的Scratch3.0,界面更加清晰簡潔

Scratch1.0在2007年第一次公開發布,隨后在2012年又推出了Scratch2.0版本。而Scratch支持多國語言則讓軟件得以在全球范圍內被廣泛快速的使用與傳播。如今在時隔6年之后,麻省理工學院媒體實驗室的Lifelong Kindergarten Group在2019年的1月初正式推出了Scratch3.0。

麻省理工學院媒體實驗室的LEGO學習研究教授Mitchel Resnick曾經說過:“當孩子們共同使用Scratch一起進行創造和分享彼此項目的時候,他們將學會創造性地思考,系統地推理和協同工作 - 這是當今社會中每個人的基本技能。”

http://www.oeerar.tw/Uploads/timg/190225/11204JF7-1.jpg

少兒編程之父:米切爾·雷斯尼克(Mitchel Resnick)

麻省理工學院媒體實驗室“終身幼兒園”團隊主管,樂高教育全球董事。

事實上,Scratch的積木式編程方法很大程度上是受到了樂高玩具的啟發,兒童在玩樂高積木的時候常常因為樂高積木靈活的組裝方式,而不斷地嘗試排列出各種風格迥異的形狀與結構。在Scratch的設計中也參考了這種富有趣味性的方式,以一系列可以拼接組合的積木式“代碼塊”將Scratch中的語法進行呈現。

二、Scratch有什么獨特的特點?

1、對于孩子來說,以“代碼塊”形式進行編程會極大程度的避免他們編程時遭遇常常出現在傳統編程語言中諸如語法晦澀難懂和被大量標點符號混用所困擾的問題。模塊化的代碼形式更容易實現零基礎編程,因此會更加適合初次接觸編程的人群。

2、同時Scratch還可以滿足使用者在編寫或修改程序代碼的過程中隨時驗證和觀察代碼執行效果的要求,這也使得孩子隨時都可以方便地拖拽調整代碼模塊組合從而實現腦海里的想法或完成自己作品的迭代。這實際上意味著孩子能夠以更加容易的方式看到自己的成果并收獲成就感,進而驅動自己繼續去進行更復雜的挑戰,形成長期熱愛。

在Scratch的開發者看來,用更具有交互性的拖拽方式排列組合代碼,不僅省去了編程時添加標點符號的煩惱。即使是在遇到問題的時候,使用者也可以輕松地回過頭去拖動鼠標拆分代碼塊去系統地分析這個程序。這使得Scratch比起傳統編程語言更便捷,也使得創作的整體過程對于兒童來說更為流暢。

3、當真正開始用Scratch進行編程就會發現Scratch的設計具有很強的交互性,在Scratch中拋去了傳統編程軟件逐行敲代碼的麻煩,使用者只要對Scratch中已經定義好的模塊進行拖動再根據一定的邏輯組合就能夠像拼積木一樣游戲化的實現程序快速編寫與修改。

這種類似積木的代碼模塊總共有8個大類,在對這些“代碼塊”進行拼接時,要將不同類別的代碼塊進行組合需要掌握一定的使用規范。以while循環為例,它看起來與字母C非常相似,所以通過這種圖形化的形式就能清晰明了的讓使用者明白可以在它的內部填充其他的“代碼塊”。對于孩子來說使用富卡通化和清晰直觀的積木式指令,可以促進自身更好的發揮想象力和創造力,創作出屬于自己的動畫或者游戲作品。

4. Scratch相比于其他編程軟件更加注重協作和鼓勵分享,在Scratch中“分享”按鈕也被設定為整個程序界面最重要的一個部分而放置在界面的頂端。只要按下“分享”按鈕個人作品就會被上傳到Scratch網站,然后所有人都可以在網站上找到這份作品。而其他人也可以下載修改作品再進行上傳,實現不同創意的融合,誕生出新的作品。

http://www.oeerar.tw/Uploads/timg/190225/11204MJ9-2.jpg

Scratch社區,里面有大量由青少年上傳的創意作品

三、Scratch?能讓青少年收獲什么?

在學習Scratch的過程中,除了最根本的培養邏輯思維與創造力之外,還能夠提升孩子的理解能力,學會進行團隊合作產出項目以及自主地解決問題等等一系列能力。

1、建立知識與實際的聯系

在Scratch學習過程中學生會處于一種理論與實踐有著強聯系的背景下進行學習。就以如何設置與使用變量為例,以往孩子都是通過課堂聽老師講解進行學習,這種學習方式難免讓人對如何使用變量感到有些模糊。而在Scratch中,可以直觀的設置變量再用變量去控制整個程序和動畫的變換,就可以更好的理解變量。

2、解決問題能力

在一位名叫馬丁的外國教育家看來,讓孩子學會如何去解決問題是極為關鍵的,但是現在的孩子大多都沒有掌握解決問題的能力。她說:“我們應該讓孩子像程序員一樣。不是讓孩子們在遇到問題時就直接放棄正在做的事情然后再重頭開始做,而是應該像程序員調試修改程序一樣,在發現問題時及時回頭去修復、改正問題。

在Scratch中,孩子在嘗試創建作品的過程中不僅需要關注到作品背后的邏輯與架構,當他們嘗試運行程序但實際上卻并沒有達到他們預期效果的時候,他們就不可避免的需要對代碼進行修改和調試去嘗試解決問題,解決問題能力在這個過程就得到了鍛煉和提升。

3、培養個人專注力與團隊協作能力

之前,在Scratch社區上有一位名為BeeBop的15歲英國小女孩,她通過學習Scratch從而創作出了一個含有大量精靈動畫的作品,并且在Scratch社區中進行了上傳。同時她也在社區中表達出了希望能夠讓自己的精靈動畫在更多作品出現的期待,并且鼓勵大家提供更多的素材讓她進行創作。與此同時,另一位同樣來自英國的10歲小女孩也關注到了BeeBop的動畫作品并且對它們非常感興趣,所以她聯系BeeBop向她獲取了授權對這些動畫作品進行修改。這也間接促使后來一家致力于用Scratch產出“最高品質游戲”的小型公司——Mesh Inc.的出現。

不久后,來自新澤西的14歲男孩Hobbit在社區中發現了Mesh Inc.的作品,然后他決定發出一份求職申請,他的求職理由則是“我是一個非常棒的Scratch程序員,我能夠參與作品的編程和調試。”在此之后,又有一位來自愛爾蘭的11歲男孩Marty成了Mesh Inc.公司的新員工,原因則是他很擅長于背景滾動的特效制作與控制。

這種孩子們用Scratch共同協力合作創造出作品的現象并非只是曇花一現。有不少的Scratch用戶都通過在Scratch社區分享自己的創意作品而找到了志同道合的伙伴,并且在組隊合作的過程中不斷溝通與協作,運用團隊的力量去解決無法僅憑個人力量解決的困難問題。這個過程不僅能讓孩子的協作能力與管理項目能力得到鍛煉,合作解決一個困難的的難題也能夠提升個人在面對問題時的專注力。

http://www.oeerar.tw/Uploads/timg/190225/11204R0O-3.jpghttp://www.oeerar.tw/Uploads/timg/190225/11204U347-4.jpghttp://www.oeerar.tw/Uploads/timg/190225/11204962O-5.jpghttp://www.oeerar.tw/Uploads/timg/190225/1120494961-6.jpg

Scratch社區中的部分作品(左右滑動查看)

如今,越來越多的青少年開始嘗試學習Scratch并在其中實現各自的創意想法,登陸Scratch社區經常會發現有大量的動畫、游戲作品。雖然這些作品之間的水平有所差異,但是在每件作品的背后實質是青少年自主學習能力和協作能力的體現。況且,學習編程也并不意味著未來就注定要成為一名程序員,學習Scratch可以當做是個人綜合素養能力的一種培養,最重要的是讓孩子能學會如何與計算機互動去進行創新,在日趨智能化的時代中做到良好的去表達自我,掌控生活中的新科技。

后記,小編朋友公司研發了一個游戲化的少兒編程在線課程(5-12歲),游戲化教學結合scratch(一款在線少兒編程工具,類似樂高的積木拼搭),我家娃娃學了幾次課,非常喜歡(超預期),16次課才200多塊錢,對鍛煉孩子的思維能力和動手動力很有幫助。

感興趣的朋友可以掃描二維碼,關注一下,或微信搜索“大耳猴少兒編程”

http://www.oeerar.tw/Uploads/Editor/2018-04-22/5adca08bdc212.jpg