2014/1/23

Jerry's Journey to Scratch Part1

Jerry 從小一直說想要使用電腦,我們也不曉得是不是被我打電動的習慣影響,因此就被我們用各種理由阻止,但是今年 Jerry 在學校上了英文打字的課,每週一次,既然英文打字已經有些基礎了,我想也該是要讓他嘗試寫寫程式的時候了,屆時也會知道他是不是真的有興趣。

我是 Java Programmer,教他物件導向似乎是太誇張了,教他 Linux 變成一個 Hacker 距離好像又有點遙遠,因此就找了Scratch,Scratch是一套圖形化程式設計軟體,適合8歲以上的中小學生作為學習程式設計的入門軟體,它是由美國麻省理工學院媒體實驗室(MIT Media Lab)的終身幼稚園團隊(Lifelong Kindergarten Group)所開發的一種新的程式語言,可以透過Scratch官方網站 http://scratch.mit.edu/ 與人分享每個人的專案。

另外 scratch 有個 library S4A,可以讓scratch 跟 arduino uno開發板互動,將來應該可以透過這個方式,直接使用搖桿操控 scratch 的角色,或是其他跟外部元件互動的 prototype。

Scratch 目前的 2.0 版為 Beta 狀態,可以在 http://scratch.mit.edu/scratch2download/ 下載,她是用 Adobe AIR 實作的,標準的 1.4 版可在 http://scratch.mit.edu/scratch_1.4/ 下載,目前大部分書本的範例都是用這個版本,1.4 跟 2.0的介面看起來沒有什麼改變,2.0 版改用AIR,應該是為了要簡化跨平台開發的問題。

2013/12/17 Day 1: 40 mins

Jerry 第一次接觸Scratch,我讓他試著用 google 搜尋一些資料,先了解 scratch 的介紹,然後就到 Scratch官方網站 申請了他自己的帳號,接下來,就在網站上瀏覽其他人的專案。

不習慣切換視窗學習的Jerry,應該還是適合用書本學習,選了兩本書:程式設計邏輯訓練:使用Scratch <隨書附410分鐘影音教學檔>玩轉Scratch動畫遊戲製作,第一本最後一張有講到S4A。

2013/12/25 Day 2: 30 mins

訂的書第二本缺貨,一直沒能拿到書本,今天就先讓Jerry在網路上搜尋了 scratch 教學,自己安裝軟體,並按照教學內容,一步一步實作,讓小貓移動,發出聲音,更換背景,並用置換角色圖片的方式,做了一個簡單的三張圖片的動畫,今天用了半個小時學習。


2013/12/26 Day 3: 30 mins

觀看 Scratch遊戲動畫一把抓 第一課的教學影片,並下載執行第一課的範例檔。


2013/12/29 Day4: 70 mins

跟著 程式設計邏輯訓練:使用Scratch <隨書附410分鐘影音教學檔> 第一章的內容演練習題,需要另外解釋「訊息」的用途,書本是填為中文的訊息,但其實可以改成英文,也不需要跟聲音檔案一樣,因為打中文字比較慢,所以花的時間比較久。

2014/01/01 Day5: 60 mins

閱讀書本第二章,了解循序結構、重複結構。重複結構的練習中,有個畫出正方形圖形的練習,第一次他用面向右、往前100步、向上、往前100步...的方式,重複一次畫出正方形,第二次,我要求他改使用旋轉的方式,他用旋轉90度、往前100步、旋轉90度、往前100步...的方式,重複一次畫出正方形,第三次,我要求他要重複四次,他可以自己改成,旋轉90度、往前100步,重複四次,畫出正方形,另外做了賽跑的範例。

2014/01/04 Day6: 60 mins

做無窮迴圈魚缸的範例,這邊他沒注意到,移動只有往左或往右,而魚的游動是斜的,所以角色必須要加上旋轉 15 度。今天還把選擇結構做完,兩個遊戲範例,電流急急棒以及簡單的打地鼠。

2014/01/07 Day7: 30 mins

做了全域變數第一個範例,猴子吃香蕉。全域變數這個名詞是程式設計的專有名詞,我認為他只是看過而已,並沒辦法真正地了解「全域」的意義,短時間內也沒辦法講清楚,只能後續有範例時,再提醒他全域的概念。

2014/01/12 Day8: 30 mins

打老鼠,學習全域變數。

2014/01/18 Day9: 90 mins

學習角色變數的兩個範例:打蝙蝠跟魚缸。在學習魚缸程式時,他直接把「吃飽幾隻」跟「有飼料嗎」這兩個變數複製到三隻魚的角色中,很明顯把全域變數跟角色變數的觀念搞錯了。也因此造成餵魚之後,計算吃飽幾隻的結果一直都是錯誤的。

全域跟區域變數對一開始寫程式的人來說,的確是個很難理解的概念,尤其當變數名稱都一樣時,需要一些經驗才能判斷要不要把資料放在全域變數。



2014/01/20 Day10: 90 mins

練習 BMI 計算,完成第二章的練習,進入第三章。今天還用了一些時間,在官方網站看到一個 3D 迷宮的demo。