基本信息
- 项目名称:
- 多功能自增长式ACM综合训练系统
- 来源:
- 第十二届“挑战杯”省赛作品
- 小类:
- 信息技术
- 大类:
- 科技发明制作B类
- 简介:
- “多功能自生长式ACM综合训练系统”,通过自生长和交互两种方式,将网络中搜集到的ACM相关代码和用户提交到各在线评判系统(Online Judge System)上的代码,整合成共享代码库,为网络社区中的其他用户进行训练提供参考。
- 详细介绍:
- ACM国际大学生程序设计竞赛是风靡我国高校的一项重大赛事。然而,虽然近年来ACM竞赛无论是在影响力,还是在规模上有了长足的发展,但是其资源共享建设上却远远没有跟上。笔者发现,国内外ACM竞赛(含信息学竞赛)方面的网站资源比较少,尤其是作为ACM队员日常训练必不可缺少的代码库资源共享方面,更是凤毛麟角。日前在国内,建设水平相对较好的有OIBH,以及Nocow,但是这两个网站主要是针对中学生信息竞赛而设置,其内容和知识结构并不适合于以高校学生为主的各类大学生程序设计竞赛。除此之外,与ACM竞赛相关的网络资源,就是一些零零散散的各ACM竞赛者的博客。 基于上述原因,笔者希望能够设计开发一个“多功能自生长式ACM综合训练系统”,通过自生长和交互两种方式,将网络中搜集到的ACM相关代码和用户提交到各在线评判系统上的代码,整合成共享代码库,为网络社区中的其他用户进行训练提供参考。经过一段时间的积累后,代码库中将会收集到相当可观的共享代码资源,这对于各类信息学和ACM等以各种算法难题为考点的竞赛,将历年试题的正确编码集中在一个共享网络社区中供选手们参考,其具有的价值是非常可观的。“多功能自生长式ACM综合训练系统”的设计将为解决ACM参赛队员日常训练中普遍感到的参考资源缺少的问题提供了一个非常好的方法。 除此之外,“多功能自生长式ACM综合训练系统”的另一个重要功能是能够为软件开发企业挑选合适的专业技术人才提供一个客观的、标准的参考数据库。需要挑选软件开发人才的企业,能够非常方便地通过本系统的代码库查询到某个用户所提交过的代码量,以及通过查看题目的难易程度来判断该用户的算法水平,这将为企业挑选合适的人才提供了一个客观的参考标准。 本系统采用PHP技术,并运行了先进的MVC模式进行实现,采取了地址重写(Rewrite)技术,大量地使用AJAX进行交互。同时,还实现了利用网络爬虫技术实时、动态地搜集站外ACM相关资源,以实现不但充实本站共享资料。
作品专业信息
设计、发明的目的和基本思路、创新点、技术关键和主要技术指标
- “多功能自生长式ACM综合训练系统”,通过自生长和交互两种方式,将网络中搜集到的ACM相关代码和用户提交到各在线评判系统上的代码,整合成共享代码库,为网络社区中的其他用户进行训练提供参考。经过一段时间的积累后,代码库中将会收集到相当可观的共享代码资源,这对于各类信息学和ACM等以各种算法难题为考点的竞赛,将历年试题的正确编码集中在一个共享网络社区中供选手们参考,其具有的价值是非常可观的。“多功能自生长式ACM综合训练系统”的设计将为解决ACM参赛队员日常训练中普遍感到的参考资源缺少的问题提供了一个非常好的方法。 除此之外,“多功能自生长式ACM综合训练系统”的另一个重要功能是能够为软件开发企业挑选合适的专业技术人才提供一个客观的、标准的参考数据库。需要挑选软件开发人才的企业,能够非常方便地通过本系统的代码库查询到某个用户所提交过的代码量,以及通过查看题目的难易程度来判断该用户的算法水平,这将为企业挑选合适的人才提供了一个客观的参考标准。 本系统采用PHP技术,并运行了先进的MVC模式进行实现,采取了地址重写(Rewrite)技术,大量地使用AJAX进行交互。同时,还实现了利用网络爬虫技术实时、动态地搜集站外ACM相关资源,以实现不但充实本站共享资料。
科学性、先进性
- “多功能自生长式ACM综合训练系统”采用了目前先进的,易于管理、扩展的MVC开发模式,并使用PHP进行开发实现。 MVC模式即“模型-视图-控制器(Model View Conntroller)”模式。MVC有着低耦合性、高重用性和可适用性,以及较低的生命周期成本和快速的部署,有利于软件工程化管理。而采用Java或者Asp.Net进行MVC模式开发,其开发周期长,复杂度高。对于“多功能自生长式ACM综合训练系统”来说,采用轻量级的PHP语言以及优秀的MVC模式是一种比较好的选择。 “多功能自生长式ACM综合训练系统”还采用了一般网站比较罕见的地址重写技术。利用地址重写技术,不但能够有效地保护系统中共享代码库的安全,还能够防止对代码库的未经授权的使用,同时,也保证了训练系统的可靠性和安全性。
获奖情况及鉴定结果
- “多功能自生长式ACM综合训练系统”经过宁波工程学院“挑战杯”初赛、复赛和决赛三次评审,得到评审专家组一致好评与推荐。 2011年3月与宁波凌翔网络科技有限公司签订“员工培训及考核”服务合同,为该公司提供在职员工的业务考核和水平测试服务。 “多功能自生长式ACM综合训练系统”可通过链接进行访问和操作。
作品所处阶段
- 测试使用阶段
技术转让方式
- 无
作品可展示的形式
- 图片、在线访问。
使用说明,技术特点和优势,适应范围,推广前景的技术性说明,市场分析,经济效益预测
- 本作品的采用了目前先进的PHP+MVC开发模式,采用地址重写等技术实现网络系统的伪静态,使本系统轻便、便于管理和维护。同时,创新性地结合了用户自主提交代码、题解和爬虫动态搜集代码功能,实现了共享代码库的自生长特性。本系统不仅仅能够为ACM参赛队员提供训练服务和交流,也为相关企业提供选拔合适人才提供了一个客观的参考数据库。 适用人群:参加OI(全国中小学生信息学奥林匹克竞赛)、ACM(全国大学生程序设计大赛)等各类程序设计大赛的学生群体;对程序设计有兴趣的广大爱好者;各类软件开发、设计企业等。 当“多功能自生长式ACM综合训练系统”注册帐号达到一定数量时,将与相关企业进行接洽,通过为其提供广告、人才分析数据报表、指定条件人才检索等收费业务实现盈利。
同类课题研究水平概述
- 近年来,MVC的开发模式开始兴起,PHP的MVC模式是一种先进的网站开发模式,集合了JAVA的MVC功能的强大和ASP的轻量级的优秀于一体。在PHP的MVC模式方面,我国的水平也不亚于国外,拥有一些自主知识产权的MVC框架。本作品即是基于先进的国内ThinkPHP框架来实现。ThinkPHP框架的采用,有力地保证了“多功能自生长式ACM综合训练系统”的可靠性和易操作性。 在设计开发本作品时,针对各Online Judge的解题源代码库作为竞赛训练参考的网站几乎没有,只有参赛队员或爱好者们以个人博客形式发布的一些代码片断或心得。一个比较好的代码库就是,但是这个网站比较庞大,而且采用的是Wiki的形式,分类不明确,不利于参赛者进行针对性训练和系统化学习,更缺少必要的学习记录。杭州电子科技大学也拥有一个代码库,但是该库仅能用于杭电校内的Online Judge用户,没有杭电学生学号的校外用户是无法使用。而采用PHP的MVC模式开发,面向互联网所有竞赛爱好者的小巧轻便、功能清晰的“多功能自生长式ACM综合训练系统”目前尚未发现有其它相同或相似产品。 本系统拥有的题解系统,可以在发表代码的同时发布题解。CSDN等全国知名的程序员社区,其有代码下载和交流两套平台,在代码下载平台能够将代码下载到本机,但下载前无法在线浏览,而且没有本系统这样的索引结构;而交流平台是发布心得、文章的一个平台,其中虽然可以嵌入代码,但其本身与下载平台中提供的代码下载之间是没有关联的,这种下载、交流分离结构并不便于学习和知识积累。国内其它的类似平台还有PUDN、Fayaa等也是与CSDN类似的。本系统则产用了代码平台和交流平台相结合的设计方式,这样使用户在学习中能够下载,下载中能够查阅作者题解,从而在两者之间产生了关联,便于用户在看代码的同时阅读解题思路,但是又不像其它系统的交流平台将代码嵌入文章中,而是相对地独立开来,在阅读这两块的时候没混乱的感觉。