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