Linkin——基于微服务的云评测平台
一、项目的概况及意义
1、概述
随着互联网的高速发展,各行各业都逐渐向着信息化、数字化的方向发展,而对于高校教学的信息化建设仍然比较原始,如在IT专业的教学中,仍然依靠老师和助教的对程序进行手动测试并打分计分,缺乏一个在线的程序自动测试和评分平台。此外对于采用SPOC式进行教学的课程,如何将对应网站的成绩统计、导出、分析也是一个问题。此项目正好致力于解决这些实际教学中的痛点问题,并结合当下热门的微服务计算和容器技术,针对IT类实践课程的评测、评分需求,开发完成一个云评分、云评测、云协作的可视化平台。
2、需求来源
近几年很多高校在改进教学方式,针对实践性强的课程,正在逐渐的从线下迁移到线上,老师开始逐渐使用SPOC(Small Private Online Course小规模限制性在线课程)的方式进行教学,这一教学方式实现了翻转课堂,老师来布置任务,这些任务通常来自在线教学资源,学生完成作业后,老师再在实体课堂教学中回答学生的问题。教师可以根据实际的课程要求,自由设置和调控课程的进度、节奏。SPOC提高了老师教学的效率,却没有提高一些复杂作业的评分效率,尤其是一些实践性强的作业题目,如编程题、算法设计题、结对开发类题目、团队合作开发类题目,仍然常常依赖于手动评分,并采用excel来收集统计分数的传统方式。此外,当课程需要多个助教进行评测的课程,助教间的协作也不方便。对于实践强的IT学科,如面对对象程序设计、算法与数据结构、软件工程实践,急需要一个满足自动评测、云协作、评分统计和可视化呈现的平台。
3、面向用户
本系统主要面向的用户是:1、高校IT类实践性课程教师,如面向对象程序设计、算法与数据结构、软件工程实践等实践性强的课程;2、高校IT类实践性课程助教,该类助教常常需要帮助老师批改作业和统计分数;3、高校IT类专业学生,IT学子可以利用此系统进行更加高效的实践学习。此系统得到已经得到福州大学软工实践课程的支持,未来可能会在软工实践教学中使用。
二、主要内容
1、核心功能
最大化支持博客园班级平台,博客园班级平台是现在广泛被使用的教学辅助平台。
老师助教在线查看作业,实时打分。
定制化生成编程题目,并依据编程题目对作业进行自动测试。
单次作业、多次作业数据可视化分析,饼状图、柱状图、折线图等呈现结果。
一键导入学生选课情况表。
定制化评分机制,老师可以对历次作业的评分占比和评分细则进行定制。
助教多人协作,自动分配任务,在线评分。
生成单次作业评分报告,自动评选优秀作业。
自动累计学生历次成绩,生成千帆竞发图。
对总成绩进行百分制折算,并自动导出。
2、系统角色
系统管理员、教师、助教、助教、学生助教、学生、游客。
3、技术架构
系统采用BS架构,采用多种开发语言(JavaScript、Java、Groovy、Go等),采用vue实现基本界面,基于spring cloud和docker实现微服务和容器化部署,使用nginx实现负载均衡和集群搭建,使用mysql主从备份,redis集群。支持高并发,满足高可用。