本文適合進行過一段scratch學習后,不知如何繼續提高或深入學習的用戶,以下內容僅代表作者觀點,供大家參考,也歡迎大家相互交流,不斷改進。
作者:舒克老師
在孩子掌握了scratch基礎的使用和簡單的案例學習之后,接下來的項目式學習是一個很容易走錯路用錯方法的新學習方法,舒克老師在這里給大家進行一下相關的介紹說明。
scratch是一個簡單易學的少兒編程工具,通過培訓班或者看書、視頻,甚至自學,很快就能夠掌握它的基本使用方法,再花一些時間熟悉一下常用模塊的功能就算完成了scratch基礎學習。之后,孩子便可以開始自主的項目式學習,舒克老師為大家梳理一下這種學習方式需要注意的地方,以及如何有效的體現出這類學習方式的效果。
1.自我分析
自我分析是指項目式學習中,需要分析自身目前的水平以及能力,根據自身水平選擇有適當挑戰的項目來制作,既不能總是自己非常熟悉很簡單的設計,也不能過于超出自己的水平能力。我們是希望在制作過程中遇到問題來進行學習,但也不能總是遇到超出自身能力的問題。
2.目標清晰
目標清晰是指對于自己想要實現的最終作品能夠有比較清晰的描述,無論是模仿,remix還是完全的自己創意,都需要在開始之前就對自己想要實現的最終效果進行描述,從最終使用效果的角度盡量詳細的描述。這樣的目的是,嚴格要求自己在項目的制作過程中遇到問題要想辦法解決問題,而不是輕易放棄。也便于根據自身水平來增減相應的功能。力求做到,做了的,就要體驗流暢,沒有嚴重bug,也不要設計的很復雜但是各種錯誤和不流暢的體驗。
3.科學的項目流程
在孩子自主進行項目式學習的過程中,合理科學的流程十分重要,可以幫助孩子更好的安排進度,解決問題。
基本流程如下:(后有案例)
尋找靈感
可以來自生活中的發現和想法,也可以來自看到別人的作品進行remix,也可以是模仿自己玩過的游戲用過的工具等等。
創意構思
根據靈感進行設想,并盡量準確的描述想要制作的項目最終效果,從最終的使用效果簡單的反推出大概得模塊使用和制作難度。
團隊or個人
確定這個項目是自己獨自完成還是尋找一些小伙伴來共同挑戰,一般情況下根據之前的難度分析來決定,如果項目本身不復雜,并且超出自身能力的部分并難度并不大,或者數量不多,可以獨自完成,如果項目當中少數部分難度極大,也可以考慮制作過程中尋找幫助,但是如果項目比較復雜,或者困難部分過多,一般建議尋找一些小伙伴來共同進行,同時,即便原先是一個簡單的想法,一個經過鍛煉默契的團隊,最終的效果是一定比個人制作要好得多。
任務分析
將計劃的項目進行拆分,一步步按功能和效果等,分為具體的設計模塊。
同時為拆分出來的任務標記上對于自己來說的難度。
任務安排
將整體項目進行拆分并標注出難度后,根據項目的特點進行任務篩選,一般建議首先找出與項目相關的必要礎功能與設計,并將其列為首要目標,隨后找出設計中的重要功能,必要功能與重要功能的區別在于,必要功能是不可或缺的,缺少該功能就無法達到基本的效果,遇到問題首要解決而且不能有任何BUG。而重要功能則是在設計中不是必須的,但是也屬于設計當中需要盡力實現的功能,遇到問題需要盡全力去解決,除非萬不得已不能放棄該設計,接下來不必要也不重要的設計放到最后,根據時間,和能力安排,逐步增加,以版本更新的形式添加此類功能,要做到即便沒有此類設計項目本身也是完整可用的,達到了預計設想的基本功能的。
任務準備
正式開始進行每個任務之前需要做好準備工作,整理好思路,最好能夠通過腦圖等方式進行輔助思考,并進行整理,如果暫時不會使用工具也至少通過描述來記錄下實現這次任務的基本思路,便于在制作過程中了解進度,以及遇到問題是根據設計思路尋找問題原因和位置。
另外就是準備好制作需要的基本素材,圖片聲音等等。
同時需要注意的是,一次盡量至進行一個任務,專注于效果的改善,測試流暢后再進行下一個任務。
開始任務
制作過程中需要嚴格按照自己劃分的任務來進行,當然,也不可避免,在制作過程中會遇到各種問題,需要持之以恒,去尋找答案,來解決問題。做好及時保存,以便在程序因為意外導致嚴重出錯的時候可以直接打開之前的已存文件快速恢復。
困難和問題
我們設計的項目在正式開始之前,無法準確的了解到每個功能的具體實現方法,所以在制作過程中遇到困難和問題不可避免,有些模塊的設計一開始我們就知道它超出我們目前的能力,那么在遇到困難問題時,應當做到不慌不亂,冷靜面對。
先說遇到自己無法克服的制作困難怎么辦,某些設計和功能的實現可能超出我們目前的水平和能力,遇到這樣的問題,首先需要整理思路,能夠將自己遇到的問題進行準確的描述,如果能夠想到大概解決困難需要查找哪些資料,那么就可以通過互聯網進行查詢、學習,并嘗試克服困難。如果通過互聯網無法解決,或者自己也不清楚具體該從哪個方面入手,這時可以選擇與同伴交流,或者在互聯網上尋找他人幫助。但是一定要將自己遇到的問題準確的描述給他人。在得到幫助后要予以感謝,甚至在最終的作品介紹里予以感謝。
接下來是程序遇到錯誤或者問題怎么辦?
遇到BUG也就是程序和預期效果不一致的錯誤,是無論專業的程序設計還是scratch一類的少兒編程都會經常遇到的情況,在遇到BUG時,我們首要工作是對BUG進行解釋,也就是說要能夠準確描述出到底出現了什么錯誤,隨后找到相關的設計進行邏輯分析,具體的尋找BUG方法可以專門進行相關學習,如果發現自己無法找出BUG原因,同樣可以尋找他人進行協助,此時如果有合作伙伴最佳,因為相對于熟悉設計的人來說,陌生人理解你的設計更加困難。最好能夠有相關的邏輯圖、腦圖等提供給他人更好地了解你的程序,幫助你找到BUG?;蛘咧辽倌隳芙忉屒宄愕脑O計思路。同樣最好能感謝對你提供幫助的人。
想要快速有效的發現bug,找到原因并解決,就需要再設計階段就有著清晰地設計思路,并且了解項目的每一步所對應的模塊是哪一部分,通常我們的大腦難以同時裝下太多這些信息,這正說明了準備工作和記錄的重要性。
Debug調試
Debug也就是調試測試的意思,是指在完成一個階段或完成一個小功能后進行的運行測試,檢驗程序能否正常運行與自己的預期是否一致。de就是去除,bug就是我們之前提到的問題,我們應當盡量養成多測試多調試的好習慣,每一個小的功能添加,或者改變,我們都最好進行一次調試,以保證新的設計能夠正確運行,有時候出現bug卻難以定位原因就是因為早期的設計出錯,連鎖反應所導致。
并且在作品的發布之前,務必進行一次完整的詳細的調試,盡量避免出現沒有想到的錯誤。
調試可以邀請他人來進行,這樣模擬新用戶來使用的時候,在不了解程序原理情況下是否會做出設計以外的行為,導致出錯。
4.版本更新與迭代
在經過反復的設計和調試,解決了一個又一個bug和困難后,我們的作品應當逐步完善了,我們應當決定在完成到什么程度可以發布自己的第一個版本的作品,這個版本可以不夠完美,也可以還有一些小問題,我們可以通過發布后持續的改進修改,升級版本來完善作品,甚至加入更多的功能,這就需要大家在一開始的項目分析和安排時工作做得足夠到位了。
另外當我們的作品發布后就會有許多小伙伴前來體驗,有些小伙伴可能會找出我們之前沒有發現的bug,這是我們需要對其進行一一記錄和測試,并且從新安排進我們的任務列表,根據進度安排,來逐個修復,并發布新的版本。
另外較早發布作品會有的影響,一個是會有很多小伙伴看到作品,可能會有創意上的碰撞產生更多的想法,也有可能會被很多建議沖暈頭腦,一定要做好規劃,慢慢來哦。
5.作品分享
在互聯網當中,也有著一套自己的行為標準和要求,以及我們各自的權利和義務,由于scratch官方鼓勵將每一個上傳至互聯網的scratch作品都以開放的形式進行共享,我們建議大家也遵守這個提議,凡是上傳至網絡的作品均是公開的,任何人可以觀看,體驗,下載,也可以從新編輯再發布。
同時上傳作品時,最好能夠感謝在制作過程中幫助過你的人,如果使用參考了他人上傳的作品或者功能的設計,也務必注明。
另外就是記得在作品介紹里說明如何操作和使用。
雖然我們不建議這么做,但是如果你不希望別人再次修改你的作品,應當在作品介紹里說明。
6.Remix
Remix是混合的意思,比如音樂的混合,飲品的混合等等,同樣,當我們看到了別人發布的作品時,有時我們會想到一些自己不一樣的創意,這時候便可以下載他人作品后通過修改加入我們的創意來做出自己新的版本。這就被稱為remix。有時候我們也可以專門制作一些簡單有趣效果的案例,方便別人在設計自己的項目時直接學習和使用。
凡是沒有特別注明的作品一般作者都是允許下載后再次修改的,但是在上傳新作品是務必遵守規則,在介紹中予以說明注明原作者或作品地址。
7.提供幫助
在學習和使用Scratch的小伙伴非常得多,大家都會遇到各種各樣的問題,幫助別人,也是自我學習和成長的一個很好的方法,多去了解別人遇到的問題,能夠幫助到別人,也能夠看到很多他人的設計和想法,和大家互相學習。
8.團隊協作
有時候,我們會和其他小伙伴組成團隊,來制作大規模的項目,在這其中也有一些需要注意的地方,一般建議團隊規模3人以內。同時盡量是本地團隊,當面協作和溝通效果最佳,當然,也可以通過互聯網來尋找異地的合作伙伴,通過微信、QQ等通訊軟件來保持聯系。
團隊合作的方法一般有如下幾種:
崗位分工
將大家按照美術設計、程序設計、測試調試、音樂制作等崗位進行分工安排,每個人可以身兼多職,不過這種分配方式有些小伙伴是不用參與到程序的設計當中的。
任務分工
將分析后的任務分給每個小伙伴進行制作,各自分擔一部分設計任務,這種合作方式讓每個小伙伴都參與到程序設計中,然而需要注意的是,如何統一工作,也就是如何將大家各自的內容整合為一個程序,同時對于程序中有共同用到的變量、列表還有角色名稱等進行統一,這對額外的前期工作要求較高。
順序分工
這是最簡單也是最基礎的分工方式,以團隊形式溝通討論,確定任務方案后,劃分任務流程,按任務順序進行制作,前一個人完成自己的全部任務后與下一個小伙伴進行對接溝通。這類合作方式相比第二種比較簡單,但是花費更多時間。
結對編程
這是一個十分適合線下的特殊合作方式,兩人公用一臺電腦進行任務,一人主要負責操作,一人主要負責思考,所謂當局者迷,有一個旁觀者一同進行任務有時候會有更高的效率。
9.時間安排
一旦決定進行項目式學習就要給自己定下目標和要求,建議留出一定的時間專門來進行,當然,這是可以根據自身情況來靈活安排,周內可以安排一些碎片化的時間,周末可以安排一些整段的時間,切忌沒有毅力,中途放棄,或者三天打魚兩天曬網,可以不用總是制作新的作品,但是一旦給自己安排了一個項目的制作,就要安排好時間,堅持下去。
總結
對于scratch的項目式自學,父母們不需要對于scratch有過多的了解,但是請您作為孩子的后盾,給予孩子支持與鼓勵,永遠做孩子的第一個作品測試者。
鼓勵孩子對少兒編程保持興趣,堅持下去,無論制作出的作品簡單還是復雜,正是這樣的一個制作的過程,是對孩子最大的考驗和鍛煉。
我們不是在通過scratch發現未來的程序員之星,而是在通過scratch或者少兒編程,讓孩子掌握能力,適應數字化時代的未來。
學習scratch,我們想要培養孩子的能力和習慣,很多都是在這個階段養成的,所以讓我們勇敢的擁抱這個目前看似還很陌生的學習模式吧!
PS:流程案例
確定項目:繪畫板
功能設想:至少有一根畫筆和橡皮擦,還有一鍵清除功能,能夠切換顏色和線條粗細,通過鼠標點擊選擇工具,并且可以放回工具區。另外還可以有線條和畫方畫圓工具,填色工具,印章工具。
任務拆分:基本素材定位※、工具點選※、工具歸為※、繪制線條※、擦除內容※※、清除按鈕※、色板※、直線繪制※※※、圓型繪制※※※、方形繪制※※※、圖形印章※※、修改筆觸※※※。
必要任務:基本素材定位※、工具點選※、工具歸為※、繪制線條※、清除按鈕※
重要任務:擦除內容※※、色板※
其他任務:直線繪制※※※、圓型繪制※※※、方形繪制※※※、圖形印章※※、修改筆觸※※※
本站內容未經許可,禁止任何網站及個人進行轉載。