摘要

随着信息技术的快速发展,教育领域对智能化、数字化的需求日益增长。传统的编程训练方式往往依赖于线下教学和手动批改,效率低下且难以满足大规模教学需求。为了提高编程训练的效率和教学质量,开发一套基于SpringBoot和Vue的编程训练系统管理平台具有重要意义。该系统能够实现编程题目的在线发布、学生代码的自动评测、成绩统计分析等功能,为教师和学生提供便捷的交互体验。关键词:编程训练系统、在线评测、教学管理、自动化、SpringBoot、Vue。

本系统采用前后端分离架构,后端基于SpringBoot框架实现业务逻辑和数据处理,前端使用Vue.js构建用户界面,数据库采用MySQL存储系统数据。系统功能主要包括用户管理、题目管理、代码提交与评测、成绩统计等模块。通过集成代码编译器和评测工具,系统能够自动分析学生提交的代码并生成评测结果,大幅减轻教师的工作负担。同时,系统支持多角色权限管理,确保数据安全性和操作规范性。关键词:前后端分离、自动评测、权限管理、MySQL、Java、Vue.js。

数据表

用户信息数据表

用户信息数据表存储系统注册用户的详细信息,包括用户角色、登录凭证和个人信息。用户ID是该表的主键,注册时间通过函数自动生成,确保数据的唯一性和完整性。结构表如表3-1所示。

字段名 数据类型 描述
user_id BIGINT 用户唯一标识,主键
username VARCHAR(50) 用户名,用于登录
password_hash VARCHAR(100) 密码哈希值,加密存储
real_name VARCHAR(50) 用户真实姓名
role_type TINYINT 用户角色(1管理员,2教师,3学生)
email VARCHAR(100) 用户邮箱
register_time DATETIME 注册时间,自动生成
last_login DATETIME 最后登录时间
编程题目数据表

编程题目数据表存储系统发布的编程题目及其相关属性,包括题目描述、输入输出示例和难度等级。题目ID是该表的主键,创建时间由系统自动记录。结构表如表3-2所示。

字段名 数据类型 描述
problem_id BIGINT 题目唯一标识,主键
title VARCHAR(100) 题目标题
description TEXT 题目详细描述
input_example TEXT 输入示例
output_example TEXT 输出示例
difficulty_level TINYINT 难度等级(1简单,2中等,3困难)
time_limit INT 时间限制(毫秒)
memory_limit INT 内存限制(KB)
creator_id BIGINT 创建者ID,关联用户表
create_time DATETIME 创建时间,自动生成
代码提交记录数据表

代码提交记录数据表存储学生提交的代码及其评测结果,包括代码内容、运行状态和得分。提交ID是该表的主键,提交时间由系统自动生成。结构表如表3-3所示。

字段名 数据类型 描述
submission_id BIGINT 提交记录唯一标识,主键
user_id BIGINT 提交用户ID,关联用户表
problem_id BIGINT 题目ID,关联题目表
code_content TEXT 提交的代码内容
language_type VARCHAR(20) 编程语言(如Java、Python)
run_status TINYINT 运行状态(1通过,2失败,3编译错误)
score INT 得分
execute_time INT 执行时间(毫秒)
submit_time DATETIME 提交时间,自动生成

博主介绍:

​🎓简介: 软件工程专业毕业 | CSDN 博客达人 | 全栈项目开发实践​
参与过多个企业级软件项目的设计与开发,熟悉从需求分析、架构设计到编码测试的全流程。现在创建计算机毕设工作室团队,专注 Java
全栈项目、Python 实用工具软件、Web
管理系统开发,涵盖电商、教育、办公等多个课题的计算机毕设开发、定制、远程、文档编写指导。各类软件项目 30 + 个,累计售出 1000 +
套。​

🎯 核心服务:​提供自主开发的各类软件项目源码及部署服务,包括电商平台、在线教育系统、企业办公
OA、数据分析等。项目均包含完整文档、演示案例和技术支持,可满足学习研究、二次开发或商用的不同需求。

​​​​​​​​在这里插入图片描述

系统介绍:

开源免费分享SpringBoot+Vue 编程训练系统管理平台源码【适合毕设/课设/学习】Java+MySQL可提供说明文档 可以通过AIGC**技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等功能如图所示。可以滴我获取详细的视频介绍

功能参考截图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

系统架构参考:

在这里插入图片描述

视频演示:

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

项目案例参考:

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