摘要
随着信息技术的快速发展,编程能力已成为计算机相关专业学生必备的核心技能之一。传统的编程训练方式通常依赖于线下教学和手动评测,存在效率低、反馈滞后等问题。为了解决这些问题,开发一套高效、智能的编程训练系统平台具有重要意义。该系统能够为学生提供在线编程练习、自动评测、实时反馈等功能,帮助教师高效管理课程和学生作业,同时减轻人工评测的负担。关键词:编程训练系统、在线评测、SpringBoot、Vue、MySQL。
本系统基于SpringBoot后端框架、Vue前端框架和MySQL数据库技术构建,实现了用户管理、题目管理、代码提交与评测、成绩统计等核心功能。系统采用前后端分离架构,前端通过Vue实现动态交互,后端通过SpringBoot提供RESTful API接口,MySQL数据库负责存储用户信息、题目数据和提交记录。系统支持多种编程语言的代码编译与运行,并利用沙箱技术确保评测环境的安全性。此外,系统提供可视化的数据统计功能,帮助教师分析学生的学习情况。关键词:前后端分离、RESTful API、沙箱技术、数据可视化。
数据表
用户信息数据表
用户信息数据表存储系统注册用户的基本信息,包括用户ID、用户名、密码(加密存储)、角色类型(学生或教师)以及注册时间等。用户ID是该表的主键,注册时间通过函数自动生成。结构表如表3-1所示。
| user_id | BIGINT | 用户唯一标识(主键) |
| username | VARCHAR(50) | 用户名 |
| password_hash | VARCHAR(100) | 加密后的密码 |
| role_type | ENUM | 用户角色(学生/教师) |
| register_time | TIMESTAMP | 注册时间 |
| last_login | TIMESTAMP | 最后登录时间 |
编程题目数据表
编程题目数据表存储编程练习题的详细信息,包括题目ID、标题、描述、难度级别、示例输入输出等。题目ID是该表的主键,创建时间由系统自动记录。结构表如表3-2所示。
| problem_id | BIGINT | 题目唯一标识(主键) |
| title | VARCHAR(100) | 题目标题 |
| description | TEXT | 题目描述 |
| difficulty | ENUM | 难度级别(简单/中等/困难) |
| example_input | TEXT | 示例输入 |
| example_output | TEXT | 示例输出 |
| create_time | TIMESTAMP | 创建时间 |
代码提交记录数据表
代码提交记录数据表存储用户提交的代码及其评测结果,包括提交ID、用户ID、题目ID、代码内容、评测状态等。提交ID是该表的主键,提交时间由系统自动生成。结构表如表3-3所示。
| submission_id | BIGINT | 提交记录唯一标识(主键) |
| user_id | BIGINT | 提交用户ID |
| problem_id | BIGINT | 题目ID |
| code_content | TEXT | 提交的代码内容 |
| language | VARCHAR(20) | 编程语言类型 |
| status | ENUM | 评测状态(等待中/通过/失败) |
| submit_time | TIMESTAMP | 提交时间 |
| execution_time | INT | 代码执行时间(毫秒) |
博主介绍:
🎓简介: 软件工程专业毕业 | CSDN 博客达人 | 全栈项目开发实践
参与过多个企业级软件项目的设计与开发,熟悉从需求分析、架构设计到编码测试的全流程。现在创建计算机毕设工作室团队,专注 Java
全栈项目、Python 实用工具软件、Web
管理系统开发,涵盖电商、教育、办公等多个课题的计算机毕设开发、定制、远程、文档编写指导。各类软件项目 30 + 个,累计售出 1000 +
套。
🎯 核心服务:提供自主开发的各类软件项目源码及部署服务,包括电商平台、在线教育系统、企业办公
OA、数据分析等。项目均包含完整文档、演示案例和技术支持,可满足学习研究、二次开发或商用的不同需求。

系统介绍:
直接拿走,意外获得200多套代码,需要的滴我【毕业设计】SpringBoot+Vue+MySQL 编程训练系统平台源码+数据库+论文+部署文档(可提供说明文档(通过AIGC)
功能参考截图:





系统架构参考:

视频演示:
请dd我获取更详细的演示视频 或者直接加我,网名和签名就是联系方式
项目案例参考:




