程序在线评测(POJ)系统
自主研发了目前服务全球的北京大学程序在线评测系统Peking University Online Judge。该系统在基础实验教学中被广泛应用,并辐射至全国,乃至全球。
“北京大学程序在线评测系统”是一个基于万维网的服务系统。POJ全天24小时向全球提供服务。用户在练习某个题目时,只需要将源程序通过网页提交,在几秒种之内就会得到正确与否的回答。POJ对于程序的评判是极为严格的,学生的程序根据POJ给出的输入数据进行计算并输出结果。POJ在服务器端编译、运行被提交的程序,取得输出结果和标准答案对比,必须一个字节都不差程序才能算通过。这对于培养严谨、周密的程序设计作风极为有效,学生必须考虑到每一个细节和特殊边界条件,而不是大体上正确就能通过。传统的人工评判是难以做到这一点的。使用POJ系统进行程序设计类相关课程教学时,一方面可以在网上布置作业题目,学生随时完成作业、提交并获得评测结果,减轻了教员批改作业的负担同时增强了批改的准确性;另一方面教员亦可在网上监督学生作业完成情况,并就存在的问题进行解答。网上实时的编程考试,更能考察出学生的动手能力,同时有助于威慑和杜绝作弊现象。
POJ系统中目前有题目2229道,注册用户39,000个,总提交量为1,804,183个,日均提交量2,200个。到目前为止在POJ上共组织网上比赛485场。其中,有代表性的比赛包括:a.2004年ACM国际大学生程序设计竞赛亚洲区预选赛网上预赛(来自全国70个大学的361个支队同时比赛);b.2005年ACM国际大学生程序设计竞赛亚洲区预选赛网上预赛(来自全国93个大学的476个支队同时比赛);c.北京大学程序设计竞赛/2003年(80人)/2004年(80人)/2005年(400人)/2006年(500人)。系统主要支撑的课程包括:a.计算概论(必修课 - 信息学院340人,医学部300人,化学学院200人,心理系/管理系100人);b.程序设计实习(必修课 - 信息学院 370人);c.数据结构(必修课 - 信息学院 370人)。POJ系统目前是国际知名的在线评测系统,在教学中使用过POJ的学校还有清华大学、中国人民大学、厦门大学、杭州电子科技大学、合肥工业大学等。
POJ的程序在线评测系统提供免费软件下载,供有兴趣的学校和个人提供自己的在线评测系统。目前已有300余人次下载并安装了POJ系统。