技术微信:375279829 欢迎来到【毕业设计资料-计算机毕业设计源码网】官网!
您的位置:您的位置:主页 > 作品中心 > Java毕业设计

面向OJ平台的编程题目个性化推荐系统设计与实现-计算机毕业设计源码+LW文档

技术微信:375279829

本课题包括源程序、数据库、论文、运行软件、运行教程

毕业设计资料-计算机毕业设计源码网:我们提供的源码通过邮箱或者QQ微信传送,如果有啥问题直接联系客服

包在您电脑上运行成功

语言:Java

数据库:MySQL

框架:ssm、springboot、mvc

课题相关技术、功能详情请联系技术

作品描述
研究背景和意义
(一)选题背景
随着互联网的线上资源的开放,线上教育能够通过互联网技术和网络信息技术迅速发展,教师利用网络传播知识,用户利用网络获取知识,教育资源的开放共享促使在线教育的快速发展[1]。越来越多的研究者认为在线教育对用户的长期发展至关重要,是一种促进用户学习、提高用户能力的高效教学方案[2-3]。线上教育能够让用户在不同地域和不同时间进行学习,相较于以前一对一或者一对多的线下模式,线上模式能够让用户的学习更加灵活多变。而计算机的学生在线上的模式就不仅仅是观看教师教学视频,更要具备线上实践的能力,动手操作对于学习计算机的编程学生更是必须掌握的基本要求。在线测评系统往往就是学生验证自己掌握计算机知识的基本途径。在线测评(Online Judge,OJ)系统是融合了计算机教育与在线教育的创新成果,它是一个包含大量编程练习题的在线学习平台,其主要功能是对用户提交的代码进行自动化的编译和测试[4]。OJ利用其自动化的特点降低了编程习题测试的成本,保证了测试结果的准确性,已经被广泛应用于计算机科学教育的辅助教学和编程竞赛的辅助培训中[5]。
(二)选题意义
对首次学习编程的用户而言,虽然解决了传统文本测试的繁琐和教师阅卷的时间、精力,但系统缺乏个性化的学习推荐,这些用户只能对题目进行随机挑选并进行练习,无法对自己的编程能力水平进行提升,无法将时间转换为学习收获。以国内知名的HDOJ系统为例,如图1所示,OJ系统给我们提供大量的编程训练题,但系统只是将题目进行简单的排序,缺乏对用户提供个性化的学习推荐,用户只能进行盲目的挑选,就好比进入琳琅满目的超市,你不知道进行什么选择来解决你的需求,学习的效率很难进行提高。
课堂上,授课老师在每天的教学活动中会专门讲解同类型的编程题,并将相关题目布置为课后练习。这不仅大大提升了学生的学习效率,还为他们后续的编程学习构建了知识框架。但随着时间的推移,OJ系统渐渐取代教师的工作,会在题目页面添加标签给用户,如图2所示,题目下面只有题目的相关信息,缺乏题目的具体分类。但是目前OJ系统中的题目分类大都由系统的运维人员依靠经验完成,类别的划分粒度不够精细;为了实现相关题目推荐,系统的运维人员会在静态数据表中,将相似题目、进阶题目进行关联,从而实现题目推荐,这样的推荐方式缺乏个性化[6]。实现自动化的题目推荐,不仅能够提升用户的学习效率,还能对用户进行个性化服务,激发学生的编程兴趣和学习积极性。
研究如何通过智能化手段优化OJ系统中的个性化学习推荐功能,具有重要的现实意义。一方面,这可以为编程学习者提供更加高效、系统的学习支持,帮助他们在有限的时间内获得更大的学习收获;另一方面,这种优化也有助于推动编程教育和现代化的个性化发展,提升编程教育的整体质量。此外,通过智能化的题目推荐和学习路径规划,还可以激发学生的学习兴趣和积极性,培养他们的自主学习能力和创新思维,为未来的编程人才储备打下坚实的基础。

