摘要

随着信息技术的快速发展,编程能力已成为计算机相关专业学生和从业者的核心技能之一。传统的编程训练方式往往依赖于线下教学和手动评测,效率较低且难以满足大规模学习需求。在线编程训练系统能够提供自动化的代码评测、实时反馈和个性化学习路径,有效提升学习效率。该系统结合现代Web技术,旨在为学生和教师提供一个高效、便捷的编程训练平台,支持多种编程语言的练习与评测,同时具备学习进度跟踪和数据分析功能。关键词:编程训练系统、在线评测、学习管理、自动化反馈、SpringBoot。

本系统采用前后端分离架构,后端基于SpringBoot框架实现,提供RESTful API接口,结合MySQL数据库存储数据,并通过MyBatis实现数据持久化。前端使用Vue.js框架构建,实现动态交互和响应式布局。系统核心功能包括用户管理、题目管理、代码提交与评测、成绩统计和数据分析。用户分为学生和教师角色,学生可完成编程练习并查看评测结果,教师可管理题目和监控学习进度。系统集成第三方代码评测引擎,支持多语言编译与运行,确保评测的准确性和高效性。关键词:SpringBoot、Vue.js、MySQL、MyBatis、代码评测、角色管理。

数据表设计

用户信息数据表

用户信息数据表存储系统注册用户的详细信息,包括账号、密码、角色等属性,用户ID是该表的主键,注册时间通过函数自动生成。结构表如表3-1所示。

字段名 数据类型 描述
user_id BIGINT 用户唯一标识(主键)
username VARCHAR(50) 用户登录账号
password_hash VARCHAR(100) 加密后的密码
role_type TINYINT 用户角色(1学生,2教师)
email VARCHAR(100) 用户邮箱
register_time DATETIME 注册时间
last_login DATETIME 最后登录时间
题目信息数据表

题目信息数据表存储编程练习题的详细信息,包括题目描述、难度、示例代码等,题目ID是该表的主键,创建时间由系统自动记录。结构表如表3-2所示。

字段名 数据类型 描述
problem_id BIGINT 题目唯一标识(主键)
title VARCHAR(100) 题目标题
description TEXT 题目详细描述
difficulty TINYINT 题目难度(1-5)
sample_code TEXT 示例代码
creator_id BIGINT 创建者用户ID
create_time DATETIME 题目创建时间
time_limit INT 运行时间限制(ms)
提交记录数据表

提交记录数据表存储用户提交的代码及其评测结果,记录ID是该表的主键,提交时间由系统自动生成。结构表如表3-3所示。

字段名 数据类型 描述
submission_id BIGINT 提交记录唯一标识(主键)
user_id BIGINT 提交用户ID
problem_id BIGINT 题目ID
code_content TEXT 提交的代码内容
submit_time DATETIME 提交时间
status TINYINT 评测状态(0待评测,1通过,2失败)
execution_time INT 代码运行时间(ms)
error_msg TEXT 错误信息(如有)

博主介绍:

🌟 个人简介
CSDN特邀作者 | 掘金优质创作者,深耕Java生态与现代Web开发技术栈。专业领域涵盖Java企业级开发、Spring
Boot微服务架构、前后端分离解决方案,以及学术项目的工程化实践。
📊 影响力数据
全平台粉丝突破30万+ 成功指导完成毕业设计项目1000+个 发表原创技术深度文章200+篇 GitHub开源项目累计获得5K+星标认可

🎯 专业服务
提供全方位毕业设计解决方案,从项目规划、技术选型到源码实现的一站式服务。擅长技术难点攻坚与答疑解惑,始终以学生视角出发,深度理解学习痛点,致力于为每位学生提供最专业、最贴心的技术指导与支持。

系统介绍:

开源免费分享基于SpringBoot+Vue的编程训练系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】可提供说明文档 可以通过AIGC**技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等功能如图所示。可以滴我获取详细的视频介绍

功能参考截图:

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

系统架构参考:
在这里插入图片描述
视频演示:

可以直接联系我查看详细视频,个性签名!

在这里插入图片描述

项目案例参考:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后再唠叨一句:

可以直接联系我查看详细视频,个性签名!
遇见即是缘,欢迎交流,你别地能找到的源码我都有!!!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