Transcript 高慧君老師演講投影片
Scratch: Programming for all 南港高中 高慧君 資料來源 • 作者:Mitchel Resnick等 • 出處:Communications of the ACM • 時間:2009年11月 數位素養 • 不能只是 – Browsing – Chatting – Interacting • 還要能夠 – Designing – Creating – Remixing 前言 • 編輯邀稿時表示他的同事(CS專 長)說: 如何能讓他的10歲女兒對程式 設計有興趣,唯一有效的就是 Scratch • 筆者表示這正是六年前他們發 展Scratch的訴求。 前言 • 即使未來不是擔任程式設計師 希望Scratch也能夠吸引更多人 來學程式設計 • 希望讓每個人覺得程式設計是 簡單的,不管是年紀、背景、 興趣,都可以用Scratch來製作 他們的故事、遊戲、動畫、模 擬軟體,並且能與其它人分享 Scratch官網 • 自從2007年5月發表後,官網 成為活躍的線上社群,大家分 享作品、討論、再創作。 • Scratch視被為是The YouTube of interactive media • 主要的成員:8~16歲(12歲最多) Scratch官網 • 自從2007年5月發表後,官網 成為活躍的線上社群,大家分 享作品、討論、再創作。 • Scratch視被為是The YouTube of interactive media • 主要的成員:8~16歲(12歲最多) 透過Scratch • 學生可以學會重要的數學與演 算性思維。 • 學生可以學會有創意的思考、 有系統性的推理、團隊合作 • 目的並非培養程式設計師。 • 而是期望新世代能夠用程式設 計表達自我思想。 聚焦Scratcher • BalaBethany: 13歲女孩 • 喜歡畫動漫角色 • Scratch剛好適合她可以讓角色 動起來 • 她在官網上分享她的作品並且 引起了許多回應與讚賞 • 這些讓她更樂於創作,就像電 視節目一樣有系列情節 聚焦Scratcher 聚焦Scratcher • 她經常發表新角色,之後,覺 得為什麼不讓社群一起來創作 • 她發起了一個比賽,希望大家 來為她的角色創作一個姊妹角 色,條件是紅色或藍色頭髮, 並且有貓或公羊角。 • 她並製作了13個步驟畫動漫的 作品來教網友。 聚焦Scratcher • 一年內她發表了200個作品 • 她的美工與程式技巧進步了 • 作品有高達1萬2千則回應 為什麼要學程式設計 • 現在的年輕世代是數位原生 • 許多人能夠發文字訊息、玩線 上遊戲、瀏覽網頁,但是這樣 算流暢地使用新科技嗎? • 雖然他們能夠操作數位媒體, 但是很少能夠創作遊戲與動畫。 • 這個現象是他們只能閱讀,而 不會寫作。 為什麼要學程式設計 • 要能夠使用新科技來設計、創 造、與發明,都需要學一點程 式設計 • 程式設計提供「演算法式思維 (computational thinking)」能夠 對問題解決能力的提昇有幫助。 • 程式設計有助於反思自我的思 考 以往的研究 • 在1970~1980年代,曾有一股 風潮於教小孩子們學Logo或 Basic程式設計 • 之後,學校課程轉變為教小孩 子們關於電腦的操作。 • 於是電腦走入了孩子們的生活 但是卻反而很少人去學習程式 設計了。 以往的研究 • 多數人視程式設計為狹窄且技 術性的活動,僅適合少部份人 口從事即可。 • 孩子學習程式設計的熱情跑哪 裡去了呢? 以往的研究 • 原因一:早期的程式語言使用 上太困難了,孩子們無法掌握 住程式的語法 • 原因二:使用的例子與孩子的 經驗與興趣脫節,例如算質數 或畫線 • 原因三:通常不易除錯 以往的研究 • Papert提出程式語言應具備 低門檻(Low flower) 高功能性(High ceiling) 此外,作者認為還應具備 多樣性(Wide walls) 要同時滿足這三個條件是不容易 以往的研究 • 近幾年新的語言興起,例如: Flash(Action Script)、Alice 作者認為 門檻應該要更低些(floor lower) 要更多樣性(walls wider) 以往的研究 • 為了達到理想的目標,因此對 於新的語言建立了三個理念 1.More tinkerable 2.More meaningful 3.More social More Tinkerable • 研發團隊曾與樂高公司密切合 作開發出Lego Mindstorms可程 式化積木組。在合作的過程中 被小孩子玩積木的思考方式所 觸發的靈感。 More Tinkerable • 當被給予一整盒積木時,小孩 子就開始拼湊與組合積木,現 有的結構會給他們新點子。 • 就像樂高積木一樣,積木上的 連結器表示他們能被放在一起, 小孩子可以開始簡單地拼湊 (tinkering),用不同的順序與組 合來組裝並看看會發生什麼事。 • 希望在scratch中寫程式也是有 同樣的感覺。 More Tinkerable • Scratch這個字本身高度隱含了 拼揍(tinkering)。它來自於嘻哈 音樂的DJ,用他們的雙手來回 轉動碟片來製造出音樂,將音 樂有創意地組合在一起。 • 在Scratch中,活動也是類似的, 拼湊圖像、動畫、照片、音樂、 聲音等。 More Tinkerable • 在Scratch介面中的程式區想要 設計成與實體的桌面。 • 你可以放置多餘的積木在桌面 上,如果你等會需要他們的話, 隱含的訊息是有點亂或是實驗 性都是無所謂的。 More Tinkerable • 大多數的程式語言使用由上而 下的設計,而非由下而上的拼 湊(tinkering)。 • 在scratch中,希望小朋友覺得 和由上而下的設計者一樣舒適。 More Meaningful • 當製作對個人有意義的專題時, 學得最好也會樂在其中 發展Scratch有二個設計準則 • 多樣性(Diversity): 能支援各種不同型態的專題 • 個人化(Personalization): 能輕易地放入個人化的素材 More Meaningful • 著手在2D影像,而非3D環境: 有些人認為2D過時,但考量多 樣性與個人化因素,決定採用 2D影像,因為2D比較容易創建。 More Meaningful • 引用某資訊科學家的部落格文 章強調個人化對小孩子的重要: 「我必須承認我起先不清楚為什麼給小孩子學的 程式語言必須要媒體導向(media-centric)。但是當 我看見我的小孩使用Scratch之後,我就很清楚了, 我看見Scratch最棒的地方是,它以新的方式將經 驗個人化,方式是讓我的小孩能輕易地加入個人 化的內容,並且在發展過程中主動參與。他們能 在Scratch環境中加入他們自己的照片及聲音,這 些讓他們有久久的樂趣並且驅動他們學習。」 More Social • Scratch內建分享按鈕,可以將 作品上傳到官網上發表。 • 在官網上,只要使用瀏覽器就 可以播放作品, • 在官網上,也可以下載作品來 研究程式碼。 • 官網上的所以的作品均採CC授 權。 More Social • 經過27個月,官網上有超過50 萬件作品。 • (目前在官網上的作品有300萬 以上) • Scratcher有機會把作品向廣大 的群眾展示,並且從其他的 Scratcher取得回饋與建議。 • 這個機制會刺激Scratcher創作 的動機。 More Social • 學者曾指出Logo有很好的語法, 但缺乏文獻。 • 學生無法取得Logo的傑作來啟 發思想。 • Scratch官網則提供了寶貴的作 品資料庫,可以稱為Scratch作 品的文獻資料,讓Scratcher觀 摩與學習。 More Social • 在Scratch官網中也鼓勵合作創作, Scratcher持續地運用他人點子來 創作。 • 15%的作品是其它作品的衍伸作 品。 • 起初有些人會因為作品被修改而 抱怨。 • 官網希望讓作品被修改的人感到 驕傲,而非不悅,因此,改作的 作品會被連結到原始作品。 More Social • 有人在官網推出SNN頻道(類似 CNN),報導Scratch社群動態 • 有人以經營公司的模式來讓一群 人共同創作一些個人無法獨力完 成的作品。 More Social • 為了讓更多人能夠加入Scratch社 群,因此,Scratch被翻譯成世界 各國不同語言來呈現。 • 超過40個國家的志工們一起參與 翻譯。 未來發展 • 愈來愈多中小學,甚至大學,使 用Scratch作為進入程式設計的第 一個語言。 • 有許多討論認為Scratch應該有進 一步的發展,例如:物件的繼承、 遞迴等。 • 作者認為Scratch著重於降低門檻 (lowering the floor)與增加多樣性 (widening the walls) 未來發展 • 對於那些打算進入電腦科學領域 的人,再換另一個語言是很重要 的。 • 對於那些將程式設計視為一種表 達方式,而非未來職業,那麼 Scratch就夠用了。 未來發展 • 對Scratch而言,最大的挑戰並不 是技術,而是文化與教育性。 • 人們對於程式設計的想法要改變。 • 數位素養不是只有瀏覽與互動, 更重要的是設計與創造。