摘 要
随着互联网的高速发展,长久以来的程序设计类评判方法已经无法满足教学需求,程序在线评测系统(OJ)流行于全国各大高校程序设计类教学中,许多学校正在逐步建立自己的OJ体系,以确保学校的培训质量,在此背景下,本文设计和实现了一个基于微服务的程序在线评测系统,皆在解决传统程序评测需手动评判的问题。本文系统基于Spring Cloud框架,由用户服务、题库服务、竞赛服务、教学服务和管理服务组成,明确划分了服务的不同职责,极大程度的提高了系统的性能和高可用性。用户可登录本系统提交评测源码,系统评测服务自动编译源码并运行,将运行结果比对测试用例,给出评判结果。教师可登录本系统布置教学作业,学生完成教学评测,这样能极大程度降低教师的劳动强度和评判过程中出现错误的可能性,并提高学生分析和解决问题的能力。
关键词:在线评测;自动编译;教学辅助
Abstract
With the rapid development of the Internet, the evaluation method of program design has been unable to meet the teaching needs for a long time. The online program evaluation system (OJ) is popular in the teaching of program design in Colleges and universities all over the country. Many schools are gradually establishing their own OJ system to ensure the quality of school training, This paper designs and implements an online program evaluation system based on microservice, which solves the problem of manual evaluation in traditional program evaluation. Based on the spring cloud framework, the system is composed of user service, question bank service, competition service, teaching service and management service, which clearly divides the different responsibilities of the service and greatly improves the performance and high availability of the system. Users can log in to the system and submit the evaluation source code. The system evaluation service automatically compiles the source code and runs it. The running results are compared with the test cases and the evaluation results are given. Teachers can log in to the system to arrange teaching assignments, and students can complete teaching evaluation, which can greatly reduce the labor intensity of teachers and the possibility of errors in the evaluation process, and improve the ability of students to analyze and solve problems.
Key words: Online Evaluation; Automatic Compilation; Teaching Aid