关于个人作业
个人作业是针对在 GitHub Classroom 课程中参与的每位学生的作业。学生应在没有其他学生帮助的情况下完成个人作业。
当学生接受作业时,GitHub Classroom 会自动为该学生创建一个新的仓库。仓库可以是空的,亦可基于包含起始代码、文档、测试及其他资源的模板仓库创建。每个作业仓库均归属于您在 GitHub 上的组织账户。
每个作业都有标题和可选的截止日期。您可以选择 GitHub Classroom 创建的仓库的可见性并设置访问权限。您还可以自动评分作业,并创建专用空间与学生讨论作业。
您可以在任何您拥有管理员访问权限的其他课堂中重用现有作业,包括不同组织中的课堂。更多信息,请参阅 重用作业。
先决条件
您必须先创建课堂才能创建作业。有关更多信息,请参阅 管理课堂。
创建作业
- 登录 GitHub Classroom。
- 前往课堂。
- 在 作业 选项卡中,创建作业。
- 如果这是您的第一个作业,请点击 创建作业。
- 否则,请在右侧点击 新建作业。
设置作业的基本要素
为作业命名、决定是否设置截止日期,并选择作业仓库的可见性。
为作业命名
对于个人作业,GitHub Classroom 会使用仓库前缀和学生的 GitHub 用户名来命名仓库。默认情况下,仓库前缀即为作业标题。例如,如果您将作业命名为 “assignment-1”,且学生在 GitHub 上的用户名为 @octocat,则该学生的作业仓库名称为 assignment-1-octocat。
在 “Assignment title”(作业标题)下,输入作业标题。可选地,点击以编辑前缀。
为作业设置截止日期
您可以选择为作业设置截止日期。在 “Deadline (optional)”(截止日期(可选))下,点击文本框,然后使用日期选择器指定截止日期。
可选地,要将截止日期设为截止时间,请选择 This is a cutoff date(这是一 个截止日期)。如果使用截止时间,学生在截止时间过后将失去对其作业仓库的写入权限,除非他们获得延期。有关延长作业截止日期的更多信息,请参阅 为个人或小组延长作业截止日期。
选择作业类型
在 “个人或小组作业” 下,选择下拉菜单,然后点击 个人作业。创建作业后,您无法更改作业类型。如需创建小组作业,请参阅 创建小组作业。
选择作业仓库的可见性
作业的仓库可以是公开的或私有的。如果使用私有仓库,只有学生或团队能够看到您提供的反馈。
您还可以决定是否授予学生对作业仓库的管理员权限。如果学生需要能够执行作业仓库的管理任务,请授予管理员权限。更多信息,请参阅 关于仓库 和 组织的仓库角色。
在 “仓库可见性” 下,选择可见性。可选地,勾选 授予学生对其仓库的管理员访问权限。
完成后,点击 继续 来为作业配置起始代码和开发环境。
添加起始代码并配置开发环境
您可以选择提供空仓库或起始代码,并预先为学生配置开发环境。
选择模板仓库
默认情况下,新作业会为课堂名单中的每位学生创建一个空仓库。您可以选择使用模板仓库作为作业的起始代码。更多信息,请参阅 从模板仓库创建作业。
注意
模板仓库必须属于您的组织,或是 GitHub 上的公开仓库。
在 “添加模板仓库以向学生提供起始代码” 下,选择 选择仓库 下拉菜单,然后输入搜索词。在结果列表中,点击您想用于起始代码的模板仓库。
完成后,点击 继续 为项目配置自动评分和反馈。
选择集成开发环境(IDE)
您可以选择为作业配置集成开发环境(IDE)。IDE 使学生能够编写代码、运行程序并协作,而无需在学生电脑上安装 Git 和完整的开发工具链。如果为作业选择 IDE,学生仍可在具备相应软件的本地电脑上检出并运行代码。更多信息,请参阅 将 GitHub Classroom 与 IDE 集成。
您可以选择使用 GitHub Codespaces 为作业配置 IDE,以便学生通过浏览器访问基于 Visual Studio Code 的环境,并一键完成设置。更多信息,请参阅 在 GitHub Classroom 中使用 GitHub Codespaces。
要为作业选择 IDE,请在 “添加编辑器” 下拉菜单中选择,并点击您希望学生使用的 IDE。
为作业提供反馈
您可以选择自动评分作业,并为每份提交创建一个与学生讨论的空间。
自动测试作业
您可以使用自动评分在 GitHub Classroom 上自动检查学生的作业。您为作业配置测试后,每当学生向作业仓库在 GitHub.com 推送时,测试会立即运行。学生可以查看测试结果,进行修改并再次推送以查看新结果。更多信息,请参阅 使用自动评分。
在 “添加自动评分测试” 下,选择 添加测试 下拉菜单,然后点击您想使用的评分方式。更多信息,请参阅 使用自动评分。
定义测试用例的参数,例如名称、命令、输入、输出、超时时间和分数。完成后,点击 保存测试用例。
您可以使用 添加测试 下拉菜单添加更多测试,也可以编辑或删除已有测试。或.
指定受保护的文件路径
如果您的作业包含在评分过程中使用或不应被学生编辑的文件或目录,您可以将其指定为受保护的文件路径。如果学生编辑了受保护的文件,系统将在作业概览页面的提交上标记一个标签,以供您调查。更多信息,请参阅 使用作业概览页面监控学生进度。
受保护路径的模式遵循类似于 shell 文件名通配符的规则。它可以包含以下元字符
*:匹配任意文件。例如,*匹配所有普通文件,foo*匹配所有以foo开头的文件,*foo匹配所有以foo结尾的文件,*foo*匹配所有文件名中包含foo的文件(包括开头或结尾)。**:递归匹配目录或广泛匹配文件。例如,.github/**/*将匹配.github及其所有子目录中的所有文件。?:匹配任意单个字符。[set]:匹配set中的任意单个字符(包括类似a-z的范围)。\:转义下一个元字符。
创建拉取请求以提供反馈
您可以自动创建一个拉取请求,以便提供反馈并回答学生关于作业的问题。有关拉取请求中更改审查的更多信息,请参阅 审查拉取请求中的更改。有关在拉取请求中留下反馈的更多信息,请参阅 使用拉取请求留下反馈。
要创建用于反馈讨论的拉取请求,请勾选 启用反馈拉取请求。
要创建作业,请点击 创建作业。
邀请学生加入作业
默认情况下,GitHub Classroom 会为您创建的每个作业启用邀请链接。学生可以在该链接启用期间接受并提交作业。您可以在学习管理系统(LMS)、课程主页或任何发布作业的地方与学生分享此链接。如果学生已接受课堂的作业,也可以在 GitHub Classroom 中直接导航到该作业。
警告
请注意分享邀请链接的渠道。任何拥有作业邀请链接的人都可以接受邀请,并将其 GitHub 个人账户与您名单中的标识关联。
您可以在作业的 课堂名单 选项卡中查看学生是否已加入课堂以及是否已接受或提交作业。您还可以在此选项卡中将学生的 GitHub 别名与其对应的名单标识符互相关联。若要阻止学生接受或提交作业,您可以在 “编辑作业” 视图中更改 “作业状态”。当作业为 “激活” 时,学生可以使用邀请链接接受作业;当为 “未激活” 时,该链接将失效。
监控学生进度
作业概览页面提供作业接受情况和学生进度的总览。有关查看和使用作业概览页面的更多信息,请参阅 使用作业概览页面监控学生进度。
后续步骤
-
一旦创建作业,学生即可使用 Git 和 GitHub 的功能开始进行作业。学生可以克隆仓库、推送提交、管理分支、创建和审查拉取请求、解决合并冲突,并通过议题讨论更改。您和学生均可审查仓库的提交历史。更多信息,请参阅 GitHub 文档入门、仓库文档 和 协作拉取请求。
-
当学生完成作业后,您可以审查仓库中的文件,或审查仓库的历史和可视化,以更好地了解学生的工作。更多信息,请参阅 查看仓库的活动和数据。
-
您可以通过在拉取请求中的单个提交或行进行评论来为作业提供反馈。更多信息,请参阅 在拉取请求中评论 和 创建议题。有关创建已保存回复以针对常见错误提供反馈的更多信息,请参阅 关于已保存回复。