A Design of the Program Quiz Question in Moodle

Autor: JIAN-WEI PENG, 彭建維
Rok vydání: 2016
Druh dokumentu: 學位論文 ; thesis
Popis: 104
Moodle is an online learning platform adopted by many schools worldwide; it is integrated with several online test question types such as right and wrong, multiple choice, fill in the blanks and calculation. However, it is unable to provide the program test question type, which is of extreme importance to information course. Therefore, this research utilizes the open source code and modularization characteristics of Moodle to design the online program test question type module. This module is currently capable of supporting five interpreted languages including Shell Script, Python, PHP, Ruby and Perl and three compiled programing languages including C, C++ and Java. For the addition of other programing languages, you only need to add the compiling and outputting methods for that language in the PHP program code; therefore, it features extremely high degree of expansion. For the convenience of users to edit the program, this module used CodeMirror to design the interface for the program edit, where the keywords or reserved words are shown in different colors automatically for different programing languages. TAB may also be used to proceed with indented edit, making it convenient for teachers to draw up the questions and for the students to answer. Green and red colors are applied as the feedback for the right and wrong answers, while also feedback the program execution message in order for the users to debug. Moreover, considering when the online program test question type proceeds with the automatic evaluation, the system must edit or execute the program code entered by the user, if safety measure is not carried out, the user may easily enter malicious program when answering, thereby destructing or paralyzing the system. Therefore, this research designed three safety preventions. The first is using Linux to setup Moodle, and establish a subsystem in Linux system, where the subsystem only provides required orders and tools for program verification. chroot is applied to guide to this subsystem for execution during program verification, which is completely isolated from the actual system, and is executed based on the limited rights of the user apache in order to protect the safety of the system. The second is utilizing the timeout function of Linux to restrict the seconds for the program execution when executing the program, pipeline process and head command to restrict the output of program execution, so as to avoid destruction on the system by infinite loop and malicious input. The third is that an independent verification file is produced randomly for each program verification, where the location and name of the verification file is produced as a result of the combination of the solution and the student’s answer, to ensure the answers do not affect each other and protect the safety of the answering data. The Moodle online program testing system designed by this research has actually already been applied to Department of Computer Science & Information Engineering lectures at Chaoyang University of Technology for several semesters, successfully completed testing and evaluation, and has passed malicious destruction test, proving the practicality, feasibility and safety of this system.
Databáze: Networked Digital Library of Theses & Dissertations