关于个人作业
个人作业是参与 GitHub Classroom 课程的每个学生的课程作业。学生应在没有其他学生帮助的情况下完成个人作业。
当学生接受作业时,GitHub Classroom 会自动为学生创建一个新仓库。仓库可以是空的,或者您可以从包含入门代码、文档、测试和其他资源的模板仓库创建仓库。每个作业仓库都属于您在 GitHub 上的组织帐户。
每个作业都有一个标题和一个可选的截止日期。您可以选择 GitHub Classroom 创建的仓库的可见性并选择访问权限。您还可以自动评分作业,并创建一个专门的空间来与学生讨论作业。
您可以将现有作业重复使用到您拥有管理员访问权限的任何其他课堂中,包括不同组织中的课堂。有关更多信息,请参阅“重复使用作业”。
先决条件
您必须先创建一个课堂,然后才能创建作业。有关更多信息,请参阅“管理课堂”。
创建作业
- 登录 GitHub Classroom。
- 导航到一个课堂。
- 在 **作业**选项卡中,创建作业。
- 如果这是您的第一个作业,请点击**创建作业**。
- 否则,请点击右侧的**新建作业**。
设置作业的基本信息
命名作业,决定是否分配截止日期,并选择作业仓库的可见性。
命名作业
对于个人作业,GitHub Classroom 会根据仓库前缀和学生的 GitHub 用户名命名仓库。默认情况下,仓库前缀为作业标题。例如,如果您将作业命名为“assignment-1”,并且学生在 GitHub 上的用户名为 @octocat,则 @octocat 的作业仓库名称将为 assignment-1-octocat
。
在“作业标题”下,输入作业标题。或者,点击以编辑前缀。
为作业分配截止日期
或者,您可以为作业分配截止日期。在“截止日期(可选)”下,点击文本字段,然后使用日期选择器分配截止日期。
或者,要将截止日期设置为截止日期,请选择**这是截止日期**。如果您使用截止日期,则学生将在截止日期过后失去对其作业仓库的写入访问权限,除非他们获得延期。有关延长作业截止日期的更多信息,请参阅“延长个人或小组的作业截止日期”。
选择作业类型
在“个人或小组作业”下,选择下拉菜单,然后点击**个人作业**。创建作业后,您无法更改作业类型。如果您想创建小组作业,请参阅“创建小组作业”。
选择作业仓库的可见性
作业的仓库可以是公开的或私有的。如果您使用私有仓库,只有学生或团队才能看到您提供的反馈。
您还可以决定是否授予学生对作业仓库的管理员权限。如果学生应该能够执行作业仓库的管理任务,则授予管理员权限。有关更多信息,请参阅“关于仓库”和“组织的仓库角色”。
在“仓库可见性”下,选择可见性。可选地,选择**授予学生对其仓库的管理员访问权限**。
完成后,点击**继续**以配置作业的起始代码和开发环境。
添加起始代码和配置开发环境
可选地,决定是否提供空仓库或起始代码,并为您的学生预配置开发环境。
选择模板仓库
默认情况下,新的作业将为课堂花名册上的每个学生创建一个空仓库。您可以选择一个模板仓库作为作业的起始代码。有关更多信息,请参阅“从模板仓库创建作业”。
注意
模板仓库必须属于您的组织或是在 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 启用时接受并提交作业。您可以在您的 LMS、课程主页或发布作业的任何位置与学生共享 URL。如果学生已经接受了课堂的作业,他们也可以导航到 GitHub Classroom 上的作业。
警告
在共享邀请 URL 时要小心。任何拥有作业邀请 URL 的人都可以接受邀请,并将 GitHub 上的个人帐户与您花名册中的标识符关联。
您可以在作业的**课堂花名册**选项卡中查看学生是否已加入课堂并接受或提交了作业。您还可以在此选项卡中将学生的 GitHub 别名与其关联的花名册标识符以及反之亦然关联起来。为了防止学生接受或提交作业,您可以在“编辑作业”视图中更改“作业状态”。当作业处于“活动”状态时,学生将能够使用邀请链接接受它。当它处于“非活动”状态时,此链接将不再有效。
监控学生的进度
作业概览页面提供了作业接受情况和学生进度的概览。有关查看和使用作业概览页面的更多信息,请参阅“使用作业概览页面监控学生的进度”。
后续步骤
-
创建作业后,学生可以使用 Git 和 GitHub 的功能开始作业。学生可以克隆仓库、推送提交、管理分支、创建和审查拉取请求、解决合并冲突以及通过问题讨论更改。您和学生都可以审查仓库的提交历史记录。有关更多信息,请参阅“GitHub 文档入门”、“仓库文档”和“使用拉取请求协作”。
-
当学生完成作业后,您可以审查仓库中的文件,或者您可以审查仓库的历史记录和可视化效果以更好地了解学生的工作。有关更多信息,请参阅“查看仓库的活动和数据”。
-
您可以通过评论拉取请求中的单个提交或行来提供作业反馈。有关更多信息,请参阅“评论拉取请求”和“创建问题”。有关创建保存的回复以提供常见错误反馈的更多信息,请参阅“关于保存的回复”。