论文部分内容阅读
随着信息技术的普及,信息教育的重要性越来越高。信息技术教育的核心计算思维的养成,需要从基础教育开始锻炼。在此背景下,青少年编程教育显得尤为重要。编程教育分为三个阶段:启蒙阶段,学习阶段和提高阶段。编程启蒙教育和提高阶段都有非常成熟的方案。第二阶段主要集中在中学阶段,对于初、高中生,尤其是对于那些本校没有专业教练指导的学生,要付出巨大的时间成本,事倍功半。这些学生,一方面要面临孤独枯燥的训练过程,另一方面由于缺乏指导,不容易找到适合自己的练习题,采取题海战术,浪费了大量的时间精力。为了解决上述问题,引导学生高效、趣味学习,本文利用现有OJ平台的成熟评测机,通过创新尝试,设计并实现了一个针对初高中生的编程的高效在线训练与比赛系统。本文内容简要概括如下:(1)系统需求和可行性分析通过走访大量的参加NOIP提高组的比赛选手和金牌教练,了解需求,确立了系统目标;通过查阅相关文献,研究相关系统,确定了系统功能模块。通过咨询专业人士,确认了系统的可行性,并最终确定了系统所要采用的技术方案。(2)关键技术研究本文从三个方面进行了提高编程学习效果的尝试。本文设计了融合时序的协同过滤题目推荐算法,解决学生缺乏指导、不易获取题目的问题,节省了学生获取题目的时间;设计了全新赛制,引导学生趣味练习和加强交流,增加了学生练习中的趣味性;提出了基于LSB的像素间关联脆弱水印算法,对勋章、证书进行防伪,并通过勋章和证书的发放,鼓励学生多加练习,增强了学习的时间粘性。(3)系统设计系统设计阶段,本文对系统的模块层次结构、业务流程和数据库结构进行了分析设计。并从系统的总体设计、功能模块设计和数据库设计三方面对系统的设计进行描述。(4)系统实现系统采用前后端分离技术,实现了一个B/S模式的基于HUSTOJ评测机的青少年编程在线训练比赛系统。运维数据显示,本文所做系统能够平稳运行。同时,本文所做系统作为山东省第二届青少年创客大赛编程挑战赛的比赛系统,成功地保障了赛事的进行。