資訊內(nèi)容
【多米拉科普篇】帶你了解什么是Scratch?兩節(jié)課就掌握
一分鐘帶你認(rèn)識(shí)Scratch!
Scratch是MIT(麻省理工學(xué)院)媒體實(shí)驗(yàn)室終生幼兒園小組(Lifelong KindergartenGroup)開發(fā)一套新的程序語言。可以使用Scratch創(chuàng)建編寫自己的互動(dòng)式故事,動(dòng)畫,游戲、音樂和藝術(shù) -同時(shí)也可以將創(chuàng)作與社區(qū)中其他成員分享。Scratch使用方便,完全不用背指令,使用積木組合式的程序語言,讓學(xué)習(xí)變得更輕松,并充滿樂趣,有助于孩子們學(xué)習(xí)創(chuàng)造性思考,系統(tǒng)推理和協(xié)同工作
Scratch主要特點(diǎn)-
為8-16孩子設(shè)計(jì),但老少皆宜。
-
積木式編程模塊,無須記憶復(fù)雜代碼。
-
方便地全球分享(share)與重寫(remix)作品,協(xié)同創(chuàng)作。
-
可以借助傳感器或傳感板,實(shí)現(xiàn)與現(xiàn)實(shí)的互動(dòng)。
-
可以非常方便地表達(dá)自己的創(chuàng)意,運(yùn)用于數(shù)學(xué)、物理、工程、音樂等學(xué)科的輔助研究和開始創(chuàng)造教育。
Scratch 與計(jì)算機(jī)科學(xué)密切相關(guān),所以教育工作者和家長會(huì)問很多有關(guān) Scratch 的問題:Scratch 是編程嗎?為什么學(xué)生應(yīng)該學(xué)習(xí) Scratch 而不是 Java?青少年在使用 Scratch 時(shí)是否能學(xué)到計(jì)算機(jī)科學(xué)的概念?
對(duì)我來說,Scratch 和計(jì)算機(jī)科學(xué)之間的聯(lián)系是非常明確的:我青少年時(shí)期使用 Scratch 的經(jīng)驗(yàn)給了我用計(jì)算機(jī)進(jìn)行創(chuàng)作的信心,激發(fā)了我去探索不同的編程語言,并且促使了我決定在大學(xué)里主修計(jì)算機(jī)科學(xué),幫助我成功完成了最難的課程。現(xiàn)在,離我在八年級(jí)第一次使用 Scratch 時(shí)已有將近9年,我拿到了計(jì)算機(jī)科學(xué)學(xué)位,學(xué)會(huì)了很多不同的編程語言,但我依然熱愛 Scratch!
Scratch 是很棒的編程入門工具
Scratch 是我學(xué)習(xí)的第一門編程語言。八年級(jí)時(shí),有一天我無聊了,便在網(wǎng)上搜索小孩可以學(xué)的編程語言。我發(fā)現(xiàn)了 Scratch,并馬上玩起來。在幾分鐘內(nèi),我就制作了一個(gè)簡單的交互式動(dòng)畫:當(dāng)你按下鍵盤上的不同按鍵,一個(gè)貼紙動(dòng)畫人物就會(huì)旋轉(zhuǎn)并且改變顏色。因?yàn)? Scratch 是基于塊的,所以我沒有遇到語法和錯(cuò)誤信息的問題——這讓我對(duì)編程異常興奮。而且,我當(dāng)時(shí)已開始使用像“并行”和“事件處理”這樣的概念,這些概念,多年后我在學(xué)習(xí) Python 和 Java 時(shí)也碰到了。
許多教育工作者也同樣發(fā)現(xiàn),Scratch 是很棒的編程入門工具。Claire Pritchard,來自芝加哥的 K-8 技術(shù)集成專家,也在教學(xué)中與她的學(xué)生一起使用 Scratch 和 ScratchJr(一個(gè)為5至7歲小孩設(shè)計(jì)的應(yīng)用程序)。她說,“ 我的學(xué)生通過 Scratch 學(xué)會(huì)了如何舉一反三,如何解決問題,以及如何編程。因?yàn)? Scratch,我們開始學(xué)習(xí)算法和日常生活中的循環(huán),特定的方向和其它計(jì)算機(jī)概念。”她解釋說,通過 Scratch 和 ScratchJr,她的學(xué)生現(xiàn)在“可以理解基本的邏輯概念,編寫干凈的代碼,做一個(gè)用文本編輯器的程序員可以做的所有事,唯一的區(qū)別是,他們使用的是一個(gè)圖形界面。”
而 Scratch 的好處并非僅限于對(duì)小學(xué)生!在諾福克州立大學(xué),Mona Rizvi 教授和 Thorna Humphries 教授在他們的計(jì)算機(jī)科學(xué)入門課程中就使用 Scratch 作為入門編程語言。當(dāng)他們?cè)趯W(xué)期末請(qǐng)學(xué)生反饋時(shí),學(xué)生們也認(rèn)為從 Scratch 中獲益匪淺。比如,一位學(xué)生說“ Scratch 教給我們編程的思維:怎么樣一步一步地做事情”。另一位學(xué)生則說,“從中我們學(xué)會(huì)了使用循環(huán),這對(duì)學(xué)習(xí) C++ (他們?cè)谙乱婚T計(jì)算機(jī)課程中使用的語言)也很有幫助”。
Linda Fernsel 是從2011年開始使用 Scratch 的。現(xiàn)在,她在大學(xué)里學(xué)習(xí)計(jì)算機(jī)科學(xué)和媒體,并擔(dān)任 Scratch 團(tuán)隊(duì)的負(fù)責(zé)人。我問她在學(xué)習(xí)過 Scratch 后再學(xué)習(xí)其它編程語言是什么感覺。她說:“學(xué)習(xí) Java 就像碰到一個(gè)老朋友。我已經(jīng)了解了那種思維方式,我需要學(xué)習(xí)的主要是一些語法。我并不害怕學(xué)習(xí) Java,因?yàn)閷W(xué)習(xí) Scratch 給了我很多很多自信。”
通過在 Scratch 中制作項(xiàng)目,學(xué)生們可以了解很多計(jì)算機(jī)科學(xué)的概念,比如迭代和布爾邏輯,還可以練習(xí)很多專業(yè)程序員們每天使用的技巧,比如調(diào)試錯(cuò)誤和編寫文檔。而且,他們可以在更寬容的環(huán)境中學(xué)習(xí)這些,鼓勵(lì)他們修改、探索和創(chuàng)造令人興奮的圖形游戲和動(dòng)畫。
Scratch是一種真正的編程語言
Scratch 不只是編程入門學(xué)習(xí)的好工具,它本身就是一種真正的編程語言。編程語言,是一種允許人們向計(jì)算機(jī)傳達(dá)指令的語言。Scratch 正是這樣的 —— 通過將命令塊有序地拖到一起,學(xué)生們可以給計(jì)算機(jī)下達(dá)指令,比如“讓那個(gè)角色在屏幕上移動(dòng)”或者“將兩個(gè)數(shù)字相加”。
Scratch 具有許多編程語言的重要特征,比如循環(huán)(重復(fù)塊)和條件(if-then塊)。有了這些功能,學(xué)生們可以在 Scratch 中創(chuàng)建算法或指令來完成特定的任務(wù)。計(jì)算機(jī)科學(xué)家會(huì)說 Scratch 是一種“圖靈完備”的編程語言,意思是,Scratch 可以執(zhí)行組成算法的所有基本功能 (functions)。
有些人擔(dān)心,把 Scratch 中的塊拼在一起(而不是輸入文本)就不是一門真正的編程語言。但是,輸入文本并非編程的必要條件。在80年代中期前,大多程序員是通過打孔卡上的洞來編寫和存儲(chǔ)他們的程序。現(xiàn)在,許多編程語言是用文本編寫和存儲(chǔ)的,但并非全都如此。例如,使用編程語言 Labview 的工程師就是通過連接圖形節(jié)點(diǎn)來創(chuàng)建程序的。
Scratch 是世界上數(shù)以百計(jì)的編程語言之一。我曾與 Scratch 團(tuán)隊(duì)的開發(fā)人員 Chris Garrity 交談,她目前負(fù)責(zé) Scratch 網(wǎng)站前端,ScratchJr 和本地化。在她的職業(yè)生涯中,她用過許多編程語言。最近,她主要使用 Java,Ruby,Python,當(dāng)然,還有 Scratch。
她用多種編程語言工作,因?yàn)檎缢f:“不同的語言在某些事情上會(huì)比其它語言更方便些”。比如,在網(wǎng)絡(luò)瀏覽器中制作網(wǎng)頁時(shí)用 Java 就很好,而其它一些語言更適用于那些需要在運(yùn)行前反復(fù)檢查的程序,比如汽車的控制系統(tǒng)。Scratch 對(duì)制作游戲和動(dòng)畫是非常好用的,因?yàn)樗梢宰屇銓D像像單塊一樣在屏幕上移動(dòng),而不需要你分別編寫每個(gè)像素的顏色。
有時(shí)候,當(dāng)人們說 Scratch 不是“真正的”編程語言時(shí),他們的意思是,Scratch 不是一種用來制作專業(yè)應(yīng)用程序和軟件的專業(yè)編程語言。這是事實(shí),但年輕人依然用 Scratch 來創(chuàng)造有趣的作品。學(xué)生們使用 Scratch 制作非常真實(shí)的項(xiàng)目——他們用 Scratch 連接他們?cè)谡鎸?shí)世界中的興趣和身份,探討現(xiàn)實(shí)世界中的問題,并解決現(xiàn)實(shí)世界的需求。而且在 Scratch 在線社區(qū)里,他們還可以與數(shù)百萬活躍用戶分享他們的作品。
Scratch 最終是創(chuàng)造和分享東西的工具
在使用 Scratch 一段時(shí)間后,許多學(xué)生發(fā)現(xiàn),即使他們已經(jīng)會(huì)使用其它編程語言,他們卻還想繼續(xù)使用 Scratch。
Connor Hudson,另一位 Scratch 團(tuán)隊(duì)的負(fù)責(zé)人從9歲時(shí)就開始使用 Scratch。現(xiàn)在,他是一名主修計(jì)算機(jī)科學(xué)的大二學(xué)生,同時(shí)他還輔修了技術(shù)藝術(shù)與媒體專業(yè)。Connor 使用好幾種不同的編程語言,并協(xié)助開發(fā)了 Scratch 的拓展應(yīng)用。現(xiàn)在,他仍然用 Scratch 來編寫代碼,因?yàn)檎缢f,“即使在學(xué)習(xí)了其它編程語言之后,我發(fā)現(xiàn) Scratch 依然是將想法轉(zhuǎn)換成現(xiàn)實(shí)的最佳工具。”
我也依然喜歡用 Scratch 做項(xiàng)目。對(duì)于 Connor,Linda 和我以及其他許多長期使用 Scratch 的人來說,Scratch 現(xiàn)在依然是我們工具帶中,一個(gè)用來制作炫酷項(xiàng)目的工具。
麻省理工學(xué)院媒體實(shí)驗(yàn)室的 Scratch 團(tuán)隊(duì)負(fù)責(zé)人 Mitch Resnick 在最近的一篇博客文章中解釋說:“我們的最終目標(biāo),是幫助所有孩子發(fā)展他們的想法,發(fā)展他們自己的聲音和身份。”
所以,學(xué)習(xí) Scratch 不只是學(xué)習(xí)編程!年輕人使用 Scratch 制作關(guān)于時(shí)尚和美食的項(xiàng)目。他們使用 Scratch 來練習(xí)他們的演技、創(chuàng)作音樂,并制作自己的動(dòng)畫。在這個(gè)過程中,他們慢慢了解計(jì)算機(jī)科學(xué)的概念,但同時(shí),他們也學(xué)會(huì)了協(xié)同合作、繪畫和設(shè)計(jì)、建設(shè)性溝通,并且運(yùn)用他們的幽默感——所有這些,他們都用自己的代碼表達(dá)出來。
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時(shí)和我們聯(lián)系刪除
