The Code Mangler
Nick Cheng, Brian E. Harrington · 2017
Marking coding exam questions for introductory computer science courses is notoriously resource intensive and difficult to perform consistently. Students can be easily led astray by minor misunderstandings in the wording of questions, and graders often find it difficult to decide whether mistakes are attributable to simple misinterpretations, minor memory errors, or major lack of ability/understanding of the core concepts being evaluated. In this paper we detail and evaluate "Code Mangler" questions. The "Code Mangler" is a fictitious character who manipulates code; removing commenting, changing the order of lines, adding bugs, and otherwise breaking perfectly good code. The role of the student on the exam is then to use the mangled results to reverse engineer the original code. We discuss the benefits of this style of question, and perform an evaluation on a large (475 student) CS1 course, demonstrating that these questions are less resource intensive to mark than traditional coding questions, improve the confidence of the graders, and correlate strongly with student ability as assessed in traditional question styles.