簡介

Classroom 中的作業稱為「課堂作業」項目,位於任何 Classroom 課程的「課堂作業」頁面。雖然作業項目有四種類型,但本指南只會著重於「作業」類型。如要瞭解如何管理其他類型的課堂作業,請參閱管理課堂作業指南

Google Classroom 提供兩種方式,可與作業工作流程整合:Classroom 分享按鈕Classroom API。分享按鈕可讓使用者透過 Classroom 彈出式對話方塊,將內容分享為任何訊息串項目;而 Classroom API 則可提供從頭到尾的作業工作流程,包括建立作業、建立及管理學生提交內容,以及傳回成績。

我們將在此說明這兩項開發人員產品的主要差異。 具體來說,我們會說明實作方式的差異,以及作業生命週期的每個階段:建立作業、學生提交作業,以及評分/意見回饋。

瞭解作業生命週期

在說明共用按鈕和 CourseWork API 的差異之前,我們先定義在 Classroom 環境中,我們認為的作業生命週期。這有助於瞭解老師和學生在 Classroom 中與作業互動的情形。

整合 Classroom 作業時,請注意以下五個主要步驟:

  1. 已建立指派作業。
  2. 與學生共用作業。
  3. 學生完成作業。
  4. 學生將作業提交給老師。
  5. 老師查看及評分作業。

與 Classroom 作業整合後,師生就能在 Classroom 和第三方應用程式之間順暢切換。使用者不必管理作業或學生提交內容的詳細資料,而是依賴您的應用程式為他們管理這些詳細資料。

圖表:顯示指派作業的五個步驟

導入作業

分享按鈕和 CourseWork API 的第一個差異是實作。從開發人員的角度來看,分享按鈕是將內容分享到 Classroom 的簡單方法,因為只需要納入必要的 JavaScript 資源,並新增分享按鈕代碼即可。最簡單的 Classroom 分享按鈕整合形式如下列程式碼片段所示:

<script src="https://apis.google.com/js/platform.js" async defer></script>
<g:sharetoclassroom url="http://url-to-share" size="32"></g:sharetoclassroom>

另一方面,CourseWork API 是 Google Classroom API REST API 的一部分,因此需要使用 Google Cloud 控制台設定及啟用 API 金鑰,並遵循整合 API 的最佳做法。如果您的平台已運用其他 Classroom API 功能 (例如名冊),這就不是什麼大問題。

建立及共用作業

分享按鈕和 CourseWork API 都能完成作業工作流程的前兩個步驟 (建立作業並與學生分享),但選擇解決方案前,請先考量以下重要差異。

這兩種解決方案的核心功能都是將連結或檔案發布為 Classroom 作業。如果老師必須在 Classroom 和第三方應用程式之間複製及貼上內容,這項功能就能提供強大的工作流程。這兩種解決方案都支援將內容發布為作業,但您應考量應用程式是否需要彈性,將內容發布為其他作業類型,甚至是公告。

這兩項服務都會顯示所有 Classroom 貼文類型,測驗作業除外。如要查看所有貼文類型和是否公開的摘要,請參閱下文。

貼文類型 分享按鈕 CourseWork API
指派項目 X X
測驗作業
問題:簡答 X X
問題:選擇題 X X
材質 X X
公告 X X

您也可以透過程式,為這兩種解決方案指定標題和說明等功能。雖然使用者可透過分享按鈕整合功能,在彈出式對話方塊中設定截止日期、主題、個人化模式和點數等欄位,但第三方應用程式無法以程式輔助方式設定這些欄位。另一方面,API 會公開所有這些欄位,供讀取和寫入存取。

修改指派作業

整合 Classroom API 的好處之一,就是使用者不必手動同步處理作業的變更詳細資料。分享按鈕缺少以程式輔助方式更新或刪除作業的功能,因此使用者必須透過 Classroom 使用者介面進行任何修改。

