*此課程筆記是依據 CS50x 2017 版本(也就是哈佛大學 2016 秋季班的 CS50)所寫。
可能有些人不清楚如何在線上註冊 CS50,所以我大概講解帶過。
在 edX 上註冊帳號之後,還要到 Introduction Computer Science Harvardx CS50x 課程頁面上註冊加入課程,目前最新的課程內容是 CS50x 2017。課程本身是免費的,如果希望在修完課程後可以拿到證書,才要繳交費用。
稍微看一下他們的 FAQs,裡面有說到你一開始上課的時候不需要決定要不要拿證書,可以在完成所有作業及課程後才申請。所有作業都要 70% 以上才可以申請到證書。但是你可以繳交很多次作業,他們只會記錄你最後交的作業成績。
我猜測 CS50x 是指放在 edX 的課程,而 CS50 是指哈佛的課程,其實兩個是一樣的,只是時間上會有半年的差異,通常他們只錄製秋季班的課程(春季班應該也會有 CS50 但是沒有錄製),然後在隔年才放到 edX 上,因為影片需要時間剪接上字幕,還有一些其他的教學材料的準備,所以才會有半年的時間差。
Showing posts with label Scratch. Show all posts
Showing posts with label Scratch. Show all posts
July 6, 2017
March 3, 2017
用Scratch做小遊戲 - Little Tank 2
這是上次的 Little Tank 1 進階版,一整個大躍進 XD
首先在 Pinterest 上找了素材,然後用 Affinity Photo 去背(當然可以用任何繪圖/照片編輯軟體去背),接著上傳素材到 Scratch 上。
最困難的還是寫程式,這次跟上次不同的地方有:
1)有兩個背景
2)敵方小坦克會發射子彈
3)增加大魔王坦克,並在固定時間出現
其實第一點跟第三點不太難,最難的是第二點。敵方小坦克設定隨機出現,同時要發射子彈,我完全不知道要怎麼用 XD。後來跟大惡魔求救,原本要用清單去做,但是 Scratch 的清單功能比較陽春,無法指定物件,所以又換了別的方法。修修改改四、五次,到最後仍然有小bug,敵方小坦克跟子彈有時候不太同步,常常敵人還沒出現就出了子彈,或是敵人明明死了還有子彈跑出來 XD。
坦克遊戲就告一段落了,我也不知道為什麼想做坦克遊戲,哈哈,可能單純覺得射擊遊戲比較簡單,但做了之後才發現要考慮很多,沒有想像中的簡單。不過也有可能 Scratch 的功能本來就比較簡單,所以有些想要做出的效果都沒辦法做到。但是可以自己寫一個小遊戲還是蠻有成就感的 :)
Little Tank 2 on Scratch
首先在 Pinterest 上找了素材,然後用 Affinity Photo 去背(當然可以用任何繪圖/照片編輯軟體去背),接著上傳素材到 Scratch 上。
最困難的還是寫程式,這次跟上次不同的地方有:
1)有兩個背景
2)敵方小坦克會發射子彈
3)增加大魔王坦克,並在固定時間出現
其實第一點跟第三點不太難,最難的是第二點。敵方小坦克設定隨機出現,同時要發射子彈,我完全不知道要怎麼用 XD。後來跟大惡魔求救,原本要用清單去做,但是 Scratch 的清單功能比較陽春,無法指定物件,所以又換了別的方法。修修改改四、五次,到最後仍然有小bug,敵方小坦克跟子彈有時候不太同步,常常敵人還沒出現就出了子彈,或是敵人明明死了還有子彈跑出來 XD。
坦克遊戲就告一段落了,我也不知道為什麼想做坦克遊戲,哈哈,可能單純覺得射擊遊戲比較簡單,但做了之後才發現要考慮很多,沒有想像中的簡單。不過也有可能 Scratch 的功能本來就比較簡單,所以有些想要做出的效果都沒辦法做到。但是可以自己寫一個小遊戲還是蠻有成就感的 :)
Little Tank 2 on Scratch
February 23, 2017
用 Scratch 做小遊戲 - Little Tank 1
去年在 Hahow 上買了一門線上課程叫做 初心者的計概與coding火球術,胡立老師在課程裡面介紹了 Scratch 這個網站,它是由麻省理工學院開發出來的一個免費程式語言學習網站,很簡單易懂,是由組合積木的概念去寫程式,所以即使你任何程式語言都不會也可以寫出一些簡單的小遊戲。
我之前有在 Codecademy(也是免費的程式語言學習網站)自學過一點點 HTML、CSS,跟 Python,但是不常用容易一下子就忘光光了 XD。現在網路上也越來越多這類的學習程式語言的網站,像這篇:想學程式設計,你怎麼能錯過這 31 個學 Coding 的網站 裡面就推薦很多個,有興趣的人可以看看。
而 Scratch 跟這些網站不同的地方在於,你不用會寫任何一個程式語言就能寫程式,所以想要學習程式語言的人,就不會被繁雜的語法給困住而自信心下降。Scratch 是訓練你理解程式語言運作的邏輯,當然,如果你本身已經有基礎,一定是比完全沒接觸過程式語言的人還容易上手。
由於我只是接觸過一點點皮毛的初心者,所以還是從簡單的小遊戲開始練習,才不會挫折感太大。我參考了胡立老師在課程裡面教的東西去做變化,做了一個射擊方塊的小遊戲,把它叫做 Little Tank 1,因為之後還想做進階版本 XD。
這看起來簡單的小遊戲(其實對會寫程式的人來說也的確是簡單的小遊戲 XD),在做的過程中也是有遇到一些問題,然後每次自己試玩的時候就會發現還可以改進的地方或小 bug,然後去做調整,這個小遊戲仍然不是最完美的狀態,不過學習的過程就是如此,而這是我學習程式語言的過程和小成果 :)
Little Tank 1 on Scratch
我之前有在 Codecademy(也是免費的程式語言學習網站)自學過一點點 HTML、CSS,跟 Python,但是不常用容易一下子就忘光光了 XD。現在網路上也越來越多這類的學習程式語言的網站,像這篇:想學程式設計,你怎麼能錯過這 31 個學 Coding 的網站 裡面就推薦很多個,有興趣的人可以看看。
而 Scratch 跟這些網站不同的地方在於,你不用會寫任何一個程式語言就能寫程式,所以想要學習程式語言的人,就不會被繁雜的語法給困住而自信心下降。Scratch 是訓練你理解程式語言運作的邏輯,當然,如果你本身已經有基礎,一定是比完全沒接觸過程式語言的人還容易上手。
由於我只是接觸過一點點皮毛的初心者,所以還是從簡單的小遊戲開始練習,才不會挫折感太大。我參考了胡立老師在課程裡面教的東西去做變化,做了一個射擊方塊的小遊戲,把它叫做 Little Tank 1,因為之後還想做進階版本 XD。
這看起來簡單的小遊戲(其實對會寫程式的人來說也的確是簡單的小遊戲 XD),在做的過程中也是有遇到一些問題,然後每次自己試玩的時候就會發現還可以改進的地方或小 bug,然後去做調整,這個小遊戲仍然不是最完美的狀態,不過學習的過程就是如此,而這是我學習程式語言的過程和小成果 :)
Little Tank 1 on Scratch
Subscribe to:
Posts (Atom)