Title:Developing Software Engineering Skills using Real Tools for Automated Grading
Paper Session: Software Engineering
Author:Sarah Heckman and Jason King
内容描述:
提出一种通过使用开发工具对软件工程情景化学习和自动化评分的专业框架模式(Canary Framework)。
论文贡献
- 使用专业工具进行自动评分的框架。
- 支持开发过程和分级查看各种资源。
- 在各种课程中使用框架的实例。
模式框架
学生将项目提交到GitHub远程储存,集成系统Jenkins对提交的项目进行编写,测试,代码分析,自动化评价并最后将结果反馈给学生。
Tools
Version Control
作用:为学生提供一个远程位置去提交他们的作业并且可以查询已提交过的历史作业。
好处:
- 让学生接触版本控制和团队合作的工作流程。
- 学生不必中断工作流程即可导出项目文件并手动将其上传到专用的自动评分提交系统。
- Version Control变成了帮助学生解决问题的资源。
- 假设学生已提交代码,可查询历史代码,避免因机器故障而丢失项目。
- 作为学术证据。
Jenkins
作用:Jenkins通过一系列的工具集成,可完成对项目的构建,测试,分析和自动化评价。并且其还具有良好的扩展性,可以为课程和项目构建特定的脚本。
过程:
- 取得学生提交的程序
- 提供有关程序的语法回馈(编译)
- 通过一系列测试执行该程序
- 执行分析工具并呈现该程序问题
该框架模式很像TPA平台。