Classroom 中的作業稱為「課堂作業」項目,位於任何 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 |
測驗作業 | ||
問題:簡答 | 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.patch 和 studentSubmissions.return 端點,評分並將成績發還給學生。只有課堂作業串流項目 (作業和問題類型) 可以指定成績。只能以數字形式呈現,且可指派為草稿或最終成績。
差異摘要
為總結前幾節討論的內容,下表並列比較了分享按鈕和 CourseWork API,涵蓋上述四個類別:實作、建立及分享作業、完成及提交作業,以及批閱作業。
分享按鈕 | CourseWork API | |
---|---|---|
導入作業 | 只需幾行 JavaScript 程式碼,即可輕鬆快速地完成導入作業 | 需要設定 API 金鑰、在管理控制台中啟用 API,並密切監控 |
建立及分享作業 |
|
|
完成及提交作業 |
|
|
查看及評分作業 | 無法指定或傳回成績 |
|