Online Learning Management System

  • Abstract
  • Literature Map
  • Similar Papers
Abstract
Translate article icon Translate Article Star icon

With the rapid development of computer science and technology, Computer Aided Instruction(CAI) has being playing a more crucial role in modern teaching management and education itself. While in the teaching modules related to the art of programming, the position of human graders can be well taken by automated programming assignments graders such as Online Judge(OJ). At present, a large proportion of universities and institutions have adopted OJ program which were developed by themselves in programming modules, which leads to huge cost of human resources in its development and maintenance. In this paper, the author proposed an online teaching management system, also called Tsinghua University Online Judger(THUOJ), which is public and universities oriented, to address the above issue. Besides some basic management functions, the system mainly focuses on the programming assignment grading and program assessment customization for varies programming courses, which makes the system be suitable for diversities between different modules and can provide personalized programming grading services. In this article, the author made his design according to the potential users of the system, and proposed a design of the system's structure on the basis of the frame using Linux+Apache+MySQL+PHP(LAMP). Especially, the author adopted C and PHP to program the online judge module. Finally, there is a simple website demo has been implemented on the basis of OJ module, in order to demonstrate the usage of proposed system and online judge module.

Similar Papers
  • Research Article
  • Cite Count Icon 2
  • 10.12783/dtetr/iect2016/3720
A Research on Online Judge Technology Based on MOOC Platform
  • Nov 18, 2016
  • DEStech Transactions on Engineering and Technology Research
  • Siwan Tang + 2 more

Programming courses in Chinese university MOOC(massive open online courses) platform use Online Judge as a real-time program automatic grading tool. One the one hand, the use of Online Judge increases the ability of programming, on the other hand it decreases the workload of teachers. So more and more programming courses are taught based on Online Judge. Although Online Judge has many advantages, we find some shortcomings during long-term use. This paper describes the technology of online judge, then analyses advantages and disadvantages. Considering these disadvantages, we put forward a method to make it more suitable for programming practice and test.

  • Research Article
  • Cite Count Icon 19
  • 10.1080/03043797.2015.1056105
OJPOT: online judge & practice oriented teaching idea in programming courses
  • Jul 16, 2015
  • European Journal of Engineering Education
  • Gui Ping Wang + 3 more

Practical abilities are important for students from majors including Computer Science and Engineering, and Electrical Engineering. Along with the popularity of ACM International Collegiate Programming Contest (ACM/ICPC) and other programming contests, online judge (OJ) websites achieve rapid development, thus providing a new kind of programming practice, i.e. online practice. Due to fair and timely feedback results from OJ websites, online practice outperforms traditional programming practice. In order to promote students’ practical abilities in programming and algorithm designing, this article presents a novel teaching idea, online judge & practice oriented teaching (OJPOT). OJPOT is applied to Programming Foundation course. OJPOT cultivates students’ practical abilities through various kinds of programming practice, such as programming contests, online practice and course project. To verify the effectiveness of this novel teaching idea, this study conducts empirical research. The experimental results show that OJPOT works effectively in enhancing students’ practical abilities compared with the traditional teaching idea.

  • Research Article
  • Cite Count Icon 224
  • 10.1016/s0360-1315(03)00030-7
On automated grading of programming assignments in an academic institution
  • May 29, 2003
  • Computers & Education
  • Brenda Cheang + 3 more

On automated grading of programming assignments in an academic institution

  • Conference Article
  • Cite Count Icon 1
  • 10.1109/iccse51940.2021.9569698
Applying Faulty Statement Category Frequency to Localize Faults for Student Programs
  • Aug 17, 2021
  • Zheng Li + 4 more

