Online Judge(OJ) systems are a basic and important component of computer education. Here, we present MetaOJ, an OJ system that can be used for holding massive programming tests online. MetaOJ is designed to create a d...Online Judge(OJ) systems are a basic and important component of computer education. Here, we present MetaOJ, an OJ system that can be used for holding massive programming tests online. MetaOJ is designed to create a distributed, fault-tolerant, and easy-to-scale OJ system from an existing ordinary OJ system by adding several interfaces into it and creating multiple instances of it. Our case on modifying the TUOJ system shows that the modification adds no more than 3% lines of code and the performance loss on a single OJ instance is no more than 12%. We also introduce mechanisms to integrate the system with cloud infrastructure to automate the deployment process. MetaOJ provides a solution for those OJ systems that are designed for a specific programming contest and are now facing performance bottlenecks.展开更多
In order to provide a good practice platform for the program design contestants and algorithm enthusiasts,this paper designs and implements a programming online evaluation system based on cloud platform,which is a web...In order to provide a good practice platform for the program design contestants and algorithm enthusiasts,this paper designs and implements a programming online evaluation system based on cloud platform,which is a web system that can return the test results of the program source codes submitted by users in real time.It realizes the automatic evaluation of the program design training questions.The system is implemented by the way of front-end and back-end separation and modular programming.The front-end of the web is implemented by Vue framework,the back-end is implemented by Django framework.The judgment core is written in C language for the sake of improving the efficiency of the system.Sandbox technology is used to ensure the security of the judgment system.Experimental results show that the system can meet the need of daily teaching and competition.展开更多
Programming ability has become one of the most practical basic skills,and it is also the foundation of software development.However,in the daily training experiment,it is difficult for students to find suitable exerci...Programming ability has become one of the most practical basic skills,and it is also the foundation of software development.However,in the daily training experiment,it is difficult for students to find suitable exercises from a large number of topics provided by numerous online judge(OJ)systems.Recommending high passing rate topics with an effective prediction algorithm can effectively solve the problem.Directly applying some common prediction algorithms based on knowledge tracing could bring some problems,such as the lack of the relationship among programming exercises and dimension disaster of input data.In this paper,those problems were analyzed,and a new prediction algorithm was proposed.Additional information,which represented the relationship between exercises,was added in the input data.And the input vector was also compressed to solve the problem of dimension disaster.The experimental results show that deep knowledge tracing(DKT)with side information and compression(SC)model has an area under the curve(AUC)of 0.7761,which is better than other models based on knowledge tracing and runs faster.展开更多
The URI online judge is a new online tool created with the main purpose of making programming practice more dynamic, interesting and stimulating for those who have just entered into the art of programming. The URI onl...The URI online judge is a new online tool created with the main purpose of making programming practice more dynamic, interesting and stimulating for those who have just entered into the art of programming. The URI online judge allows problem corrections in real time, interactivity between users, besides it allows flexibility in the choice of the programming language and it makes some supporting materials available. During the short time in which the tool has being used we have observed that it is a very good tool for self-study. As users of programming portals, the authors noticed some details that would be important to be implemented in a new tool, such as the separation of problems by categories. Another fundamental detail is the fact that this tool is available in two languages (Portuguese and English). This might facilitate the learning process for beginners, both locally and globally.展开更多
The use of programming online judges(POJs)has risen dramatically in recent years,owing to the fact that the auto-evaluation of codes during practice motivates students to learn programming.Since POJs have greater numb...The use of programming online judges(POJs)has risen dramatically in recent years,owing to the fact that the auto-evaluation of codes during practice motivates students to learn programming.Since POJs have greater number of pro-gramming problems in their repository,learners experience information overload.Recommender systems are a common solution to information overload.Current recommender systems used in e-learning platforms are inadequate for POJ since recommendations should consider learners’current context,like learning goals and current skill level(topic knowledge and difficulty level).To overcome the issue,we propose a context-aware practice problem recommender system based on learners’skill level navigation patterns.Our system initially performs skill level navigation pattern mining to discover frequent skill level navigations in the POJ and tofind learners’learning goals.Collaborativefiltering(CF)and con-tent-basedfiltering approaches are employed to recommend problems in the cur-rent and next skill levels based on frequent skill level navigation patterns.The sequence similarity measure is used tofind the top k neighbors based on the sequence of problems solved by the learners.The experiment results based on the real-world POJ dataset show that our approach considering the learners’cur-rent skill level and learning goals outperforms the other approaches in practice problem recommender systems.展开更多
文摘Online Judge(OJ) systems are a basic and important component of computer education. Here, we present MetaOJ, an OJ system that can be used for holding massive programming tests online. MetaOJ is designed to create a distributed, fault-tolerant, and easy-to-scale OJ system from an existing ordinary OJ system by adding several interfaces into it and creating multiple instances of it. Our case on modifying the TUOJ system shows that the modification adds no more than 3% lines of code and the performance loss on a single OJ instance is no more than 12%. We also introduce mechanisms to integrate the system with cloud infrastructure to automate the deployment process. MetaOJ provides a solution for those OJ systems that are designed for a specific programming contest and are now facing performance bottlenecks.
基金This work is supported in part by National Natural Science Foundation of China(61373132,61872408)the Key Laboratory of informationization technology for basic education in Hunan province(2015TP1017)+1 种基金Hunan provincial higher education reform research project(2012[528])Project of research study and innovative experiment for college students in Hunan Province(2017[873]).
文摘In order to provide a good practice platform for the program design contestants and algorithm enthusiasts,this paper designs and implements a programming online evaluation system based on cloud platform,which is a web system that can return the test results of the program source codes submitted by users in real time.It realizes the automatic evaluation of the program design training questions.The system is implemented by the way of front-end and back-end separation and modular programming.The front-end of the web is implemented by Vue framework,the back-end is implemented by Django framework.The judgment core is written in C language for the sake of improving the efficiency of the system.Sandbox technology is used to ensure the security of the judgment system.Experimental results show that the system can meet the need of daily teaching and competition.
文摘Programming ability has become one of the most practical basic skills,and it is also the foundation of software development.However,in the daily training experiment,it is difficult for students to find suitable exercises from a large number of topics provided by numerous online judge(OJ)systems.Recommending high passing rate topics with an effective prediction algorithm can effectively solve the problem.Directly applying some common prediction algorithms based on knowledge tracing could bring some problems,such as the lack of the relationship among programming exercises and dimension disaster of input data.In this paper,those problems were analyzed,and a new prediction algorithm was proposed.Additional information,which represented the relationship between exercises,was added in the input data.And the input vector was also compressed to solve the problem of dimension disaster.The experimental results show that deep knowledge tracing(DKT)with side information and compression(SC)model has an area under the curve(AUC)of 0.7761,which is better than other models based on knowledge tracing and runs faster.
文摘The URI online judge is a new online tool created with the main purpose of making programming practice more dynamic, interesting and stimulating for those who have just entered into the art of programming. The URI online judge allows problem corrections in real time, interactivity between users, besides it allows flexibility in the choice of the programming language and it makes some supporting materials available. During the short time in which the tool has being used we have observed that it is a very good tool for self-study. As users of programming portals, the authors noticed some details that would be important to be implemented in a new tool, such as the separation of problems by categories. Another fundamental detail is the fact that this tool is available in two languages (Portuguese and English). This might facilitate the learning process for beginners, both locally and globally.
文摘The use of programming online judges(POJs)has risen dramatically in recent years,owing to the fact that the auto-evaluation of codes during practice motivates students to learn programming.Since POJs have greater number of pro-gramming problems in their repository,learners experience information overload.Recommender systems are a common solution to information overload.Current recommender systems used in e-learning platforms are inadequate for POJ since recommendations should consider learners’current context,like learning goals and current skill level(topic knowledge and difficulty level).To overcome the issue,we propose a context-aware practice problem recommender system based on learners’skill level navigation patterns.Our system initially performs skill level navigation pattern mining to discover frequent skill level navigations in the POJ and tofind learners’learning goals.Collaborativefiltering(CF)and con-tent-basedfiltering approaches are employed to recommend problems in the cur-rent and next skill levels based on frequent skill level navigation patterns.The sequence similarity measure is used tofind the top k neighbors based on the sequence of problems solved by the learners.The experiment results based on the real-world POJ dataset show that our approach considering the learners’cur-rent skill level and learning goals outperforms the other approaches in practice problem recommender systems.