CourseWork API 可讓您修改及刪除應用程式建立的作業,也能擷取發布至使用者課程的任何作業詳細資料。但請注意,如果 CourseWork 項目不是由同一開發人員控制台建立,該控制台就無法修改這些項目。這項權限模式會延伸至作業生命週期的其餘部分,例如管理學生提交的作業和成績,但無法存取這些 CourseWork 項目。

自動同步處理作業

透過 Pub/Sub 推送通知,應用程式可以訂閱通知,在 CourseWork 項目及其相關學生提交內容發生變更時觸發事件。這樣一來,應用程式就不必持續檢查 Classroom 上的內容是否已更新,可輕鬆同步處理作業。

完成及提交作業

每項作業都與 N 份學生繳交內容相關聯,其中 N 是指派作業的學生人數。換句話說,每項作業都會有與每位學生相關聯的學生提交內容,且可透過專屬 ID 存取。系統會自動建立這些學生提交的作業,您的應用程式可透過學生提交的作業 GET 和 LIST 端點擷取這些作業。

分享按鈕和 CourseWork API 都支援在作業中新增連結或檔案,供學生繳交。分享按鈕可透過與老師指派作業建立對話方塊類似的工作流程,以及透過 studentSubmissions.modifyAttachments 端點的 CourseWork API,達到這個目的。不過,由於先前詳述的 API 權限限制,這項功能僅適用於應用程式建立的 CourseWork 項目。但分享按鈕不受此限,學生可以將作業新增至 Classroom 中選取的任何作業。

結束學生工作流程

如果平台不支援建立作業,CourseWork 權限限制就沒有用處。不過,第三方平台可以限制學生只能透過共用按鈕繳交作業,因此學生不會繳交到錯誤的作業,也不會忘記繳交作業。

查看及評分作業

作業生命週期的最後一個階段是發還給老師。學生成功繳交作業後,老師就能以最適合的方式審查作業。如果是儲存在雲端硬碟中的檔案,老師可以直接在 Classroom 評分工具中查看。但 Classroom 評分員無法存取第三方應用程式。這項體驗的影響是,老師在檢閱和評分作業時,必須瀏覽多個分頁。

分享按鈕目前無法用於評分及退還作業。雖然目前無法透過 API 存取學生繳交作業的留言等功能,但您可以透過 studentSubmissions.patchstudentSubmissions.return 端點,評分並將成績發還給學生。只有課堂作業串流項目 (作業和問題類型) 可以指定成績。只能以數字形式呈現,且可指派為草稿或最終成績。

差異摘要

為總結前幾節討論的內容,下表並列比較了分享按鈕和 CourseWork API,涵蓋上述四個類別:實作、建立及分享作業、完成及提交作業,以及批閱作業。

分享按鈕 CourseWork API
導入作業 只需幾行 JavaScript 程式碼,即可輕鬆快速地完成導入作業 需要設定 API 金鑰、在管理控制台中啟用 API,並密切監控
建立及分享作業
  • 將老師重新導向至 Classroom 分享按鈕的分享對話方塊
  • 使用者可以張貼所有類型的串流項目,但有一種除外
  • 可指定的欄位較少
  • 可建立作業,但無法提取或修改作業資料
  • 不需要分享按鈕對話方塊
  • 可以指定大多數的 Classroom 作業欄位
  • 可修改應用程式建立的課程
  • 允許應用程式從 Classroom 提取所有作業資料
完成及提交作業
  • 將學生重新導向至 Classroom 分享按鈕的分享對話方塊
  • 允許學生在任何 Classroom 作業中附加提交內容
  • 可附加提交內容,但無法提取或修改提交資料
  • 學生無法繳交作業
  • 不需要分享按鈕對話方塊
  • 僅允許學生將作業附加至應用程式建立的作業
  • 允許應用程式修改應用程式建立的學生提交內容
  • 允許學生繳交作業
查看及評分作業 無法指定或傳回成績
  • 允許應用程式代表老師從 Classroom 提取所有學生提交的資料
  • 可指派學生分數 (暫定或最終)
  • 可修改學生分數
  • 可將成績發還給學生