有關 Github Classroom

這裡將收集與 Github Classroom 有關的資料內容.

Github Classroom

登入 Github 帳號, 並連線至 https://classroom.github.com/ 後, 選擇 Sign in and Get Started, 就可以加入 Github Classroom: https://github.com/education/classroom. 授權讓 classroom 程式管理 organization 帳號下的所有倉儲, 其中最重要的功能就是, 可以由管理者管控是否 enable invite link, 讓取得連結的學員參與作業與專案倉儲管理, 並且可以透過 organization 中的 Member privileges 設定讓使用者建立 Github Pages, 但限制其刪除 organization 下作業倉儲的權限..

加入 Github classroom 後, 將跳出相關說明: A classroom is a space where you can create assignments, collaborate with teaching assistants, and invite students in a single course.

由於 GitHub Classroom uses organization accounts to manage permissions, administration, and security for classrooms. You can create a Classroom in any organization you own.

意即, 當 Github 使用者加入 Github Classroom 之後, 就可以透過該帳號下的 organization 來新增 assignments 或協同 project, 當該 orgainzation 的管理者透過 Github Classroom 設定 assignment 之後, 該 assignment 就會產生一組 invite link 網址, 且與管理者所選定的倉儲作為 template 之後, 任何 Github 用戶只要連結到該 assignment 對應的網址, 並且同意加入後, 就可以在該 assignment 權限設定下讓用戶對倉儲擁有管理權.

假設該作業倉儲名稱為 site, 且使用者帳號名稱為 scrum-2, 則納入該 assignment 後, 就會在 organization 名稱下建立一個名稱為 site-scrum-2 的倉儲, 而先前所使用的 template 若為 cmsite, 則該選定接受 assignment 的使用者就可以全權管理該作業倉儲. 一旦學員將倉儲設定 Github Pages 對應分支後, 該作業網址將為: https://organization_名稱.github.io/site-scrum-2

invite link 時效

當所有修課學員都參與指定作業後, 可以進入 assignment 設定, 取消 invite link.

學員作業倉儲權限

當課程中止, 由於學員僅具備管理作業倉儲改版與 Github Pages 設定權限, 因此可以永久保留該學員所繳交的作業倉儲內容.

Github Classroom 功能

https://github.com/education/classroom 採用 Ruby 編寫, 是一套輔助教學的 Web-based 程式, 其功能如下:

  1. 利用管理者的 organization 當作 Github 帳號, 以 invite link 讓學員自行建立 assignment 或 協同 project 倉儲.
  2. assignment 倉儲的 template 可由管理者指定, 且學員對 assignment 倉儲所具備的管理權限, 可由管理者事前統一設定.
  3. 管理者可以控制學員所建立的 assignment 倉儲, 令其無法 delete, 因此課堂結束後管理者仍可完整保留學員的課程倉儲.
  4. 當管理者賦予學員對 assignment 倉儲擁有 admin 權限後, 學員可自行啟用倉儲的 Github Pages 功能, 利用倉儲內容建立課程網站.