CoderDojo

20140226-online offline 皆宜–直接動手參與自由開源軟體專案寫作並不難!

黃郁文、林誠夏/編譯

當你是一個資淺的初學者時,需要什麼樣的技能才能漸步深入自由開源軟體專案的參與呢?

這個問題是許多自由開源軟體專案的初參與者們,都會捫心自問的問題。而其實,有許多 online 與 offline 的網站與資源,是可以協助這些初階的參與者,更加認識自己的能力、屬性,並找到他們適合參與的專案與活動。

CoderDojo

首先,談談線上–online 立即可以取用的資源:

1、Codecademy:http://www.codecademy.com/

Codecademy 是一個讓使用者可以透過互動模式,學習程式寫作的線上網站。其提供的學習資料包括:HTML、PHP、Ruby,Python 這些許多自由開源軟體專案都會使用到的程式語言。該網站上提供的每一個程式語言學習資料,都從淺到深,最基礎的課程,會從程式語法與指令列的教學使用開始,使用者只要依線上課程指示完成每一個學習任務,就可以累積積分來獲得徽章,並逐步向下進行更高程度的學習教程。要使用這個網站的學習資源,使用者完全不用在自己電腦上安裝什麼額外的軟體程式,只要使用瀏覽器連上站台,就可以順暢的進行程式語言的寫作學習。

2、Codeschool:https://www.codeschool.com/

Codeschool 則採取另一種與 Codecademy 截然不同的錄影教學模式,他們稱之為「學習教程 (paths)」。這些錄影教程包括 Ruby、Javascript、HTML/CSS 還有 iOS 的領域與主題。與此相較,Codecademy 是提供線上可取得的學習文件,Codeschool 則改用課程錄影的方式,來讓使用者據以觀看與學習。Codeschool 每一個提供的學習教程,都包含上述主題的基礎說明與實作教學。同樣的,只要透過瀏覽器就可以觀看此網站上所有的學習教程,更值得一提的是,Codeschool 還在 iPhone 與 iPad 平台上提供了教程觀看的 app,所以這些行動裝置的使用者,將可以使用 app 得到更簡便的觀看效果。

3、Code.org:http://code.org/

Code.org 以它獨樹一格的「一個小時學會程式寫作 (Hour of Code)」專案而聞名,舉 Javascript 和 Python 為例,它讓使用者可以線上閱讀這些語言的初階導覽教材 (tutorials for beginners),即可依其在教材中反覆引導的基礎概念與語法,寫出可資運作的小程式。這些基礎概念包括重覆迴圈 (repeat-loops)、條件式語法 (conditionals),以及基本的程式演算法 (algorithms) 等。除此之外,Code.org 亦為其教材做了適齡資訊的標示,使用者只要透過一個網頁瀏覽器,或是使用 iOS 或 Android 行動裝置,就可以透過這些教材進行基礎程式寫作概念的反覆練習。

4、Scratch:http://scratch.mit.edu/

對 8 歲以上的小小程式碼學習家來說,有一個非常適合作為開源協作學習的程式語言叫 Scratch!

Scratch 是一款「圖形化」的程式語言,它有一個負責維護與開發新版本的線上社群,而這個程式語言的主要建置目的,就是要讓學童可以透過多媒體互動、遊戲、動畫製作的方式,來學習程式碼的寫作概念與邏輯。當學童透過 Scratch 來製作這些遊戲和動畫的同時,他們不但能發揮創造力、學習群體共工與邏輯思考,更重要的是,也一併體驗了程式運作的基礎架構。也因為 Scratch 的創立目的是如此,它的操作介面對於使用者非常友善,可說小朋友都可以簡易上手並進行操作。除此之外,Scratch 線上網站亦有提供讓教學者、學員家長能夠據以參照學習的教學範本,讓 Scratch 學習在學校教學與在家自學的環境下都一樣便利。

再來,除了上述的線上學習資源之外,若使用者已經有鎖定要參與的開源專案,或有想要主力投入的協作平台,也可以試著找尋下列「離線版本–offline」的輔助資源,來取得更多更直接的協助:

1、使用者群組 (user groups)

自由開源軟體專案相關的地區性使用者群組,通常會固定舉行每週一次或每月一次的聚會,參與這些實體聚會的好處就是,有任何問題可以當場直接提問、直接討論,所以相關知識可以被面對面的分享,也更容易找到符合參與者需求的學習指引。較具規模的自由開源軟體專案幾乎都會有這類的使用者群組,Linux、PHP、Drupal,甚至 MySQL,相關的使用者群組都可以說相當活躍。

2、創客空間 (hackerspace and makerspace)

所謂的 hackerspace 與 makerspace,是可以讓參與者「自己動手作」作品的共工實體空間,它的運作模式頗為社群參與化,參與者多對某一個領域的共同創作帶有相當的興趣,相關的議題包括電腦、科技、科學等,故而群聚在同一個共創空間裡,進行討論、交流,與作品的實體創作。透過這種面對面的群體互動,hackerspace 是參與者實際入手自由開源軟體專案協作,或開放硬體專案共創的絕佳方式,與地區性 user groups 不同的是,在 hackerspace 您可以在單一場合遇到不同開源社群的夥伴,從中了解到自己真正的興趣所在。

3、程式道場 (Coderdojos)

Coderdojos 是一個非營利的跨國運動,2011 年由 James Whelton 與 Bill Liao 在愛爾蘭設立,並逐步推展到全世界二十幾個國家都受到一樣精神的感召,而設立分部。簡單來說,Coderdojos 是一個藉由志工帶領、每週固定聚會、同儕互助,來幫助小朋友學習程式寫作的「道場」空間。其標誌以太極––陽者為 1、陰者為 0 作為表徵,代表太極循環,藉由程式碼 0 與 1 的組合,營建出整個繽紛的軟體世界。一般來說,7 歲到 17 歲的學齡兒童,都可以在 Coderdojos 找到他們感興趣的項目進行學習與實作。

如果看過上述的介紹,開始對程式寫作感到興趣,下面這個初階的建議列表,亦可一併參考:

  1. 年齡 6-8 歲的小朋友,可以從 code.org 的引導課程開始,或是透過 Scratch 的使用、Coderdojos 的參與,來逐步加深程式寫作的邏輯概念。
  2. 中學低年級的學生,可以從 Javascript 與 Python 這兩個線上學習資源較為豐富的程式語言著手,或是參與各地區的 hackerspace 與 user groups 來認識更多志同道合的夥伴。
  3. 中學高年級的學生,可以開始進行智慧型載具上應用程式 APP 的開發,並透過參與 hackerspace 與 user groups 的方式,來分享您的程式寫作,與厚植自己的寫作能力。

—-

參考網址:

1、開始參與自由開源軟體專案的實作–線上資源、離線活動
http://opensource.com/life/14/2/exploring-open-source-beginners

2、孩子的程式教育不能等 – 開放源碼專案帶領小朋友走進程式碼的世界!
http://www.openfoundry.org/tw/foss-news/9083-2013-10-09-03-13-15

3、Wekey-wiki 程式設計 Scratch 教學網頁
http://wekey.westart.tw/%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88_Scratch

4、TEDx Taipei – 人人都該學程式設計
http://tedxtaipei.com/2013/02/10-places-where-anyone-can-learn-to-code/

5、FABLAB TAIPEI – 開源共創就在你身邊!
http://www.fablabtaipei.org/

6、TOSSUG – 台北開放原始碼軟體使用者社群
http://www.tossug.org/

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料