Online Judge (OJ) system has been widely used in the teaching of programming courses. When students use the OJ system to submit programs, OJ can only provide simple feedback on whether the program is correct or not. However, students with little programming experience are difficult to find and fix even simple bugs. Although a lot of approaches were proposed to localize faults in open-source and industrial software programs, whether these techniques can achieve satisfactory results in student programs has not been thoroughly investigated. In this paper, we propose a Faulty Statement category Frequency-based Fault Localization (FSFFL) method to locate bugs in student programs. Specifically, motivated by the observation that the faulty statement categorization for the same OJ question is always similar, we employ the history information of student programs and divide the corresponding code statements into seven categories, and then we calculate the faulty frequency for each category. Finally, we use the frequency information to give weight to the suspiciousness values of statements calculated by traditional Spectrum-Based Fault Localization (SBFL) methods. To verify the effectiveness of our proposed approach, we conduct empirical studies on 2,411 faulty programs from the OJ platform. Experimental results show that our approach with the Dstar formula can improve the fault localization accuracy by 18.73% on average compared with the traditional SBFL methods in terms of EXAM metric.

  • Book Chapter
  • Cite Count Icon 1
  • 10.1007/978-981-99-2449-3_46
Data Analysis of Online Judge System-Based Teaching Model
  • Jan 1, 2023
  • Yuting Zhang + 4 more

For Computer Science and Technology students, the development of practical programming skills is crucial. In order to cultivate students’ practical programming skills, Online Judge (OJ) system has been developed rapidly and widely used by many universities. However, the OJ system-based teaching model has not been sufficiently analyzed in terms of teaching effectiveness. Therefore, in this paper, we analyze the problems in teaching programming courses, the current application status of OJ systems and teaching models in many universities. We propose a teaching model of programming courses based on OJ system in Beijing University of Chemical Technology (BUCT). Besides, we apply this model to the course teaching of Computer Science and Technology in BUCT for nearly 10 years and accumulate a large amount of raw data of programming practice activities. After scientific and reasonable data analysis, it is proved that the teaching model has achieved good teaching effect. The results of the experiment show that students’ use of the OJ system was positively correlated with their scores in the programming course. The more students practiced programming in the OJ system, the higher the students’ scores in their programming courses.

  • Conference Article
  • Cite Count Icon 4
  • 10.1109/smartworld-uic-atc-scalcom-iop-sci.2019.00264
An Experimental Online Judge System Based on Docker Container for Learning and Teaching Assistance
  • Aug 1, 2019
  • Han Yibo + 5 more

Programming Languages are core courses in computer science and computing-related disciplines, and there are increasing demands on improving the experiences, motivation and efficiency of programming language teaching and learning. In recent decades, online judge (OJ) systems have been popularly adopted in educational environments to support real-time learning feedback, and provide interactive programming practice. However, most existing OJ systems rely on significant resource for hardware virtualization, and suffer from long development cycles and extensive maintenances. This paper proposed a course-oriented OJ system based on the Docker Container techniques to significantly reduce the cost and maintenance of deployment of existing OJ system. The proposed approach is designed in the form of an experimental system, which is effective in stimulating the students to learn programming language and assist the instant assessment of coursework. Meanwhile, our proposed system can be integrated with major massive open online course (MOOC) systems for assessment. The efficiency and performance of our proposed system has been evaluated and tested by 1460 students in Nanyang Institute of Technology during term time between 2018 and 2019.

  • Research Article
  • Cite Count Icon 14
  • 10.1109/access.2021.3126896
Understanding Students’ Acceptance of Online Judge System in Programming Courses: A Structural Equation Modeling Approach
  • Jan 1, 2021
  • IEEE Access
  • Daramsenge Bilegjargal + 1 more

