Google 课堂中的作业称为 CourseWork 项,可以在任何给定的 Google 课堂课程的“课业”页面中找到。虽然有四种作业项类型,但本指南仅重点介绍“作业”类型。如果您想了解如何管理其他类型的课业,请参阅我们的“管理课业”指南。
Google 课堂可通过两种方式与作业工作流集成:“Google 课堂”分享按钮和 Google 课堂 API。借助分享按钮,用户可以通过 Google 课堂弹出式对话框将内容分享为任何信息流项目;而通过 Google 课堂 API,用户可以实现从头到尾的作业工作流,包括创建作业、创建和管理学生提交的内容以及成绩回传。
下面我们将介绍这两种开发者服务之间的主要区别。 更具体地说,我们将详细介绍实现方面的差异以及作业生命周期的各个阶段:作业创建、学生提交和评分/反馈。
了解作业生命周期
在介绍分享按钮和 CourseWork API 之间的区别之前,我们先来定义一下在 Google 课堂中,我们认为作业的生命周期是什么样的。这有助于您了解教师和学生在 Google 课堂中如何与作业互动。
在与 Google 课堂作业集成时,请注意以下 5 个主要步骤:
- 已创建作业。
- 作业已与学生共享。
- 学生完成作业。
- 学生向教师提交作业。
- 教师查看作业并进行评分。
通过与 Google 课堂作业集成,教师和学生可以在 Google 课堂与第三方应用之间顺畅地切换。用户无需管理作业或学生提交的作业的详细信息,而是可以依靠您的应用来管理这些详细信息。
实现
分享按钮与 CourseWork API 的第一个区别在于实现。从开发者的角度来看,分享按钮是一种更轻松地将内容分享到 Google 课堂的方法,因为它只需要包含必要的 JavaScript 资源并添加分享按钮标记。最简单的课堂分享按钮集成可以如下代码段所示:
<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 都能实现作业工作流的前两个步骤(创建作业并与学生共享),但在选择解决方案之前,您应考虑一些关键区别。
从根本上讲,这两种解决方案都支持将链接或文件作为作业发布到 Google 课堂。对于教师而言,这是一种强大的工作流程,否则他们将不得不通过复制和粘贴工作流程在 Google 课堂与第三方应用之间来回切换。虽然这两种解决方案都支持将内容作为作业发布,但您应考虑您的应用是否需要灵活地将此内容作为其他 Google 课堂作业类型甚至公告发布。
这两种产品都公开了除测验作业之外的所有 Google 课堂帖子类型。下面汇总了所有帖子类型以及它们是否公开。
帖子类型 | “分享”按钮 | CourseWork API |
---|---|---|
作业 | X | X |
测验作业 | ||
问题:简答题 | X | X |
问题:选择题 | X | X |
材质 | X | X |
通知 | X | X |
对于这两种解决方案,您的应用还可以通过编程方式指定标题和说明等功能。虽然分享按钮集成功能允许用户在弹出式对话框中设置截止日期、主题、个性化模式和积分数等字段,但第三方应用无法以编程方式设置这些字段。另一方面,该 API 会公开所有这些字段,以供读取和写入访问。
修改分配
与 Classroom API 集成后,用户无需手动同步作业的更改详情,这是其中一项优势。分享按钮缺少以编程方式更新或删除作业的功能,因此任何必要的修改都必须由用户通过 Google 课堂界面进行。
借助 CourseWork API,您的应用既可以修改和删除其创建的作业,也可以检索发布到用户课程中的任何作业的详细信息。不过,请务必注意,由同一开发者控制台创建的 CourseWork 项目无法通过该开发者控制台进行修改。此权限模型适用于作业生命周期的其余阶段,例如管理学生提交的作业和成绩,但无法访问这些 CourseWork 项。
自动同步作业
借助 Pub/Sub 推送通知,您的应用可以订阅通知,以便在 CourseWork 项及其关联的学生提交内容发生更改时触发事件。这样一来,您的应用就不必持续检查课堂中的内容是否已更新,从而可以轻松同步作业。
完成和提交作业
每项作业都与 N
份学生提交的内容相关联,其中 N 是布置作业的学生人数。换句话说,对于每项作业,每位学生都有一份相关联的提交内容,可以通过唯一 ID 访问。这些学生提交的内容会自动创建,您的应用可以通过学生提交内容的 GET 和 LIST 端点检索这些内容。
分享按钮和 CourseWork API 都支持向学生提交的作业添加链接或文件。通过共享按钮,教师可以按照与创建教师作业对话框类似的工作流,以及通过 CourseWork API 的 studentSubmissions.modifyAttachments 端点来完成此操作。不过,由于前面详细介绍的 API 权限限制,此功能仅限于您的应用创建的 CourseWork 项。但分享按钮不受此限制,学生可以将自己的作业添加到从 Google 课堂中选择的任何作业中。
结束学生工作流程
虽然“CourseWork”权限限制不适用于不支持创建作业的平台,但其优势在于,第三方平台可以防止学生提交到错误的作业,并防止学生忘记提交作业,因为只有共享按钮限制了学生提交作业的能力。
查看和为作业评分
作业生命周期的最后一部分是教师。学生成功提交作业后,教师现在可以采用最合理的方式查看作业。对于存储在云端硬盘中的文件,学生可以直接在 Google 课堂评分工具中查看。不过,您无法在 Google 课堂评分器中访问第三方应用。这种体验意味着,教师在查看和评定作业时必须在多个标签页之间切换。
目前,分享按钮无法用于评分和返回作业。虽然学生提交的作业的评论等功能目前无法通过 API 公开,但可以通过 studentSubmissions.patch 和 studentSubmissions.return 端点对学生提交的作业进行评分并将成绩发回给学生。只能为 CourseWork 流项目(作业和问题类型)指定成绩。它们仅以数字形式提供,可以分配为草稿成绩或最终成绩。
差异汇总
为了总结前面部分中介绍的所有内容,下表对分享按钮和 CourseWork API 在上述四个类别(实现、创建和分享作业、完成和提交作业以及查看和评分作业)中的表现进行了并排比较。
“分享”按钮 | CourseWork API | |
---|---|---|
实现 | 只需几行 JavaScript 代码,实现起来简单快捷 | 需要设置 API 密钥、在管理控制台中启用 API,并进行更密切的监控 |
创建和分享作业 |
|
|
完成并提交作业 |
|
|
查看和批改作业 | 不支持指定或返回成绩 |
|