登入  |  English
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。
源碼新聞 online offline 皆宜–直接動手參與自由開源軟體專案寫作並不難!

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

參考網址:

  1. 開始參與自由開源軟體專案的實作–線上資源、離線活動
    https://opensource.com/life/14/2/exploring-open-source-beginners
  2. 孩子的程式教育不能等 - 開放源碼專案帶領小朋友走進程式碼的世界!
    https://www.openfoundry.org/tw/foss-news/9083-2013-10-09-03-13-15
  3. Wekey-wiki 程式設計 Scratch 教學網頁
    https://wekey.westart.tw/%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88_Scratch
  4. TEDx Taipei - 人人都該學程式設計
    https://tedxtaipei.com/2013/02/10-places-where-anyone-can-learn-to-code/
  5. FABLAB TAIPEI - 開源共創就在你身邊!
    https://www.fablabtaipei.org/
  6. TOSSUG - 台北開放原始碼軟體使用者社群
    https://www.tossug.org/



自由軟體鑄造場電子報 : 第 237 期 Gnome、KDE 與 Cinnamon 的平鋪視窗控制

分類: 源碼新聞