Scratch是由MIT的LLK團(tuán)隊(duì)專門為兒童設(shè)計(jì)的積木式(也叫圖形化)編程軟件。Scratch簡單易學(xué),且趣味性十足,深受全球兒童的喜歡,是小朋友們開始編程啟蒙的首選軟件。值得一提的是,Scratch是開源軟件,其源代碼是公開的。市面上許多積木式編程軟件(這里就不點(diǎn)名啦)其實(shí)都是在Scratch源代碼基礎(chǔ)上開發(fā)的,因此和Scratch大同小異。小朋友們想學(xué)習(xí)編程,認(rèn)準(zhǔn)Scratch就可以啦!
Scratch又分為兩個(gè)版本,分別適合不同年齡段的小朋友們。其中ScratchJr是Scratch的裁剪版,更適合5~7歲的學(xué)齡前兒童。Scratch3.0是Scratch的最新版,更適合8~10歲的低年級學(xué)生。
如前所述,ScratchJr功能更加簡單,比較適合5~7學(xué)的齡前兒童。Scratch3則相對比較復(fù)雜,適合8~12歲的低年級學(xué)生。學(xué)齡前兒童在學(xué)習(xí)ScratchJr之后,很容易就可以過渡到Scratch3。一二三年級小學(xué)生已經(jīng)有了一定的知識儲備,理解能力也更強(qiáng),可以直接從Scratch3學(xué)起。我們在后文會(huì)詳細(xì)介紹二者在功能和操作上的各種差異。學(xué)習(xí)少兒編程的諸多好處我們有專門的文章進(jìn)行介紹,這里就不贅述了,家長朋友們可以按照下面這幅圖來為自己的孩子選擇合適的。
ScratchJr專門針對手機(jī)和平板電腦設(shè)計(jì),更適合觸摸屏設(shè)備,小朋友們拖拖拽拽就可以操作,非常簡單。Scratch3由于功能更加復(fù)雜,比如可以響應(yīng)鼠標(biāo)和鍵盤事件,因此更適合在筆記本電腦和臺式機(jī)上安裝。雖然ScratchJr可以在手機(jī)上安裝,但是我們并不推薦。因?yàn)槭謾C(jī)屏幕太小,長時(shí)間盯著手機(jī)屏幕看可能會(huì)影響孩子們的視力。
在ScratchJr里,編程積木塊是橫著擺放的,更適合觸摸屏設(shè)備。在Scratch3里,編程積木塊則是豎著擺放,更適合在筆記本電腦和臺式機(jī)上操作。
ScratchJr面向的是學(xué)齡前兒童,因此刻意削減了編程積木塊的種類和數(shù)量,只能編寫一些較為簡單的動(dòng)畫、故事或者小游戲。ScratchJr沒有分支積木,因此是非圖靈完備的。Scratch3則有完備的編程積木塊,比如各種分支和循環(huán)積木,是圖靈完備的編程語言,可以編寫出非常復(fù)雜的故事或者游戲。
Scratch3其實(shí)已經(jīng)非常接近真正的代碼編程語言了,比如Python、Swift等。小朋友們通過Scratch3入門以后,很輕松就可以過渡到代碼編程語言,用英文而非積木塊來編寫程序。
除了內(nèi)置積木塊,Scratch3還支持自制積木塊,也就是利用現(xiàn)有的積木塊制作新的積木塊。另外,Scratch3還可以添加擴(kuò)展積木塊,增加畫筆、視頻偵測、文字朗讀等積木塊,并且可以通過擴(kuò)展為Micro:bit迷你板或者樂高EV3機(jī)器人等硬件設(shè)備編程,這些都是ScratchJr所不具備的。
看過話劇的小朋友們都知道,話劇演出需要一個(gè)舞臺,舞臺可以有不同的背景(幕布),各種角色們可以在舞臺上盡情的表演。與此類似,Scratch里也有一個(gè)虛擬的舞臺。在ScratchJr里,舞臺在屏幕上半部分的正中央。在Scratch3里,舞臺在右上角。
在ScratchJr里,我們可以添加最多4個(gè)舞臺,每個(gè)舞臺都可以獨(dú)立放置各種角色,并且可以通過組合積木塊對每一個(gè)角色進(jìn)行編程。Scratch3則更接近現(xiàn)實(shí)中的劇場,也即只有一個(gè)舞臺,但是可以切換不同的背景,并且背景也沒有數(shù)量限制。在Scratch3里,也是可以通過組合積木塊給每一個(gè)角色編程。不僅如此,Scratch3還可以給每一個(gè)背景進(jìn)行編程。因此,相對于ScratchJr,通過Scratch3可以編寫出復(fù)雜的多的故事和游戲。
ScratchJr和Scratch3都自帶了許多背景圖片和角色,如果這些自帶的背景和角色不夠用,還可以通過自帶的繪圖工具來繪制背景或者角色。ScratchJr和Scratch3的繪圖工具大同小異,都比較簡單,但足夠小朋友們畫出各種好看的背景和角色了。
ScratchJr和Scratch3繪圖板的一個(gè)比較大的不同之處是可選顏色的數(shù)量。ScratchJr繪畫板只有40種顏色可供選擇,不過應(yīng)該也夠用了吧,畢竟面向的是學(xué)前班小寶貝們。相比而言,Scratch3的繪畫板可選的顏色那可就多了。Scratch3繪畫板使用了HSB(顏色、飽和度、亮度)色彩模型,可以在幾百萬種顏色之中選擇,而且支持漸變等效果,足夠用了!
ScratchJr和Scratch3都有播放聲音的積木塊,都自帶了一些聲音,也都支持通過話筒錄制聲音。
ScratchJr和Scratch3都有消息機(jī)制,不同的角色之間可以通過收發(fā)消息來進(jìn)行互動(dòng)。在ScratchJr里,消息是由信封來表示的,通過顏色來區(qū)分。ScratchJr消息只有6種顏色,因此可以傳遞的信息非常有限。在Scratch3里,消息是通過文字來表示的,不同的文字就表示不同的消息,因此可以傳遞的信息基本沒有限制。
ScratchJr的舞臺是基于網(wǎng)格的,一共有15x20個(gè)網(wǎng)格。我們可以通過舞臺上方左數(shù)第二個(gè)按鈕來打開或者隱藏網(wǎng)格,如下圖所示。舞臺上的每個(gè)角色都有一個(gè)中心點(diǎn),我們可以通過這個(gè)中心點(diǎn)的行號和列號來定位它。另外,角色的移動(dòng)也是基于網(wǎng)格的。上下左右移動(dòng)積木塊的默認(rèn)移動(dòng)格數(shù)是1,可以改成其它整數(shù)。雖然ScratchJr也有旋轉(zhuǎn)積木塊,但是它只能旋轉(zhuǎn)角色本身,無法改變角色的移動(dòng)方向。
圖形化編程界面:Scratch Jr采用圖形化編程語言,孩子們不需要輸入復(fù)雜的代碼,而是通過拖拽和組合形狀來編程。這樣的設(shè)計(jì)使得編程更加直觀和有趣,降低了入門門檻,讓孩子們能夠快速上手。
創(chuàng)造性表達(dá):Scratch Jr鼓勵(lì)孩子們發(fā)揮想象力,通過自己的創(chuàng)造力來設(shè)計(jì)故事、游戲和動(dòng)畫。它提供了豐富的角色、背景和聲音資源,孩子們可以自由選擇和運(yùn)用這些資源,創(chuàng)造出屬于自己的作品。
多媒體編程:Scratch Jr支持多媒體元素的編程,孩子們可以通過拖動(dòng)圖像、錄制聲音和添加背景音樂,為自己的作品增添更多的互動(dòng)和趣味。
社區(qū)分享:Scratch Jr提供了在線社區(qū),孩子們可以將自己的作品分享給其他人,還可以觀看和學(xué)習(xí)其他人的作品。這樣的分享機(jī)制,不僅能夠激發(fā)孩子們的創(chuàng)造力,還能夠讓他們從互動(dòng)中學(xué)習(xí)和成長。
適齡性:Scratch Jr針對4-7歲的孩子設(shè)計(jì),軟件界面簡單直觀,操作容易上手,很容易引起孩子們的興趣。而且,Scratch Jr注重培養(yǎng)孩子們的邏輯思維和創(chuàng)造力,循序漸進(jìn)地引導(dǎo)孩子們進(jìn)行編程學(xué)習(xí)。
互動(dòng)性:Scratch Jr支持孩子們分享自己的作品和觀看他人的作品,這樣的互動(dòng)和交流機(jī)制能夠激發(fā)孩子們的學(xué)習(xí)興趣,并且從中學(xué)習(xí)到更多的知識和經(jīng)驗(yàn)。此外,Scratch Jr還提供了豐富多樣的角色和背景資源,可以讓孩子們創(chuàng)造出更加生動(dòng)有趣的作品。
創(chuàng)造性表達(dá):Scratch Jr鼓勵(lì)孩子們發(fā)揮想象力,以自己的創(chuàng)造力來設(shè)計(jì)故事、游戲和動(dòng)畫。這樣的創(chuàng)造性表達(dá)方式,不僅能夠提高孩子們的創(chuàng)造力和創(chuàng)新能力,還能夠培養(yǎng)他們的問題解決能力和邏輯思維能力。
培養(yǎng)未來技能:編程已經(jīng)成為了21世紀(jì)的一項(xiàng)重要技能,未來的就業(yè)市場對于懂得編程的人才需求也將越來越高。通過Scratch Jr的學(xué)習(xí),孩子們可以從小開始接觸和了解編程,培養(yǎng)他們未來需要的技能和思維方式,為他們的未來發(fā)展打下堅(jiān)實(shí)的基礎(chǔ)。