An online judge (OJ) system was developed to evaluate programs in online programming contests. They have also been widely applied to help students practice their coding skills; however, no studies have investigated the acceptance of OJ technology by students in online programming courses. In this study, we applied the second generation of the unified theory of acceptance and use of technology (UTAUT2) model and partial least-squares structural equation modeling (PLS-SEM) to fill this research gap. We recruited 187 undergraduate participants from the Data Science course at Feng Chia University (FCU), Taiwan, in the spring semester of 2021. Our results showed that ‘hedonic motivation’, ‘self-efficacy’, and ‘social influence’ had the most significant positive effects on students’ intention to use the OJ system. Interestingly, academic majors did not play a significant moderating role between the intention to use the OJ system and other influential factors. However, it exerted a significant direct effect on ‘behavioral intention’. Our results can serve as a reference for OJ system developers, designers, instructors, and policymakers within universities.

  • Research Article
  • Cite Count Icon 21
  • 10.1007/s10639-016-9565-y
Technology enhanced learning in programming courses – international perspective
  • Dec 12, 2016
  • Education and Information Technologies
  • Mirjana Ivanović + 3 more

Technology enhanced learning (TEL) is increasingly influencing university education, mainly in overcoming disadvantages of direct instruction teaching approaches, and encouraging creativity, problem solving and critical thinking in student-centered, interactive learning environments. In this paper, experiences from object-oriented programming (OOP) courses that are taught in three institutions from three different European countries are presented and compared. The courses are based on Java and are delivered in the second year of studies, after students have attended an introductory programming course. The emphasis is given on TEL approaches and accompanying tools and services, focusing mainly on Learning Management Systems (LMS). Our students completed an appropriate questionnaire to evaluate the importance and utilization of TEL services that are used or planned to be used at the programming courses. The results of statistical analysis of collected data show that students from all three institutional groups consider organizational services provided by TEL tools as much or very much important in their education, while communicational services are rarely used. Using non-parametric statistical tests we studied the similarities and differences in perceived importance of TEL services among students from different institutional groups.

  • Book Chapter
  • Cite Count Icon 12
  • 10.1007/978-3-030-79463-7_2
A Novel Rule-Based Online Judge Recommender System to Promote Computer Programming Education
  • Jan 1, 2021
  • Md Mostafizer Rahman + 3 more

Reducing students’ high dropout rates in the computer programming courses is a challenging problem of great concern in computer science education. Online Judge (OJ) systems were recently being investigated to address this problem and promote computer programming education. Most of the existing OJ systems have been confined only for evaluation purposes, and do not provide any personalized recommendations to enhance the productivity of a student. With this motivation, this paper proposes a novel rule-based OJ recommender system to promote computer programming education. The proposed system involves the following five steps: (i) scoring the programs submitted by a student automatically, (ii) generation of a transactional database, (iii) clustering the database with respect to their scores and other evaluation parameters, (iv) discovering interesting association rules that exist in each of the cluster’s data, and (v) providing appropriate recommendations to the users. Experimental results on the data generated by a real-world OJ system demonstrate that the proposed system is efficient.KeywordsProgramming educationMachine learningData miningClusteringRule extractionOnline judge

  • Conference Article
  • Cite Count Icon 42
  • 10.1145/1562877.1562897
A course on algorithms and data structures using on-line judging
  • Jul 6, 2009
  • Ginés Gárcia-Mateos + 1 more

High dropout rates are commonly the main problem we must face in Computer Science degrees. There are two main causes of dropout: the implicit complexity of the matter, and a lack of motivation among students. The second-year programming course of our university suffered dropout rates of over 70% of the more than three hundred enrolled students. In order to overcome this problem, we have adopted a new teaching methodology based on two key ideas: replacing the traditional final exam with a series of activities in a continuous evaluation context; and making those activities more appealing to the students. In particular, most of the activities are designed as on-line programming competitions; they are carried out by using a web-based automatic evaluation system, the on-line judge. Experimental results show the high effectiveness of the proposed approach. On average, the dropout rate decreased to 45% while the pass rate doubled. Some strategies are used to ensure the authorship of the programs and to detect source code plagiarism.

  • Research Article
  • Cite Count Icon 16
  • 10.1145/1595496.1562897
