Font Size: a A A

The Design And Implementation Of An Automatic Program-judging System

Posted on:2014-07-21Degree:MasterType:Thesis
Country:ChinaCandidate:H Y QianFull Text:PDF
GTID:2268330401967733Subject:Information and Communication Engineering
Abstract/Summary:PDF Full Text Request
In the field of Computer Education, especially program design courses, it costsgreat efforts of teachers to manually judge source codes and programs and it is alsodifficult to guarantee fair results. Therefore, the automatic program-judging system hasbeen attracting more and more attention.At present, the most widely used automatic program-judging system is theACM/ICPC system. However, the ACM/ICPC program-judging system is notapplicable to most of the program design courses due to the following three reasons.First, besides ACM-related exercises, there are other types of exercises in the filed ofEngineering Education, such as the file-operations, the network-connections and so on.Second, teachers hope the system can judge the program from different perspectives justlike manual judging, offering a specific score and detailed reasons. But the ACM/ICPCsystem can only judge the program to be either right or wrong. Moreover, teachers hopethe system to provide some frequently-used functions to improve class teaching.To address these problems, this thesis introduced a new automatic program-judgingsystem which can judge different types of exercises to meet diversified practicaldemands, select different methods to judge whether the program is right or wrong inaccordance with the requirements of the exercise, offer detailed reasons for suchjudging, and facilitate class teaching.In order to judge different types of exercises, this thesis introduces a judgingmethod which is different from that of ACM/ICPC system. First, this system includesseveral judging strategies, and the specific judging process is designed according to therequirements of teachers. When the system is running, it will choose the correspondingjudging method in accordance with the type the program belongs to. This system iscapable of judging three types of exercises, covering a great majority of the programs inprogram design courses.This thesis also put forward a method to divide the judging task into severalindependent groups of smaller tasks so as to solve the problem that one time judgingmay give a wrong result. Through dividing the judging steps and inviting teachers to assign specific scores to each group or each step, this system can give an exact score byjudging the program from many different perspectives.With regard to the security of the judging system, this thesis suggests to run theprogram in virtual machine. Programs running in the virtual machine cannot destroy thejudging system on the host machine or the operating environment, while the destroyedmodule of judging system in the virtual machine could be recovered by the snapshot.Besides, this thesis has handled the problems that destabilizing factors may cause.Now there are several programming courses have replaced the manually judgingwith this system to judge the homeworks and examinations. This system works well.
Keywords/Search Tags:Automatic program-judging, Computer-based assessment, Computer aidedteaching
PDF Full Text Request
Related items