二、国内外研究概述
国外研究:在国际上,在线教育和编程题推荐系统已广泛利用大数据技术来实现个性化推荐。以Coursera和edX等在线学习平台为例,这些平台通过分析用户的学习历史、偏好和社交行为,运用协同过滤和内容推荐算法,提供量身定制的课程和学习资源。此外,LeetCode和HackerRank等编程练习网站则通过机器学习技术,精确分析用户的解题记录和难度偏好,从而推荐符合其能力水平的编程题。帮助用户享受学习过程,提高学习质量[7]。在技术层面,研究者不断探索将深度学习算法应用于推荐系统[8],进一步提高推荐的准确性与效率。利用卷积神经网络(CNN)和循环神经网络(RNN)处理用户行为数据,能够深层次挖掘用户的潜在需求,实现更为精细化的推荐。
国内研究:大数据推荐系统的研究与应用同样在不断进展。许多高校和在线教育机构开发了基于大数据技术的推荐系统,旨在满足学生个性化学习的需求。研究集中在挖掘学生的学习行为数据,如解题记录、成绩分析和学习时间,以实现个性化题目推荐。部分高校在线学习平台结合机器学习与数据挖掘技术进行学生分类,并根据其学习能力和需求推荐合适的练习题。许多国内研究者探讨混合推荐模型,将协同过滤、内容推荐和基于知识的推荐技术结合,以实现更加精准的个性化推荐[9]。如何有效利用社交网络数据及用户行为特征的研究也取得了一些前沿成果,为未来基于大数据的推荐系统发展提供了理论和实证支持。
国内外的许多学者提出很多习题的推荐方法。这些方法主要是以通过传统的推荐算法、认知诊断、知识追踪和强化学习来实现习题推荐[10]。也有部分研究者表示应该用传统推荐算法给学生提供恰当的学习资源(如习题、课程)[11]。这类方法就是将学习资源进行推荐,就和传统的电子商务领域的推荐相似,将OJ用户看作成消费者,学习资源(如习题、课程)看作成商品,将学生的答题记录看作他们的消费记录,总结下来就是将学习推荐的任务转化为商品推荐任务向这些用户推荐相似用户解答过的习题,这种方法根据用户之间的联系进行推荐。个性化推荐通过分析学生历史学习数据和行为,根据学生的学习需求和个体差异,从而为其提供个性化的试题资源[12]。
在学习方面上,机器的节奏相较于人类而言就更加的得心应手,我们以心理学的角度来对相关工作[13]进行推理、判断与分析,人相对于机器而言,最大的优势在于擅长利用外界的资源,而知识图谱是机器学习模型引入外界资源的连接器。在习题推荐模型中引入知识图谱,以提升模型推荐结果的准确性与合理性。从常规的角度出发,就会将用户的认知视为固定不变,或者认定用户学生的认知发展是一个连续的、循序渐进的过程。但从认知心理学的研究[14]表明认知发展不仅有连续性的,还有非连续性的。为了捕捉到用户的知识状态变化,提升模型推荐结果的准确性,使模型更加符合实验结论理论,在模型中设计策略,以便于考虑用户的非连续性认知发展。
在查阅OJ题目的推荐的文献中,Zhao等人[15]使用双模马尔可夫链模型计算用户接下来做特定题目的概率,进而用做题目的推荐。以黄永锋为代表的研究团队[16]就有两种不同的推荐方向:一是预测用户对于每一道题目的通过率,并且将通过率高的题目推荐给用户,从而提高用户学习过程中的成就感和编程积极性;二是从题目的文本内容出发,构建OJ题目的知识图谱并利用BERT模型将题目描述文本量化,然后将题目描述信息融合到协同过滤算法中,二者融合混合推荐。再到王小良[17]利用文本描述、知识点和源代码作为题目的输入,并使用基于异构数据的注意力神经网络进行建模。
三、研究内容及方法
(一)研究内容
在以当前的推荐算法体系为基调,再进行精确数学模型的搭建,最终以提高知识追踪的准确度。完成用户的题目编程个性化推荐。主要研究内容包括以下几点:
1. 数据的获取:利用Python工具对网上题库的获取并进行存储,方便后续题目的推荐。
2. 算法的研究:捕捉用户间的学习时间,掌握的知识深度。建立用户的基本向量和题目的推荐项向量,对其进行融合,再与用户的历史做题记录进行拼接,实现用户的独特向量,结合MLP神经网络得到后续的预测,对用户进行编程题目的推荐。
3. 系统的搭建:以简单为主要基调,实现只有编程题目的推荐与练习,减少用户的适应时间与查找时间,从根本上提升用户的编程能力。
(二)研究方法
1. 文献研究法:通过深入探究推荐系统领域的相关文献,了解国内外最新的研究进展动态和技术发展趋势,为项目提供理论支持和技术参考。
2. 内容分析法:我们采用内容分析法对不同用户的做题记录进行深入分析。通过对海量用户做题数据的挖掘与梳理,我们旨在揭示不同用户在编程学习过程中的独特“个性”,比较不同用户间的做题个性,并结合编程知识内容的深度进行推荐框架的构建,以不同用户情况进行预设,不断地以实际情况改进算法。


