当前位置:主页 > 毕业设计 >

智能OJ平台架构的设计与实现

请输入课题关键词,搜索相关范文

文档下载

网盘链接 https://pan.baidu.com/s/1hpKYlzv1ZkY0TDBAqnYL4w

提取码: rlku


部分内容展示

在线评判系统(简称OJ,Online Judge)指用来评判程序的正确性与时间效率空间效率的评判系统,一般在ACM/ICPC(国际大学生程序设计竞赛)等各种形式的编程比赛、教学或训练的应用中用评判程序[1]。在线评判的目的是对用户提交的程序进行自动评价。提交的程序是对在线评判系统所陈述的问题的一个解决方案,在线评判系统后台应该能够对用户提交的程序进行编译、运行,并且对程序的输出进行判定,对比程序运行测试输入得到的结果与文件中输出来判定提交的程序是否正确。
日前,国务院印发《新一代人工智能发展规划》,提出了面向2030年我国新一代人工智能发展的新途径、战略目标、重点任务,描绘了我国新一代人工智能发展的蓝图。人工智能时代的浪潮再次席卷中国大地,也掀起了新一轮人才需求的大幅增长。而大学的编程设计课程、数据结构、算法导论等课程是人工智能技术的基础课程,为了鼓励更多的中学生、大学生参与到计算机程序设计中来,现阶段我国的好多初高中学校,都全力开展奥赛信息学(程序设计先修课程)的课程。另外近些年,互联网行业发展迅猛,各行各业对于互联网软件人才的需求从来都是供不应求,甚至有些言论预测未来是码农掌控世界,所以对于 IT 从业者的教育和培训显得尤为重要。而要开展程序设计及算法课程,就得让学生长时间、大量地刷题训练,就要通过许多的测试数据来检验程序设计的对错。因此如果一个学校有自己的Online Jugde系统,那么它将使学生的日常编程训练事半功倍。
1.1.1 国外发展状况
网络在线测评系统在西方发达国家发展己经有一段历程,西方国家比较注重学生综合素质的培养,凭借西方发达国家发展比较先进的信息系统,因此相比较国内信息系统而言,国外网络在线测评信息系统发展相对比较完善。
在1995年,美国的NTU、英国的OP College等早期在线测评系统被相继推出。接着,美国的ATA研发了一个具备一定人工智能功能的基于互联网的测评考试发展模式。这个发展模式促使在线测评考试的迅速发展,同时其开创了计算机信息考试在线测评的新技术领域,该模式下的考试系统基本上包含了出题、考务、批卷、成绩管理、试卷分析等功能,智能意识集中体现,对未来的软件提出更高的要求。随着软硬件技术的快速发展,基于互联网的在线测评系统已成为现代教育不可或缺的一个分支,尤其是网络的普及,建设性能低、成本低的在线编程测评考试系统,不论是技术还是经济条件上已达成熟。有些在线测评系统十分成功,如 Microsoft 公司的 MCSE、LeetCode OJ、Google topcoder等等,并己在全球范围内应用。
康复论文
Python是一种面向对象的解释型高级程序设计语言,同时也是当下最热门的编程语言之一。TIOBE排行榜最新排名显示Python已经成为热度排名第四的编程语言,从2010年至今Python已经得到越来越多的应用,尤其在对Web项目开发时,Python能发挥其巨大的优势,快速开发出web应用。
在网络编程中,Python提供了丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。另外Python在web应用开发中,支持最新的XML技术,且可运用其开发网络爬虫模块实现数据的抓取和分析。同时Python是非常注重可读性及开发效率的语言,其解释器可在多种操作系统上上运行包括Linux、Unix、macOS、Windows等系统。它支持多种编程范式包括面向对象的、过程式、命令式和函数式编程,另外其经过扩展后还可以支持逻辑编程。
基于Python开发的Web应用框架有很多,例如Flask、Django、Tornado、pyramid等,本论文选用Django作为Web开发框架。Django是一款基于Python开发的全栈式一体化Web应用框架。其主要目的是削减代码量,简单并且快速地开发以数据库为主体的复杂的Web网站。Django有许多功能强大的第三方插件,甚至也可以很方便地开发出用户自己的工具包,这使得Django具有很强的可扩展性。
Django是全栈式框架且安装简单,目前在全世界范围内有广泛的使用者,这使得Django除了拥有完备的官方使用文档外,还有大量的关联文档及第三方扩展库可用。与其他开发框架比较而言,Django框架用起来要轻松许多。Django继承并简化了MVC架构,MVC架构中的Controller部分基本上全部由Django完成,另外由于其在web网页模板渲染时实现了前后端分离,因此具有解放前端,提升开发效率以及增强代码维护性等使用优势。

  • 添加微信,提供课题关键词,帮你找

猜你喜欢

热搜课题