























本文根据中山大学教学实践案例整理而成
随着程序设计类课程在各大高校如火如荼地开展,如何有效地系统化地开展课程成为这类课程任课教师的关注问题。
本文将以中山大学为实践案例,来阐述教师和学生如何有效使用码云高校版。
在班级中按照小组作业名单将学生进行分组。
教师可以通过码云布置教学任务,创建归属为具体班级的课程教学项目,并将小组添加进项目成员当中。新建项目的页面如下图所示。

图1:教师将项目名称等内容填写完毕后,新建课程项目
在这个教学项目例子中,将作业的具体要求写在 readme 文件中,将作业需要用到的文字材料、图片或视频素材等文件放置在 manual 文件夹中,并创建两个空的文件夹 code 和 report 用于存放学生完成的代码文件和实验报告。项目的结构如下图所示。
图2:教师可根据实际需求调整项目的目录结构
教师将项目发布后,组长可以 Fork 项目到小组仓库下。每个小组都在各自的仓库中提交小组作业的代码,使得不同分组的成员不会互相干扰,而同个小组的成员可以协同工作。组长 Fork 项目如下图所示。

图3:组长将源项目fork到小组仓库下,各小组互不干扰
组长通过发布任务的方式将任务指派给组员。组长可以在新建任务的页面指派任务的负责人、任务的优先级、任务的工期以及任务要求。组员们在各自的分支内按完成任务,最后由组长将各个分支合并入主分支中,完成小组项目的要求。这有利于组长安排编程任务的轻重缓急,优先完成代码的主干部分,将性能优化等需求放到后面完成,使得项目按照计划时间表有序地完成。新建任务的页面如下图所示。

图4:组长将项目功能需求划分为几个任务,并分配给每个组员
学生在完成作业后,把作业 Pull Request 回主项目的 master 分支。
在码云企业主页的Pull Request详情页面中可以看到所有学生的作业。为了提高批改作业的效率,可以要求学生在提交作业时,即Pull Request作业到主项目的master分支,把PR标题修改为“班级+学号+姓名”, 如“1班_12345678_张三”,这样可以一目了然地知道某个PR是哪位同学提交的作业。查看作业界面如下图所示。
图5:教师在PR界面可看到学生提交的项目作业
查看某一位同学作业的具体内容,可以点击该同学对应的条目。在“提交记录”中,可了解学生在作业项目中什么时候上传了什么文件或是删除了什么文件。所以说,在“提交记录”中只能粗略了解学生的作业。“提交记录”文字旁边的数字表示变化文件的数量。“提交记录”页面如下图所示。
图6:查看学生提交项目的记录,可以简单了解学生完成作业的情况
若想细致了解学生的作业,可点击“文件改动”。“文件改动”详情页面中,详细列举了文件所改动的地方,甚至细致到一个标点符号。“文件改动”文字旁边的数字表示作业项目改动的数量。为了方便批改作业,码云贴心地提供了文本对比功能,与原来master分支项目对比,新增的文本用绿色标识,已删除的文本用红色标识。“文件改动”页面如下图所示。
图7: 在“文件改动”改动页面查看学生每一次作业的改变
若作业是小组作业,由多位同学共同完成,那么上面的两种查看作业方法有点不合适。因为上面的方法,无法得知某成员对小组作业的贡献度。教师可以点击“项目”的详情页面,找到某个小组对应的项目并点击,从项目统计图中可迅速了解每位学生的贡献情况。

图8:在项目统计图中获悉每个学生对自己小组作业的贡献度
通过查看各个小组项目的统计来统计组员的工作量和贡献度,有利于按照每个人的工作量给出相应的分数,防止了一些浑水摸鱼的情况发生。查看代码统计的页面如下图所示。

图9:教师可在码云上查看每个小组项目中各成员的贡献,并以此为评分参考
经查看作业后,若学生的作业合格,可点击右上角的“审查通过”按钮,把作业项目合并到主项目;若学生的作业不合格,可点击右上角的“拒绝”按钮,不把该学生的作业项目合并到主项目。
合并到主项目的作业,全体学生均可查看。学生动手完成作业后,查看别人的作业,有利于他们发现自己的优缺点,促进学生努力完善自我。“批改作业”页面如下图所示。
图10:审阅学生作业后,可将合格的学生作业合并到主项目中,供其他学生学习
若老师想给予学生批改意见,可点击“评论”,在方框中输入批改意见。批改意见可由文字、图片、代码等组成。而且还具备预览功能,发布前可先预览,避免再次修改,较为方便。
图11:可在评论框输入批改意见
通过以上基于码云高校版的计算机教学实践,可以大大节省教师的时间和力量,而且能较深入了解学生对于知识的实际掌握情况,同时也有利于促进同学之间的相互学习和项目协作开发能力。
图12:码云工作人员与中山大学师生

此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。