跳至主要内容

创建小组作业

您可以为参加您课程的学生团队创建协作作业。

谁可以使用此功能?

作为课堂管理员的组织所有者可以为课堂创建和管理小组作业。有关课堂管理员的更多信息,请参阅“管理课堂”。

注意:2024 年 1 月,GitHub Classroom 改变了从入门代码库创建学生仓库的方式。以前,该过程要求入门代码库是模板,GitHub Classroom 会根据该模板为每个学生创建一个新仓库。随着更改,学生仓库现在通过分叉入门代码库来创建。

此更改解决了教师经常提出的一个功能:在学生接受作业后更改入门代码的能力。

您可以在 GitHub 博客 上阅读有关此更改的更多信息。

此功能处于公开测试阶段,可能会发生变化。

关于小组作业

小组作业是 GitHub Classroom 上针对学生小组的协作课程作业。学生可以在共享仓库中共同完成小组作业,就像专业开发人员团队一样。

当学生接受小组作业时,学生可以创建一个新团队或加入现有团队。GitHub Classroom 将作业的团队保存为一组。您可以在创建作业时为特定作业命名团队集,并且可以将该团队集重复用于以后的作业。

对于每个小组作业,GitHub Classroom 会自动为团队创建一个共享仓库。仓库可以为空,也可以从包含入门代码、文档、测试和其他资源的模板仓库创建仓库。仓库属于您在 GitHub 上的组织帐户,GitHub Classroom 会授予学生在接受作业时创建或加入的团队的访问权限。

每个作业都有一个标题和一个可选的截止日期。您可以选择 GitHub Classroom 创建的仓库的可见性,并选择访问权限。您还可以自动评分作业,并创建一个专门的空间来与学生讨论作业。

您可以决定一个作业可以有多少个团队,以及每个团队可以有多少个成员。学生为作业创建的每个团队都是您在 GitHub 上组织中的一个团队。团队的可见性是秘密的。您在 GitHub 上创建的团队不会出现在 GitHub Classroom 中。有关更多信息,请参阅“关于团队”。

您可以将现有的作业重复使用在您拥有管理员权限的任何其他课堂中,包括不同组织的课堂。有关更多信息,请参阅“重复使用作业”。

先决条件

您必须先创建课堂才能创建作业。有关更多信息,请参阅“管理课堂”。

创建作业

  1. 登录 GitHub Classroom
  2. 导航到课堂。
  3. 作业选项卡中,创建作业。
    • 如果这是您的第一个作业,请点击创建作业
    • 否则,请点击右侧的新建作业

设置作业的基本信息

命名您的作业,决定是否分配截止日期,定义团队,并选择作业仓库的可见性。

命名作业

对于小组作业,GitHub Classroom 会根据仓库前缀和团队名称命名仓库。默认情况下,仓库前缀是作业标题。例如,如果您将作业命名为“assignment-1”,并且团队在 GitHub 上的名称为“student-team”,则该团队成员的作业仓库名称将为 assignment-1-student-team

在“作业标题”下,输入作业标题。可选地,点击 以编辑前缀。

为作业分配截止日期

可选地,您可以为作业分配截止日期。在“截止日期(可选)”下,点击文本字段,然后使用日期选择器分配截止日期。

可选地,要将截止日期设为截止日期,请选择这是截止日期。如果您使用截止日期,学生将在截止日期过后失去对作业仓库的写入权限,除非他们获得延期。有关延长作业截止日期的更多信息,请参阅“延长个人或小组的作业截止日期”。

选择作业类型

在“个人或小组作业”下,选择下拉菜单,然后点击**小组作业**。创建作业后,您无法更改作业类型。如果您想创建个人作业,请参阅“创建个人作业”。

为作业定义团队

如果您已经为课堂创建了小组作业,您可以为新作业重复使用一组团队。要使用学生为作业创建的团队创建新团队集,请键入团队集的名称。可选地,键入团队成员的最大数量和团队总数。

注意:

  • 我们建议在团队集的名称中包含有关团队集的详细信息。例如,如果您想将团队集用于一项作业,请以作业的名称命名团队集。如果您想在一个学期或课程中重复使用团队集,请以学期或课程的名称命名团队集。

  • 如果您想将学生分配到特定团队,请为学生提供团队名称并提供成员列表。

选择作业仓库的可见性

作业的仓库可以是公开的或私人的。如果您使用私有仓库,只有学生或团队才能看到您提供的反馈。

您还可以决定是否授予学生对作业仓库的管理权限。如果学生需要执行作业仓库的管理任务,请授予管理权限。有关更多信息,请参阅“关于仓库”和“组织的仓库角色”。

在“仓库可见性”下,选择可见性。可选地,选择**授予学生对其仓库的管理访问权限**。

完成后,点击**继续**为作业配置启动代码和开发环境。

添加启动代码和配置开发环境

可选地,决定是否提供空仓库或启动代码,并为您的学生预先配置开发环境。

选择模板仓库

默认情况下,新的作业将为学生创建的每个团队创建一个空仓库。您可以选择一个模板仓库作为作业的入门代码。有关模板仓库的更多信息,请参阅“创建模板仓库”。

注意:模板仓库必须属于您的组织,或是在 GitHub 上的公共仓库。