A course on algorithms and data structures using on-line judging
  • Jul 6, 2009
  • ACM SIGCSE Bulletin
  • Ginés Gárcia-Mateos + 1 more

High dropout rates are commonly the main problem we must face in Computer Science degrees. There are two main causes of dropout: the implicit complexity of the matter, and a lack of motivation among students. The second-year programming course of our university suffered dropout rates of over 70% of the more than three hundred enrolled students. In order to overcome this problem, we have adopted a new teaching methodology based on two key ideas: replacing the traditional final exam with a series of activities in a continuous evaluation context; and making those activities more appealing to the students. In particular, most of the activities are designed as on-line programming competitions; they are carried out by using a web-based automatic evaluation system, the on-line judge. Experimental results show the high effectiveness of the proposed approach. On average, the dropout rate decreased to 45% while the pass rate doubled. Some strategies are used to ensure the authorship of the programs and to detect source code plagiarism.

  • PDF Download Icon
  • Research Article
  • Cite Count Icon 49
  • 10.1109/access.2022.3157288
Educational Data Mining to Support Programming Learning Using Problem-Solving Data
  • Jan 1, 2022
  • IEEE Access
  • Md Mostafizer Rahman + 4 more

Computer programming has attracted a lot of attention in the development of information and communication technologies in the real world. Meeting the growing demand for highly skilled programmers in the ICT industry is one of the major challenges. In this point, online judge (OJ) systems enhance programming learning and practice opportunities in addition to classroom-based learning. Consequently, OJ systems have created a large number of problem-solving data (solution codes, logs, and scores) archives that can be valuable raw materials for programming education research. In this paper, we propose an educational data mining framework to support programming learning using unsupervised algorithms. The framework includes the following sequence of steps: (<inline-formula> <tex-math notation="LaTeX">$i$ </tex-math></inline-formula>) problem-solving data collection (logs and scores are collected from the OJ) and preprocessing; (<inline-formula> <tex-math notation="LaTeX">$ii$ </tex-math></inline-formula>) MK-means clustering algorithm is used for data clustering in Euclidean space; (<inline-formula> <tex-math notation="LaTeX">$iii$ </tex-math></inline-formula>) statistical features are extracted from each cluster; (<inline-formula> <tex-math notation="LaTeX">$iv$ </tex-math></inline-formula>) frequent pattern (FP)-growth algorithm is applied to each cluster to mine data patterns and association rules; (<inline-formula> <tex-math notation="LaTeX">$v$ </tex-math></inline-formula>) a set of suggestions are provided on the basis of the extracted features, data patterns, and rules. Different parameters are adjusted to achieve the best results for clustering and association rule mining algorithms. For the experiment, approximately 70,000 real-world problem-solving data from 537 students of a programming course (Algorithm and Data Structures) were used. In addition, synthetic data have leveraged for experiments to demonstrate the performance of MK-means algorithm. The experimental results show that the proposed framework effectively extracts useful features, patterns, and rules from problem-solving data. Moreover, these extracted features, patterns, and rules highlight the weaknesses and the scope of possible improvements in programming learning.

  • Book Chapter
  • Cite Count Icon 2
  • 10.1007/978-3-030-73103-8_31
Behavior Pattern based Performance Evaluation in MOOCs
  • Jan 1, 2021
  • Shaojie Qu + 5 more

With the development of MOOCs (Massive Open Online Courses), more and more courses could be studied online. Now researchers are showing an increasing interest in the field of MOOCs including dropout prediction, cheating detection and achievement prediction. Previous studies on achievement prediction mainly focus on students’ video behaviors and forum behaviors, and few researchers have paid attention to how well they do their assignments. In this paper, we choose a C Programming course as an experimental subject, which involves 1528 students. This paper mainly focuses on the students’ programming assignment accomplish behaviors and compilation information of programming assignments. In this paper, feature sequences were extracted from the logs according to submission times, submission order and plagiarism. The experimental results showed that the students who did not pass the exam had obvious sequence pattern, but the students who passed the test did not have obvious sequence pattern. Then we extracted 23 features from the compile information of students’ programming assignments, and selected the most distinguishing features to predict the students’ performance. The experimental results shows that we could get the accuracy rate of 70.49% for predicting students’ performance.

  • Research Article
  • Cite Count Icon 31
  • 10.1145/2716314
