![]() Is intitially configured to use a small outward-facing Jobe server at the University of Canterbury, and this can be used for initial testing. For security reasons submitted jobs are run on a separate machine called the "Jobe server" or "Jobe sandbox machine". The CodeRunner question type can be installed on any modern Moodle system (version 3.0 or later), on Linux, Windows and Mac. However, if CodeRunner-based quizzes are toīe used for tests and final exams, a separate Moodle server is recommended, both for load reasons and so that various Moodle communication facilities, like chat and messaging, can be turned off without impacting other classes. The architecture allows easy extension to other languages.ĬodeRunner can safely be used on an institutional Moodle server, provided that the sandbox software in which code is run ("Jobe") is installed on a separate machine with adequate security and firewalling. EMTH171 Mathematical Modelling and ComputationĬodeRunner is also being used at over 600 other sites worldwide.ĬodeRunner currently supports Python2 (considered obsolescent), Python3, C, C++, Java, PHP, JavaScript (NodeJS), Octave and Matlab.ENCN305 Programming, Statistics and Optimisation.Other courses at the University of Canterbury using CodeRunner include: The final exams for COSC121 have also been run using Moodle/CodeRunner since NovemberĢ014. Laboratory work, assignment work and mid-semester tests in the introductoryįirst year Python programming course (COSC121), which has around 650 students in the first semester and 350 in the second, are all assessed using CodeRunner questions. However, it is also possible to configure CodeRunner questions so that the mark is determined by how many of the tests the code successfullyĬodeRunner has been in use at the University of Canterbury for over seven years, running millions of student quiz question submissions in Python, C, JavaScript, PHP, Octave and Matlab. Is able to solve successfully and then secondarily by how many submissions the student makes on each question. The mark for a set of questions in a quiz is then determined primarily by which questions the student In the typical 'all-or-nothing' mode, all test cases must pass if the submission is to be awarded any marks. Regardless of the behaviour chosen for a quiz, CodeRunner questions always run in an adaptive mode, in which students can click a Check button to see if their code passes the tests defined in the question. CodeRunner questions have also been used in other areas of computer science and engineering to grade questions in which many different correct answers are possible and a program must be ![]() That code is then graded by running it in a series of tests. By far the most common use of CodeRunner is in programming courses where students are asked to write program code to some specification and Combinator template graders give you total control of the entire grading process and the feedback delivered to the student.CodeRunner is a Moodle question type that allows teachers to run a program in order to grade a student's answer. However, the longer answer is that you can if you want write a template grader for a question or question type it can catch the runtime error and simply return a 'wrong answer' result (i.e. I guess the short answer is: no, testing is always aborted if a runtime error occurs. In the example you show, the student has pasted in the test code as well as the function they were asked to write, so will get the same error on every test. Worse still, if it's a timeout error, say because the student code is looping, it can lead to very long run times if there are lots of tests and each one has to run until the timeout limit is reached. There's not much point in repeating the same error over and over - the student already has 0 marks, at least with an all-or-nothing grading scheme, and will have to resubmit anyway. The student code is probably badly broken and the same error is likely to occur on all subsequent tests too. ![]() It isn't usually appropriate to continue testing after a runtime error has occurred.
0 Comments
Leave a Reply. |