CodeRunner can support any text-based programming language. Figure 1: What grade is this worth? acm Inroads 47Ģ Coderunner: A Tool for Assessing Computer Programming Skills CodeRunner provides a flexible penalty regime that allows authors to tailor the grading to the context for example, one might have some questions that apply no resubmission penalties, some that allow one or two free submissions followed by an increasing 10% penalty for each subsequent wrong submission, and others that apply a 100% penalty for even one wrong submission. This article introduces a new tool that helps with all these different assessment requirements. In introductory programming courses we usually also assess laboratory and assignment work. Examinations are just one aspect of assessment. Only then is it fair for us to run their code and use correctness tests as our measure of their ability. To assess programming skills, we should provide students with an authentic programming environment in which they can develop and test their code. Few programmers get their code correct on the first try testing and debugging is an integral part of the programming process. We pity the marker faced with grading code like that in Figure 1, but shouldn t we be even more sympathetic to the student who had to write it? Modern programming is an on-line process involving interaction between the programmer and the computer. A key assumption behind CodeRunner is that the quiz in which the questions appear is running in Moodle s adaptive mode, which gives students immediate feedback on the correctness of their answer and allows them to resubmit for a penalty. Students develop and test their code using a normal development environment and submit the code to CodeRunner through a web browser only when they believe it is correct. For example, there will almost certainly be errors in the code how do we know whether the student would be able to correct those errors or not? INTRODUCING CODERUNNER CodeRunner is a free and open-source Moodle question-type plug-in that lets teachers set questions where the answer is program code. With sufficient effort one can get some idea of whether the general idea is correct, but to assess programming skill we need much more than this. It is nearly impossible to meaningfully grade such code. I've now discovered, a year or two later, that that bit of my logic was badly broken and in fact I was never re-using test results.1 CONTRIBUTED ARTICLES Coderunner: A Tool for Assessing Computer Programming Skills By Richard Lobb and Jenny Harlow, How should we assess programming skills? Asking students to write code in a traditional hand-written exam can produce results like those in Figure 1. I also attempted to re-use any existing test results if the question answer had not changed. This allows me to render the full results output whenever the page gets drawn or redrawn. I then subclassed qbehaviour_adaptive to qbehaviour_adaptive_adapted_for_coderunner so that it stored those test results via a call to $pendingstep->set_qt_var(.). Since I wish to record the results of all the test cases, I modified my question::grade_response() method to return all the test case output in addition to the usual grade and question state. You may recall that I always use CodeRunner in an adaptive mode, as students need to check the code of each question as they go. I wonder if you'd mind helping me with a small design question relating to my CodeRunner question type, please?įirst a bit of (slightly embarrassing) background, if you don't mind.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |