北京大学在线程序评测系统使用状况.PDFVIP

  • 28
  • 0
  • 约1.76万字
  • 约 10页
  • 2022-09-12 发布于湖北
  • 举报

北京大学在线程序评测系统使用状况.PDF

北京大学在线程序评测系统使用状况 随着全球范围内信息产业的成长壮大,计算机在众多领域中的广泛应用,程序设计竞赛——这项与计 算机科学课程有着紧密联系的比赛——也随之迅速发展、流行。世界范围内最有影响力的程序设计竞赛包 括 1970 年开始举办的 ACM/ICPC(ACM International Collegiate Programming Contest, 国际大学生程序设计 竞赛) 以及 1989 年开始举办的 IOI (International Olympiad for Informatics,国际信息学奥林匹克竞赛)等。 除此之外,各国也纷纷举办国内赛(如中国的NOI 全国信息学竞赛)和地区赛,而各高校也从近几年开始 举办校内程序设计大赛或校际邀请赛。 一方面,有兴趣参加程序设计竞赛的选手不仅渴望得到系统的学习资料,还希望能够通过练习往年的 比赛真题实践并巩固所学知识;而另外一方面,各个地区历年的比赛虽然留下了大量的资料,但大多分散 在各个举办比赛的网站,并且随着时间的推移,不少网站因各种原因关闭或者改版,比赛资料也随之流失。 于是,我们设计了 POJ(Peking University Online Judge ,北京大学在线程序评判)系统,它不但收集了全球范 围内很多地区、高校举办的比赛试题,并且提供了 365 天*24 小时的在线提交、评判程序的服务。另外还 举办全部采用原创试题的有奖月赛,吸引并鼓励越来越多的程序设计爱好者参与到这项比赛中。系统提供 了一个强大的讨论区,给大家提供了一个方便的互相交流的平台。 该系统支撑的北京大学课程:1)计算概论(必修课 - 信息学院 340 人,医学部 300 人,化学学院 200 人,心理系/管理系 100 人) ;2 )程序设计实习(必修课 - 信息学院 370 人) ;3 )数据结构(必修课 - 信息 学院 370 人) 。而我们还提供了免费的在线评测系统供下载使用,除了很多程序设计爱好者使用它来举办 自己的比赛、创办自己的网站,还有不少其他高校,如:清华大学、中国人民大学、厦门大学,及一些中 小学也采用该系统作为教学平台。 一、系统基本情况 POJ (北京大学在线程序评测系统)包含了一个巨大的题库,题库中的每道题目有一个唯一的ID,题 目不仅包含了题目的描述,而且还有该题目的输入、输出测试数据。用户程序需要根据给定的输入数据得 出相应的结果,系统则根据用户程序的结果与标准的输出数据相比较。而对于某些输出不惟一的题目,还 需要提供一个特殊的测试程序来评判。只有用户程序在规定的时间以及内存限制内通过全部的测试数据才 算正确完成一道题目。 系统还提供了在线比赛功能——一般每次比赛包括 5-15 道题目,比赛按照 ACM/ICPC 的规则进行排 名:按照做对题目的个数从多到少排名,对于相同正确解题数的按照时间从少到多排名,这里的时间包含 两个部分,一个是每个题目的从比赛开始到第一次正确程序提交所消耗的时间之和,另外一个是罚时:每 个题目正确提交之前的提交数(即错误的提交)*20 分钟。 来自世界任何地方的用户能够在这个系统的网站上注册一个用户,以后将可以通过这个用户来提交程 序、参加比赛。而提交的程序可以使用多种不同的程序设计语言以及不同的编译器,这里我们提供了 C/C++/Java/Pascal 共 4 种常用的语言,其中 C/C++提供了 Visual C/C++ 的编译器和GNU C/C++ 的编译器。 POJ 曾经作为2004 年第 29 届和 2005 年第 30 届 ACM 国际大学生程序设计竞赛北京赛区网络预赛的 比赛平台,这也是此项赛事首度采用网络进行,极大的增加了比赛的参与面,扩大了比赛的影响力。其中 2005 年的比赛中一共有 447 支队伍参赛,而负责此项赛事并主持 POJ 开发的北京大学李文新教授因此获 得了 ACM/ICPC 颁发的“区域发展杰出贡献奖”。 该平台在教学中的应用不但巩固了课堂上教授的知识,更加强了学生动手实践能力:学生在平时练习 时可以将自己的程序提交给POJ ,几秒之内即可知道对还是错。每个学生在POJ 上可以建立自己的账号, 教师在 POJ 上一眼就能看到布置的习题学生是否已经完成,这几乎将教师评判学生作业的工作量减少到 零。POJ 对于程序的评判是极为严格的,学生的程序根据 POJ 给出的输入数据进行计算并输出结果,POJ 在服务器端编译、运行被提交的程序,取得输出结果和标准答案对比,必须一个字节都不差,程

文档评论(0)

1亿VIP精品文档

相关文档