最方便的程式教室 GitHub Classroom 動手玩

GitHub Classroom 推出已經有一段時間,好像沒看到網路上有人介紹他的使用方法。剛好最近有機會可以嘗試看看,就寫個紀錄分享一下 GitHub Classroom 的一些特色功能。

開始使用 GitHub Classroom

首先當然是直接到 GitHub Classroom 開間教室啊,網址如下:
https://classroom.github.com

過程十分簡單,稍微講一下就好:

  • 教室的人必須要將教室連結到一個 GitHub Organization(下稱組織
  • 既然是要連到組織,那想當然每個學生都要加到組織
  • 教室可以設定多個 Administrators(下稱管理員),前提是他們必須要有組織Owner身份
  • 可以把每個學生的 GitHub 帳號對應到自定義的 roster (下稱名單),就不用背帳號名了!!(超棒 🎉🎉)
  • 學生名單是可以隨時變動的

設定學生名單

GitHub 提供了很方便識別學生帳號的方法,就是類似暱稱的方式將你的名單跟學生們的帳號綁定起來。
enter image description here

第一格:要你填入你想用什麼方式識別 GitHub 帳號,你可以選擇任意的暱稱來識別 GitHub 帳號,官方舉例是用姓名、email 或學號等。

填這格的目的,是讓其他 管理員 在手動增加新學生的時候,輸入框旁會提示應該填寫什麼樣的內容,以便讓整份名單格式保持一致。因為我的授課對象比較接近社團性質,我在這裡是使用「班級 座號 姓名」混合識別。

第二格:則是填寫每個學生的資料。如果你剛剛選擇使用姓名識別,就是將學生姓名一人一行表列出來。你也可以直接上傳 CSV 檔,學校老師看到這功能應該蠻高興的。

由於名單是可以隨時變動的,所以操作過程有誤隨時都可以砍掉重來。

新增好後會像這樣,目前只有名單但還沒跟 GitHub 帳號連接。這部分要等到學生交作業的時候才能連接。
enter image description here

建立作業

接著我們就來建立第一份作業。

選擇作業類型

作業分成個人作業和分組作業,這裡以個人作業為例。
enter image description here

設定作業內容

選擇「Create an individual assignment」後,介面就跟一般建立 repo 類似。

在這裡你可以指定:

  • 作業名稱
  • repo 的前綴詞(給學生在自己帳號建立 repo 用)
  • 設定學生 repo 為 public 或 private
  • 是否給予學生自己 repo 的 Admin 權限
  • 指定 repo 的預設 code 內容(可選)
  • 作業繳交期限(可選)

需要注意的是,private repo 必須要額外申請教育組織權限才可使用(免費),申請時需要進行教師身分驗證。由於 懶的申請 鼓勵開源文化與信任文化,這裡我們就使用 Public repo 了。
enter image description here

產生作業網址

接者就會顯示成功建立的訊息,將作業網址傳送給學生們。
enter image description here

學生繳交作業

接著我們從學生角度看看怎麼繳交作業。

從作業連結加入教室

學生第一次進入班級的作業連結時,會要求配對自己的帳號到名單中,這樣的設計幫老師省了不少時間(雖然還是要先一個一個邀請進組織⋯⋯)。比較奇怪的是,名單的排序好像跟老師看到的相反。
enter image description here

接受作業

帳號配對好對應的名字後,接著就是接受作業。GitHub 會自動在組織中建立一個 repo,名稱包含我們剛剛指定的前綴以及學生的 GitHub 帳號名。
enter image description here

完成建立 repo

接著就完成了 repo 的建立,學生可以在其專屬的 repo 中上傳作業。
enter image description here

接著就是基本的 Git/GitHub 操作,這裡就不再贅述。

老師的管理功能

老師在學生作業繳交後,有一些管理的功能可以操作。

自動完成身份連結

學生一但綁定好帳號,老師就可以在教室的名單頁面中看到,該學生的帳號已經跟名單連結在一起了。
enter image description here

查看作業繳交狀況

進到作業的頁面,可以看到現在學生們的作業繳交狀況。
enter image description here

增加新的學生

在名單頁面也可以隨時新增、刪除學生到名單中。
enter image description here