版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Scratch與創(chuàng)意計算 教師培訓(xùn),上海師范大學(xué) 信息與機(jī)電工程學(xué)院 計算機(jī)系 王旭卿 ,普陀區(qū)教育學(xué)院,2014年3月4月,培訓(xùn)內(nèi)容,1,2,3,4,Mitch Resnick讓我們教孩子編碼吧,2012年TED講座,MIT媒體實(shí)驗(yàn)室終身幼兒園研究小組(Lifelong Kindergarten Group)主任開發(fā)Scratch的負(fù)責(zé)人Mitchel Resnick教授,“當(dāng)今,年輕人有很多與新技術(shù)互動的經(jīng)歷但他們卻很少有機(jī)會使用新技術(shù)去創(chuàng)建或表達(dá)自己”,數(shù)字時代也需要“脫盲”,Resnick列舉教孩子編碼的好處,“這樣他們就能不僅是讀 新技術(shù),而且能創(chuàng)造新技術(shù)?!?Read and Cr
2、eate,在學(xué)習(xí)中編程,在編程中學(xué)習(xí)Learning to code, coding to learn,掌握問題求解技能和項(xiàng)目設(shè)計策略,設(shè)計,用新技術(shù)表達(dá)自我,表達(dá),數(shù)字流暢能力,這些技能不僅在各專業(yè)領(lǐng)域受用無窮,更是在生活中也不可或缺的能力,從編寫代碼到創(chuàng)意計算,第一講 Scratch編程簡介,1.Scratch編程特點(diǎn) 2.開發(fā)動機(jī)與意圖 3.集成開發(fā)環(huán)境 4.編程環(huán)境與語言設(shè)計 5.Scratch與21世紀(jì)能力培養(yǎng),可視化圖塊式編程工具,Scratch,面向8至16歲的兒童和青少年 可視化程序設(shè)計語言與開發(fā)環(huán)境,文本編程工具(VB、Java、C#、Python),Scratch編程特點(diǎn),
3、Scratch的編程特點(diǎn),1,2,3,4,5,6,1. “搭積木”式的程序設(shè)計模式,編程選擇、拖拉、拼搭彩色代碼塊(或稱為指令塊 Code Block) 代表不同命令或行為 組成可執(zhí)行的代碼堆(腳本) 控制程序邏輯,Scratch作品的組成,作品可以保存為本地文件(.sb),也可以上傳到Scratch官網(wǎng),與同伴分享,控制,2. 程序操控豐富媒體素材,包含程序邏輯的腳本(Script) 控制角色(二維圖形對象)在舞臺(背景)上移動。,擺弄性編程方式(Tinkering),以不同的順序和組合方式來拼搭指令塊、組成腳本堆,邊執(zhí)行程序,邊觀察執(zhí)行效果。 Scratch 編程環(huán)境和編程語言支持 自上而
4、下的規(guī)劃、設(shè)計 自底向上的擺弄,3. 低門檻、高界限與寬空間low-floor / high-ceiling / wide-walls,前兩個編程語言的特征是Papert提出的,創(chuàng)作類型豐富的交互式多媒體作品,4. 深厚的分享特性,Scratch官網(wǎng):/,在線社區(qū)是青少年使用編程工具和分享編程作品的社交情境,Scratch社交平臺 分享(上傳)作品 觀看、下載、研究作品 給予評論、關(guān)注好友 贊、收藏,Scratch 2.0網(wǎng)站的社交交互性更強(qiáng),5. 與真實(shí)世界無縫銜接,利用Scratch操控外部設(shè)備,創(chuàng)建虛實(shí)結(jié)合的作品:S4A作品:智能紅綠燈,支持中文
5、、免費(fèi)使用,軟件啟動幾秒后,自動測試操作系統(tǒng)版本,變換為簡體中文的界面 Scratch 2.0:云平臺創(chuàng)作環(huán)境、離線編輯器,Scratch的開發(fā),1、開發(fā)歷程 2、開發(fā)緣起 3、開發(fā)意圖,開發(fā)歷程,MIT媒體實(shí)驗(yàn)室的“終身幼兒園研究小組”歷時四年開發(fā) 2007年5月Scratch軟件首度公開 Scratch官網(wǎng)投入使用 早期版本為1.4版 Scratch2.0已上線,離線編輯器Beta版可下載使用,開發(fā)緣起,滿足課外計算機(jī)活動俱樂部經(jīng)濟(jì)弱勢青少年的需求和興趣 讓學(xué)生把可編程性添加到控制媒體的活動 提升青少年的技術(shù)流暢性technology fluency 鼓勵青少年通過探究和同伴分享進(jìn)行學(xué)習(xí),
6、非直接教學(xué),Scratch的推廣:從課外到學(xué)校,開發(fā)Scratch的靈感來源,嘻哈音樂主持人(hip-hop DJ)善于混搭和刮擦唱片來創(chuàng)建新穎、獨(dú)特的音樂。,Scratch,“搓盤”、“搓碟”,DJ利用唱片反轉(zhuǎn)的聲響做音樂的技巧百度百科,Scratch也試圖讓用戶用預(yù)制的代碼塊拼搭/堆疊在一起去控制圖形、照片、音樂、聲音、文字等,組合成獨(dú)特的創(chuàng)造品。,Scratch的開發(fā)理念,基于西蒙派珀特(Logo發(fā)明者)的建造主義觀點(diǎn) 學(xué)生通過創(chuàng)建制品建構(gòu)知識 學(xué)生與同伴、專家互動 提供學(xué)生知識建構(gòu)的環(huán)境 信息技術(shù)工具是認(rèn)知工具,注:使用Scratch內(nèi)置工具畫圖、錄制解說或拍攝照片,開發(fā)意圖之一:鼓勵
7、創(chuàng)意表達(dá),“我們的目的不是要創(chuàng)建電腦程序編寫大軍,而是幫助電腦使用者表達(dá)自己?!?SCRATCH項(xiàng)目的負(fù)責(zé)人(凱倫.布雷南),想法 Idea,編程 Program,互動媒體作品 Interactive Project,開發(fā)意圖之二:鼓勵探究,快速入門,觀看【入門指南Getting Started Guide S14_cn.pdf】 跟著做 移動、跳舞、變色、響應(yīng)按鍵、增加角色、說話、角色變換造型,Scratch的集成開發(fā)環(huán)境(IDE),1、舞臺,舞臺為作品中角色之間的互動或者角色與用戶之間的互動提供了場地,舞臺的坐標(biāo)系統(tǒng),2、角色 Sprite,Actor,底色透明的二維圖像 默認(rèn)角色為小貓
8、角色包含三部分要素 腳本:控制行為 造型:改變外觀 聲音:導(dǎo)入錄音,3、角色列表,舞臺和角色都是Scratch控制的對象 先選舞臺或某個角色才能對它的腳本、造型和聲音進(jìn)行編輯 舞臺也有三部分要素(腳本、造型和聲音),4、新增角色,用內(nèi)置繪圖編輯器繪制角色 導(dǎo)入角色 隨機(jī)選一個角色,導(dǎo)入角色(帶腳本的/不帶腳本),5、代碼塊區(qū),四種八類代碼塊 四種不同形狀 八類不同顏色 125個代碼塊,四種形狀代碼塊 句法可視化,使用讀出數(shù),舞臺上顯示偵測代碼塊或變量的值,拖拉、拼搭代碼塊,白色高亮條表示可以插入,插入點(diǎn),查看代碼塊幫助,右擊代碼塊,快捷菜單上選“幫助”,6、腳本區(qū)編輯腳本,腳本塊(代碼堆)內(nèi),
9、代碼塊至上而下順序執(zhí)行; 多個腳本塊可并行執(zhí)行;,腳本區(qū)編輯造型,創(chuàng)建一個造型,復(fù)制再修改-類似造型,腳本區(qū)編輯聲音,錄制故事中的人物對話 導(dǎo)入背景音樂等,7、當(dāng)前角色信息區(qū),角色命名 角色坐標(biāo) 角色方向(拖動藍(lán)線可修改方向值) 旋轉(zhuǎn)風(fēng)格,角色位置加鎖,演示模式播放作品時角色不能被拖動,8、工具條,復(fù)制角色 刪除角色 放大角色 縮小角色,9、菜單,方便上傳作品,10、啟動和結(jié)束程序按鈕,綠旗提供一條同時啟動多個腳本的捷徑 點(diǎn)擊綠旗啟動所有以 開頭的腳本塊,三段腳本分別控制一個角色的不同行為,并行執(zhí)行。,11、繪圖編輯器,詳細(xì)的Scratch IDE介紹,瀏覽官網(wǎng)文檔【參考指南Reference
10、 Guide_14_zh-cn.pdf】,匠心獨(dú)運(yùn)的 編程環(huán)境和語言設(shè)計,Scratch編程環(huán)境的設(shè)計思路,采用圖塊式編程的好處,編程環(huán)境的設(shè)計思路,單一窗口用戶界面 活動性和擺弄性 讓執(zhí)行過程可視化 無出錯信息 讓數(shù)據(jù)變得具體 使命令集最少化,2. Scratch是活動的和可擺弄的,Scratch總是活動的,可擺弄:多種探究代碼塊功能的途徑,單擊:測試代碼塊的功能 在腳本區(qū)測試 在代碼區(qū)測試 單擊參數(shù)代碼塊,可以在卡通似的“交談泡泡”中顯示它們的返回值。,可擺弄:多種探究代碼塊功能的途徑,代碼塊自帶默認(rèn)參數(shù),給出應(yīng)用示范 查看代碼塊的幫助信息,Scratch是可擺弄的,支持自底向上的腳本編寫
11、方式 測試一個代碼塊 組裝和測試代碼堆(腳本塊) 再組合成更大的執(zhí)行單元,測試中的腳本塊,可以保留在腳本區(qū)中,保存在作品文件中 如同在文本編程語言中已注釋掉的代碼一樣,2.讓Scratch執(zhí)行過程可視化,讓執(zhí)行過程可視化、實(shí)時反饋,提供腳本執(zhí)行的即時反饋 執(zhí)行過程可視化 執(zhí)行結(jié)果(數(shù)據(jù))可視化,反饋可視化:顯示腳本的執(zhí)行,正在執(zhí)行的腳本,被發(fā)亮的白色邊框包圍 腳本遇到錯誤(如被0除),那么邊框就會變成紅色,引發(fā)錯誤的代碼塊就會用紅色高亮/突出顯示。,顯示代碼塊的執(zhí)行順序和控制流向,單步執(zhí)行,觀察腳本執(zhí)行過程 沒用單步,Scratch也更新代碼塊執(zhí)行結(jié)果 代碼塊的結(jié)果是排除故障的可視化線索,4.
12、 無出錯信息,Scratch沒有出錯信息,代碼塊只用有意義的方式粘合在一起 通過讓所有的代碼塊故障弱化(failsoft)來消除運(yùn)行時的錯誤 輸入超出范圍時,在限定的范圍內(nèi)做合理的事,消除出錯信息不是消除錯誤,編寫腳本時仔細(xì)思考,做想要的事情 排除故障,檢查那些不符合設(shè)計預(yù)期的腳本,5. 讓數(shù)據(jù)變得具體,變量可觀察、可操縱,變量顯示為舞臺上的變量監(jiān)視器 幫助學(xué)生建立變量是如何工作的心理圖示 監(jiān)視器是方便的讀出器,或者使用可選的滑竿來控制,鏈表的監(jiān)視器,快速的動畫可以呈現(xiàn)鏈表操作的結(jié)果,例如,當(dāng)鏈表元素被訪問時,該元素的索引就會閃爍。,Scratch編程語言的設(shè)計思路,編程語言的設(shè)計思路,1.
13、句法(可視化積木塊),句法的可視化:代碼塊形狀和組合規(guī)則,堆代碼塊,堆代碼塊被堆疊,創(chuàng)建代碼塊序列,叫做代碼堆/腳本塊 凹槽和凸起(notches and bumps)會粘合在一起,像拼圖塊一樣,控制結(jié)構(gòu)代碼塊,嵌套代碼塊序列的代碼塊 是一個不可分離的單元 循環(huán)代碼塊或分支代碼塊的結(jié)束臂是控制結(jié)構(gòu)的組成部分,它不會被錯放位置 嵌套封閉的代碼塊序列,偵測代碼塊,像操作數(shù) 不可以像堆代碼塊一樣插入代碼堆 作為代碼塊的參數(shù)嵌入,組成表達(dá)式,啟動代碼塊,把事件(如啟動、鼠標(biāo)單擊、按鍵)與處理事件的代碼堆連接起來,參數(shù)插槽(parameter slots),參數(shù)插槽的形狀表明了參數(shù)的類型(數(shù)值、字符串和
14、布爾邏輯) 有些參數(shù)插槽(具有白色背景)允許用戶輸入來自鍵盤的值。,參數(shù)插槽,具有下拉菜單或是顏色選擇器 接收偵測代碼塊,可視化反饋,拼搭時,呈現(xiàn)序列插入點(diǎn)(堆代碼塊)或者參數(shù)插槽目的地(參數(shù)代碼塊),拆散代碼堆,抓住代碼堆的頂部代碼塊,拖拉整個代碼堆 抓住代碼堆中間的一個代碼塊,分離下方的代碼堆,2. 數(shù)據(jù)類型,Scratch有三種一級數(shù)據(jù)類型,布爾邏輯、數(shù)值和字符串 用在表達(dá)式、存儲為變量或用內(nèi)置函數(shù)返回的類型,參數(shù)插槽的形狀 數(shù)據(jù)類型 三種參數(shù)插槽形狀 參數(shù)代碼塊的形狀 返回的類型 兩種函數(shù)代碼塊形狀:布爾邏輯和數(shù)值/字符串。 Scratch變量不分類型,可以包含數(shù)值或字符串。,偵測代碼
15、塊可插入?yún)?shù)插槽中,布爾邏輯參數(shù)插槽最嚴(yán)格,只接受布爾型函數(shù)代碼塊 數(shù)值和字符串參數(shù)插槽不太嚴(yán)格,可接受任何類型的函數(shù)代碼塊 如果需要的話,可以強(qiáng)制參數(shù)轉(zhuǎn)為目標(biāo)類型,Scratch變量容納任何數(shù)據(jù)類型,無需在創(chuàng)建變量時指定變量的類型 自動根據(jù)情境在數(shù)值和字符串之間進(jìn)行轉(zhuǎn)換,3. 角色:Scratch對象模型,角色是對象,角色封裝了狀態(tài)(變量)和行為(腳本) Scratch是基于對象的語言而不是面向?qū)ο蟮恼Z言 既沒有類也沒有繼承,代碼塊只針對角色操作,角色不能調(diào)用諸如移動其他角色的代碼塊 用面向?qū)ο蟮男g(shù)語,每個代碼塊的隱含接受者就是在其中出現(xiàn)的角色,每個角色有它獨(dú)立的腳本集合,容易理解 編輯腳本
16、只影響到腳本出現(xiàn)的那個角色,管理具有相同行為的多個角色,使用圖章工具創(chuàng)建腳本的多個副本 實(shí)現(xiàn)把某個角色的腳本集合復(fù)制到其他角色,4. 角色間的通訊和共享,廣播機(jī)制支持角色間通訊和同步,任何角色都可以廣播一個消息(任意的字符串) 廣播會觸發(fā)開始于“當(dāng)我接收”觸發(fā)器代碼塊的所有角色,Scratch廣播模式,一對多 一個給定的廣播會觸發(fā)許多腳本(可能多個角色的) 松散耦合 它并不關(guān)心有多少個接收者 異步 廣播消息后,不必等待被觸發(fā)的腳本完成,類似于啟動一個線程 同步 所有被觸發(fā)的腳本完成前等待,角色可以被共享,角色是自立的,只與其他角色松散地耦合 在不破壞依賴關(guān)系的前提下,可以保存角色文件,以便角色
17、在項(xiàng)目間移動,共享角色鼓勵代碼復(fù)用和合作,把角色導(dǎo)入到自己的項(xiàng)目中 學(xué)習(xí)新的代碼塊和編程技巧 共享角色促進(jìn)合作 合作開發(fā)時,每個人獨(dú)立開發(fā)角色,然后把那些角色整合在一起,以創(chuàng)建最后的作品,5. 并行(多線程),角色同時做幾件事,所有這些腳本可以同步執(zhí)行,并行控制機(jī)制,以一種避免大多數(shù)競爭條件(race condition)的方式把并行控制建立到它的線程模型中 通過限制線程切換發(fā)生的地方來實(shí)現(xiàn),線程切換只發(fā)生在兩個地方: 顯式等待的代碼塊(例如,等待1秒) 在循環(huán)結(jié)束 線程切換不能在沒有等待語句的代碼序列中間發(fā)生,或者在檢測if代碼塊中間發(fā)生,沒有消除所有的同步問題,當(dāng)多個腳本由一個事件或廣播觸發(fā),那些腳本的執(zhí)行順序不是用戶所期望的 指定腳本的執(zhí)行順序:讓事件觸發(fā)一個腳本,然后以所期望
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機(jī)構(gòu)銷售策劃活動方案(3篇)
- 樓頂屋架施工方案(3篇)
- 柱頭造型施工方案(3篇)
- 罕見腫瘤的個體化治療長期生存數(shù)據(jù)分析與治療策略調(diào)整
- 2026上海交通大學(xué)醫(yī)學(xué)院學(xué)生工作指導(dǎo)委員會招聘輔導(dǎo)員3人備考題庫有答案詳解
- 罕見腫瘤的個體化治療治療目標(biāo)設(shè)定原則與患者需求匹配
- 2026山東事業(yè)單位統(tǒng)考濟(jì)寧市兗州區(qū)招聘43人備考題庫及答案詳解(奪冠系列)
- 分包財務(wù)制度
- 牙科醫(yī)保財務(wù)制度
- 查賬增收財務(wù)制度
- T-ZZB 2440-2021 通信電纜用鋁塑復(fù)合箔
- 裝載機(jī)安全培訓(xùn)課件
- 2025北京地區(qū)中國農(nóng)機(jī)院總部部分崗位招聘2人筆試備考試題及答案解析
- 壓縮空氣儲能系統(tǒng)地下人工硐室技術(shù)及其評價技術(shù)研究
- 餐具分揀裝置的設(shè)計(機(jī)械工程專業(yè))
- 高考英語核心詞匯中英對照手冊
- 創(chuàng)傷性血?dú)庑氐淖o(hù)理常規(guī)
- 廣東省交通建設(shè)工程從業(yè)人員實(shí)名制管理系統(tǒng)
- 代簽手術(shù)免責(zé)協(xié)議書范本
- 百萬英鎊課件
- 浙江省金麗衢十二校2025屆高三下學(xué)期二模英語試題 含解析
評論
0/150
提交評論