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