A Purposeful MOOC to Alleviate Insufficient CS Education in Finnish Schools
  • Apr 27, 2015
  • ACM Transactions on Computing Education
  • Jaakko Kurhila + 1 more

The Finnish national school curriculum, effective from 2004, does not include any topics related to Computer Science (CS). To alleviate the problem that school students are not able to study CS-related topics, the Department of Computer Science at the University of Helsinki prepared a completely online course that is open to pupils and students in all schools in Finland. The course is a Massive Open Online Course (MOOC), as the attendance scales without an upper bound. Schools in Finland have offered the MOOC as an elective CS course for their students and granted formal school credits for completing (parts of) it. Since our MOOC is exactly the same programming course as our university-level CS1 course, we are able to use the MOOC also as a long-lasting entrance exam to the CS BSc and MSc degrees. After two spring semesters of operation, we have observed that there are school students dispersed around Finland who are ready and willing to take on a challenging programming course online, and bridging the MOOC to a full study right makes a strong incentive to keep working on the programming assignments, even without traditional teaching.

  • PDF Download Icon
  • Supplementary Content
  • Cite Count Icon 13
  • 10.3389/fpsyg.2022.962984
A study of students’ learning perceptions and behaviors in remote STEM programming education
  • Oct 6, 2022
  • Frontiers in Psychology
  • Yu-Sheng Su + 3 more

In recent years, STEM education has developed students’ fundamental subject knowledge, and has allowed students to integrate STEM cross-domain knowledge. Universities emphasize innovative thinking, practice and application, problem-solving, and teamwork to nurture students while learning STEM cross-domain knowledge development in remote STEM program education. When students take online STEM programs, they may encounter unanswered questions and may give up on trying to solve them. Therefore, this study proposed a problem-based learning approach with an online programming system integrated into an online STEM programming course. To help students solve the past programming assignments, the assignments were simplified, decomposed, and reorganized. The teacher guided the students to understand the STEM programming problems and taught them to use appropriate problem-solving skills to motivate them to complete the STEM programming assignments. The experiment was conducted with students in an online STEM programming course at a university in northern Taiwan. In the experimental activities, we used a problem-based learning approach for the online STEM programming activity. The problem-based learning method can be divided into four steps, namely stating the problem, understanding the problem, developing a solution plan, and executing the plan, reflecting, and debugging. This study used a problem-based learning approach and an online programming system integrated into a STEM programming curriculum to explore the differences in students’ perceptions of STEM learning, learning outcomes, and learning behaviors. The experimental results found a significant difference between students’ prior knowledge and learning outcomes. Students showed significant gains in learning the STEM programming content using the problem-based learning approach and the online programming system. In the analysis of their STEM learning perceptions, we found that there were significant differences in students’ responses for each dimension. This shows that using the problem-based learning approach with the online programming system helped students learn the course content. The analysis of students’ behaviors in answering the STEM programming assignments indicated that some students had the habit of taking notes. This helped them to easily associate and integrate STEM cross-domain knowledge with what they had learned in the online course, and enhanced their ability to implement STEM programs. In addition, students could take the initiative and focus on repeatedly watching the teacher solve the material in the online course. Students could try different solving plans to pass the code validation of the STEM programming assignments. This revealed that students wanted to complete the STEM programming assignments to achieve good learning performance.

Save Icon
Up Arrow
Open/Close
Notes

Save Important notes in documents

Highlight text to save as a note, or write notes directly

You can also access these Documents in Paperpal, our AI writing tool

Powered by our AI Writing Assistant