在“添加模板仓库以提供学生入门代码”下,选择选择仓库下拉菜单,然后输入搜索查询。在结果列表中,单击您要用于入门代码的模板仓库。

选择集成开发环境 (IDE)

您可以选择配置作业以使用集成开发环境 (IDE)。IDE 允许您的学生编写代码、运行程序和协作,而无需在学生的计算机上安装 Git 和完整的开发工具链。如果您为作业选择 IDE,学生仍然可以在具有必要软件的计算机上本地检出和运行代码。有关更多信息,请参阅“将 GitHub Classroom 与 IDE 集成”。

您可以选择使用 GitHub Codespaces 配置作业,为学生提供基于浏览器的 Visual Studio Code 环境,并提供一键式设置。有关更多信息,请参阅“将 GitHub Codespaces 与 GitHub Classroom 结合使用”。

要为作业选择 IDE,请选择“添加编辑器”下拉菜单,然后单击您希望学生使用的 IDE。

完成后,单击继续以配置项目的自动评分和反馈。

提供反馈

您可以选择自动评分作业,并为讨论每个提交内容与团队创建一个空间。

自动测试作业

您可以使用自动评分功能自动检查学生在 GitHub Classroom 上提交的作业。您可以为作业配置测试,这些测试将在学生每次将代码推送到 GitHub.com 上的作业仓库时立即运行。学生可以查看测试结果,进行更改,然后再次推送以查看新的结果。有关更多信息,请参阅“使用自动评分”。

在“添加自动评分测试”下,选择**添加测试**下拉菜单,然后点击您要使用的评分方法。有关更多信息,请参阅“使用自动评分”。

定义测试用例的参数,例如名称、命令、输入、输出、超时和分数。完成后,点击**保存测试用例**。

您可以使用**添加测试**下拉菜单添加更多测试,也可以使用 .

指定受保护的文件路径

如果您的作业包含在评分过程中使用的文件或目录,或者这些文件或目录不应该被学生编辑,您可以将它们指定为受保护的文件路径。如果学生编辑了受保护的文件,将在作业概览页面上为他们的提交添加一个标签,以便您进行调查。有关更多信息,请参阅“使用作业概览页面监控学生的进度”。

受保护路径的模式遵循类似于 shell 文件名通配符的规则。它可能包含以下元字符

  • *: 匹配任何文件。例如,* 匹配所有普通文件,foo* 匹配所有以 foo 开头的文件,*foo 匹配所有以 foo 结尾的文件,*foo* 匹配所有名称包含 foo 的文件(包括开头或结尾)
  • **: 递归匹配目录或扩展匹配文件。例如,.github/**/* 将匹配 .github 及其所有子目录中的所有文件
  • ?: 匹配任何单个字符
  • [set]: 匹配 set 中的任何单个字符(包括 a-z 等集合)
  • \: 转义下一个元字符

创建拉取请求以获取反馈

您可以自动创建一个拉取请求,您可以在其中提供反馈并回答学生关于作业的问题。有关拉取请求中更改审查的更多信息,请参阅“审查拉取请求中的更改”。有关在拉取请求中留下反馈的更多信息,请参阅“使用拉取请求留下反馈”。

要创建拉取请求以讨论反馈,请选择**启用反馈拉取请求**。

要创建作业,请点击创建作业

邀请学生参加作业

默认情况下,GitHub Classroom 会为每个您创建的作业启用邀请 URL。学生可以在邀请 URL 启用时接受并提交作业。您可以将 URL 与您的学生分享到您的 LMS、课程主页或您发布作业的任何地方。如果学生已经接受了课堂的作业,他们也可以在 GitHub Classroom 上导航到该作业。

警告:请谨慎分享邀请 URL。任何拥有作业邀请 URL 的人都可以接受邀请并将 GitHub 上的个人帐户与您花名册中的标识符关联起来。

您可以在作业的团队选项卡中查看正在进行或已提交作业的团队。为了防止学生接受或提交作业,您可以在“编辑作业”视图中更改“作业状态”。当作业处于活动状态时,学生将能够使用邀请链接接受作业。当它处于非活动状态时,此链接将不再有效。

监控学生的进度

作业概述页面提供了作业接受情况和学生进度的概述。有关查看和使用作业概述页面的更多信息,请参阅“使用作业概述页面监控学生的进度”。

下一步

  • 创建作业后,您的学生组建团队,团队成员可以使用 Git 和 GitHub 的功能开始作业。学生可以克隆存储库、推送提交、管理分支、创建和审查拉取请求、解决合并冲突以及使用问题讨论更改。您和团队都可以查看存储库的提交历史记录。有关更多信息,请参阅“GitHub 文档入门”、“存储库文档”、“使用 Git”和“使用拉取请求进行协作”,以及 GitHub Skills 上关于解决合并冲突的免费课程。

  • 当团队完成一项任务时,您可以查看仓库中的文件,也可以查看仓库的历史记录和可视化内容,以便更好地了解团队的协作方式。有关更多信息,请参阅“查看仓库的活动和数据”。

  • 您可以通过评论拉取请求中的单个提交或行来提供任务反馈。有关更多信息,请参阅“评论拉取请求”和“创建问题”。有关创建保存的回复以提供常见错误反馈的更多信息,请参阅“关于保存的回复”。

进一步阅读