四、完成期限和采取的主要措施
阶段任务 开始时间 结束时间
确定选题 2024/09/02 2024/09/06
阅读文献 2024/09/07 2024/09/30
撰写并完善开题报告 2024/09/07 2024/10/30
数据准备 2024/11/01 2024/11/30
算法设计 2024/12/01 2025/01/26
系统开发 2025/01/27 2025/02/15
撰写毕业设计及答辩 2025/02/16 2025/04/17


五、主要参考文献及资料名称
[1] 何登溢.\"互联网+\"视角下我国在线教育产业成长前景研究[J].贵州财经大学学报,2018,17(02):75-82.
[2] 李彬,范木杰,崔硼.大数据时代教育管理信息化建设与创新发展研究[J].情报科学,2021,39(10):101-106.
[3] 谢幼如,邱艺,黄瑜玲.疫情防控期间\"停课不停学\"在线教学方式的特征,问题与创新[J].电化教育研究,2020,41(3):20-28.
[4] Wasik S, Antczak M, Badura J, et al.A survey on online judge systems and their applications[J].ACM Computing Surveys(CSUR),2018,51(1):1-34.
[5] 李德光,李晓辉,张庆熙等.面向Online Judge提交日志的用户编程行为可视化[J].计算机辅助设计与图形学学报,2020,32(11):1731-1741.
[6] 李琦.面对OJ平台的题目推荐系统的研究与实现[D].北京邮电大学,2022.
[7] Murayama K, FitzGibbon L, Sakaki M. Process account of curiosity and interest: A reward learningperspective[J].Educational Psychology Review,2019,S31(4):875-895.
[8] Deveaud R, Mothe J, Ullah M Z, et al. Learning to adaptively rank document retrieval systemconfigurations[J].ACM Transactions on Information Systems (TOIS),2018,37(1):1-41.
[9] 熊慧君,宋一凡,张鹏,刘立波.基于深度自编码器和二次协同过滤的个性化试题推荐方法[J].计算机科学,2019(S2):182-187.
[10] 金天成,窦亮,肖春芸,张伟,周爱民.记忆与认知融合的个性化OJ习题推荐方法[J].计算机学报,2023(01):288-321S.
[11] Raciel Yrea Toledo,Yaile Caballero Mota,Luis Martinez. A Recommender System for Programming Online Judges Using Fuzzy Information Modeling[J].Informatics,2018,2(2):17-58.
[12] 刘淇,丁鹏,黄小青.基于试题网络的个性化学习推荐系统研究[J].现代教育技术,2018,28(06):11-16.
[13] Anderson J R. Cognitive psychology and its impolications[J].UK:Macmillan,2005,3(5):1-17.
[14] Sternberg RJ,Okagaki L.Continuity and discontinuity in intel-lectual development are not a matter of ‘either-or’[J].Human Development,1989,3(4):158-166.
[15] Zhao W, Zhang W, Y He, et al. Automatically Learning Topics and Difficulty Levels of Problems in Online Judge Systems[J].ACM Transactions on Information Systems(TOIS),2018,19(11):782-811.
[16] 黄永锋,成燕华.基于知识追溯的在线裁判执业通过率预测[J].东华大学学报,2021,1(3):5-10.
[17] 王小良,郑巍,夏传林.基于神经网络的相似编程题目推荐[J].计算机工程与设计,2022,43(1):9-21.



如需定做或者获取更多资料,请联系QQ:375279829
在线客服
联系方式

技术微信

375279829

在线时间

周一到周日

客服QQ

375279829

二维码
线