利用码云代码托管平台助力计算机专业教学

真实的教学需求

去年秋天,我负责给两个班的学生讲一门课程《web编程》。由于备课充分、案例详实,教学效果还不错。但前期因为没有教学经验还是碰到了几个具体问题。如:

  • 怎么样给学生布置任务(作业)?(学生怎么提交作业、老师怎么检查)
  • 怎么样让学生协同开发?(项目教学、分组教学、班集管理等)

于是我就征求学生们的意见,学生说,就把做好的作业打包QQ邮箱发给我,我再汇总检查。简单粗暴,就这样,坚持了半个学期,发现邮箱方式确实较为原始,存在诸多弊端:

  • 邮件交作业涉及到的“查收-下载-解压缩-汇总-评比”等过程,增加了老师的工作量,过程中还有大量的比对学号,确认学生姓名等本无必要工作。
  • 很多学生没有形成代码工程的概念,local模式不利于学生学习代码管理,学生把作业交了就忘记了,感觉代码就是写给老师看的,没办法展示、回顾、改进。

基于前面提到的问题,我的解决方案是使用git代码托管服务,效果立竿见影,主要操作如下:

  • 学生注册码云账号,我跟学生互相关注,这样我就能看到学生的代码更新。
  • 学生按作业要求创建代码库,提交代码,写好 readme.md,如有必要还可以使用git pages部署页面。

同样是简单粗暴的使用git平台,就已经完全解决了我收作业难、学生代码管理的问题。


产品化平台出现了——码云高校版

旧的问题解决的同时,也会衍生出新的问题:

  • 学生的隐私问题。(比如学生的个人简历页面、学号等信息不想公开)
  • 班集管理问题。(关注列表没办法进行分组及标签)

最近收到码云平台的邮件,说教师节码云高校版上线了,欢迎大家使用。我点开链接一看,这不正是高校计算师教师梦寐以求的教学平台吗?

于是赶紧申请免费使用,并且很快就审核通过。

成员200人、仓库20G、附件10G,多么激动人心。


为什么选择码云?

国内外有很多git代码托管平台,如:github.com,gitlab.com,gitee.com,coding.net等。我自己在前面四个平台上都有代码库(不要把鸡蛋放在一个篮子里),定期都会有代码提交。但为了方便学生,方便教学,最终选择了码云。原因也非常的简单:

  • 中文界面(github,gitlab没有中文界面)
  • 私有代码库免费,不限数量(相对于github,gitlab,coding.net)。
  • 访问速度快(相对于github,gitlab)
  • 操作方便(如,将项目转化成git pages部署,比其它平台简单直观)

当然,码云代码平台,还有很多其它优点。


编程教学场景

场景一:分班分团队管理

将不同班的学生进行分项目、分团队的管理,摆脱繁杂而进度不同的多班级教学,以教师作为项目的负责人,对学生的学习任务进行及时有效督促。

  • 以教师为负责人,创建课程为名称的企业
  • 添加学生为企业成员,并在每个班级中选一位同学为管理员
  • 创建班级成员团队,可由班级管理人添加具体班级成员,多班级教学同样轻松搞定

场景二:轻松布置教学任务

教师创建课程教学项目,学生 Fork 项目到自己账号下后,教师对可学生进行任务分配,以便学生明确自己要做的事情。

  • 创建归属为具体班级的教学项目,成员添加班级团队即可
  • 学生 Fork 课程教学项目到自己账号下

场景三:学生自主完成并提交

  • 学生根据教师的要求修改完成任务
  • 将本地的代码提交到自己的远端项目分支中

场景四:教师审核并合并请求

  • 教师收到学生提交作业的申请
  • 代码行评论可针对学生代码进行深度点评
  • 实时批改并与学生讨论,增强教师与学生、学生与学生的双向互动

场景五:课程回顾与总结

教师、学生可通过相互协作的方式编写项目 Wiki,构建班级学习的知识体系,如记录疑问或者编程技巧知识等。

场景六:专属个性简历

学生可借助 Pages 功能(支持自定义域名)打造专属个性简历/博客,全面展示自我。


关注微信公众号

码中人 微信公众号