簡介

Classroom 中的作業稱為 CourseWork 項目,可在任一 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
測驗作業
Question: 簡答 X X
Question: 單選 X X
材質 X X
公告 X X

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

修改指派項目

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

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

自動同步處理作業

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

完成及繳交作業

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

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

結束學生工作流程

雖然 CourseWork 權限限制並不代表不支援建立作業的平台,但第三方平台可以防止學生將作業繳交到不正確的作業,學生卻忘記繳交作業,因為只有分享按鈕,學生無法繳交作業。

查看及批改作業

作業生命週期的最後一部分會退回給老師。學生成功繳交作業後,老師現在可以以最適合的方式查看作業。如果是儲存在雲端硬碟中的檔案,可以直接透過 Classroom 的成績工具查看。不過,在 Classroom 評分工具中無法存取第三方應用程式。這種做法的影響力是,老師在批改作業及為作業評分時必須瀏覽多個分頁。

分享按鈕目前並未針對評分和發還作業提供解決方案。雖然目前您無法透過 API 公開學生繳交留言等功能,但可以透過 studentSubmissions.patchstudentSubmissions.return 端點,您可以評分並發還給學生。僅可以為 CourseWork 串流項目 (作業和問題類型) 指定成績。這些分數只提供數字格式,並且可指派為草稿或最終成績。

差異摘要

為摘要以上各節的審查內容,下表並列比較共用按鈕和 CourseWork API 的四個類別:實作、建立及共用作業、完成與繳交作業,以及檢閱與批改作業。

分享按鈕 CourseWork API
導入作業 只需幾行 JavaScript,就能輕鬆快速地完成導入 必須設定 API 金鑰、在管理控制台中啟用 API,並進一步監控
建立及共用作業
  • 將老師重新導向至 Classroom 分享按鈕「分享」對話方塊
  • 使用者只能張貼一則串流項目,但只能張貼一種訊息串項目
  • 可指定的欄位較少
  • 其中一個可讓您建立作業,但無法提取或修改作業資料
  • 不需分享按鈕對話方塊
  • 您可以指定大部分的 Classroom 作業欄位
  • 可修改應用程式所建立的課程作業
  • 允許應用程式提取 Classroom 的所有作業資料
完成及提交作業
  • 將學生重新導向至 Classroom 分享按鈕「分享」對話方塊
  • 允許學生將繳交的作業附加到任何 Classroom 作業中
  • 一個功能會啟用提交附件,無法提取或修改提交資料
  • 不允許學生繳交作業
  • 不需分享按鈕對話方塊
  • 僅允許學生將繳交的作業附加至應用程式建立的作業
  • 允許應用程式修改應用程式所建立的學生繳交的作業
  • 可讓學生繳交作業
批改作業與評分 不支援指定或傳回成績
  • 允許應用程式代表老師提取 Classroom 中的所有學生繳交資料
  • 顯示指派學生成績 (無論是草稿或最終成績)
  • 公開修改學生成績
  • 顯示將成績發還給學生的功能