作者:陈彦呈、孔雀屏   指导老师:郑贵锋

背景

目前,在许多高校开展的软件工程实践课程中,大多数的学生作业都会通过邮箱、FTP等方式提交到指定的位置,方便教师进行检查。这种方式在处理文字类作业时显得十分便利。但对于代码类作业而言,批改过程就会变得十分繁琐,尤其是当需要对组队项目中每个人进行评分时,由于教师很难看见每个小组成员的实际贡献,分数的评定变得十分棘手。

而使用码云高校版来验收代码类作业则能解决很多现有的问题,教师在码云上新建项目并撰写作业内容,学生可以将这个项目fork到自己的仓库中并对其进行增添与修改等,最后将自己的作业通过pull request等方式提交到源项目中让教师进行批改。通过码云的这一功能,教师能系统化地汇总学生的代码,同时清晰地了解学生的学习情况,更能随机挑选不同学生的作业代码来进行对比,在一定程度上减少了抄袭现象。对于小组项目作业,教师也可以通过查看项目成员的提交贡献来进行相应的分数评定。

前提条件

学生已将作业Pull Request回主项目的master分支。

查看作业

在码云企业主页的Pull Request详情页面中可以看到所有学生的作业。为了提高批改作业的效率,可以要求学生在提交作业时,即Pull Request作业到主项目的master分支,把PR标题修改为“班级+学号+姓名”, 如“1班_12345678_张三”,这样可以一目了然地知道某个PR是哪位同学提交的作业。查看作业界面如下图所示:

图1:教师在PR界面可看到学生提交的项目作业

提交记录

查看某一位同学作业的具体内容,可以点击该同学对应的条目。在“提交记录”中,可了解学生在作业项目中什么时候上传了什么文件或是删除了什么文件。所以说,在“提交记录”中只能粗略了解学生的作业,“提交记录”文字旁边的数字表示变化文件的数量,“提交记录”页面如下图所示:

图2:查看学生提交项目的记录,可以简单了解学生完成作业的情况

文件改动

若想细致了解学生的作业,可点击“文件改动”。“文件改动”详情页面中,详细列举了文件所改动的地方,甚至细致到一个标点符号。“文件改动”文字旁边的数字表示作业项目改动的数量,为了方便批改作业,码云贴心地提供了文本对比功能,与原来master分支项目对比,新增的文本用绿色标识,已删除的文本用红色标识。“文件改动”页面如下图所示:

图3:在“文件改动”改动页面查看学生每一次作业的改变

学生贡献度

若作业是小组作业,由多位同学共同完成,那么上面的两种查看作业方法有点不合适。因为上面的方法,无法得知某成员对小组作业的贡献度,教师可以点击“项目”的详情页面,找到某个小组对应的项目并点击,从项目统计图中可迅速了解每位学生的贡献情况。

图4:在项目统计图中获悉每个学生对自己小组作业的贡献度

批改作业

经查看作业后,若学生的作业合格,可点击右上角的“审查通过”按钮,把作业项目合并到主项目;若学生的作业不合格,可点击右上角的“拒绝”按钮,不把该学生的作业项目合并到主项目。合并到主项目的作业,全体学生均可查看。学生动手完成作业后,查看别人的作业,有利于他们发现自己的优缺点,促进学生努力完善自我。“批改作业”页面如下图所示:

图5:审阅学生作业后,可将合格的学生作业合并到主项目中,供其他学生学习

添加批改意见

若老师想给予学生批改意见,可点击“评论”,在方框中输入批改意见。批改意见可由文字、图片、代码等组成。而且还具备预览功能,发布前可先预览,避免再次修改,较为方便。

图6:可在评论框输入批改意见

结论

相对于基于FTP或邮箱的批改作业方式,基于码云批改作业更节省教师的时间和力量,而且能较深入了解学生做作业的情况。对于学生来说,完成作业后,可以阅读同学的代码,获悉自身优缺点,能有针对性地提高自身能力。