这学期我正在当地一所大学上课.到目前为止,我让学生通过电子邮件将他们转到我的编程任务中.但是,当从电子邮件中提取20个解决方案时,会有很多麻烦.
有没有人用过源控制工具让学生转入项目?你用了什么,它是如何设置的?
在我的大学,计算机和信息科学学院运行一个学生CVS服务器.每个主题(选择使用它)都会获得一个存储库,每个学生都会在主题中注册一个文件夹.管理员帐户显然可以访问整个批次,而每个学生只能签出他们自己的文件夹.
例如,参加操作系统主题(我以前教过):
/cis_os_2009 |-studentID1 |-assignment1 |-assignment2 |-prac1 |-studentID2 |-etc
在作业规范中,我们提供了提交作业的说明.
我喜欢CVS提交系统比电子邮件和大学其他领域使用的网络提交系统更好.它教学生如何使用版本控制系统.对于没有交付作业的学生,你几乎可以完全擦洗'我的usb闪存驱动器丢失/损坏/被盗'的借口,因为学生应该定期提交到存储库(在某些科目中,标记被分配用于正确使用CVS).
缺点是你不能假设学生在学期开始时就知道如何使用CVS/SVN.这里的大多数主题都将第一周的实用内容专门用于CVS教程,以便人们可以确保a)系统管理员已正确设置其帐户,以及b)他们可以正确添加和提交文件.这也意味着你必须对提交第一个作业有点宽容.
您需要为标记执行的操作是检查存储库,因为它存在于分配的截止日期/时间.如果您运行脚本以部分自动化标记,则存储库使其变得非常容易.您确切知道文件夹结构应该是什么以及所有文件应该位于何处.在我教过的科目中,我们有一个标记文件,其中包含学生标记的简要说明以及为什么标记被扣除的评论.我们将此文件检入存储库,学生可以通过cvs更新立即获得他们的标记.