Classroom 中的作業稱為 CourseWork 項目,可在任一 Classroom 課程的「課堂作業」頁面中找到。課堂作業項目有四種類型,但本指南著重於「作業」類型。如要瞭解如何管理其他課堂作業類型,請參閱「管理課堂作業」指南。
Google Classroom 提供兩種方式與作業工作流程整合:Classroom 分享按鈕和 Classroom API。分享按鈕可讓使用者透過 Classroom 彈出式對話方塊,以任何串流項目的形式分享內容;Classroom API 則可提供端對端指派工作流程,包括建立作業、建立及管理學生繳交內容,以及回傳成績。
以下我們將探討這兩種開發人員服務的主要差異。具體而言,我們會解決實作與作業生命週期各階段的差異:建立作業、學生繳交作業,以及評分/意見回饋。
瞭解指派生命週期
在說明共用按鈕和 CourseWork API 之間的差異之前,請先在 Classroom 的情境中定義作業生命週期。這可協助您瞭解老師和學生在 Classroom 中與作業的互動方式。
與 Classroom 作業整合時,請謹記以下五個主要步驟:
- 已建立作業。
- 作業會與學生共用。
- 學生完成作業。
- 學生繳交作業給老師。
- 老師批改作業和批改作業。
與 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.patch 和 studentSubmissions.return 端點,您可以評分並發還給學生。僅可以為 CourseWork 串流項目 (作業和問題類型) 指定成績。這些分數只提供數字格式,並且可指派為草稿或最終成績。
差異摘要
為摘要以上各節的審查內容,下表並列比較共用按鈕和 CourseWork API 的四個類別:實作、建立及共用作業、完成與繳交作業,以及檢閱與批改作業。
分享按鈕 | CourseWork API | |
---|---|---|
導入作業 | 只需幾行 JavaScript,就能輕鬆快速地完成導入 | 必須設定 API 金鑰、在管理控制台中啟用 API,並進一步監控 |
建立及共用作業 |
|
|
完成及提交作業 |
|
|
批改作業與評分 | 不支援指定或傳回成績 |
|