Download BACHELOR THESIS
Transcript
2. Code Examiner Before implementing an application, it would be appropriate to look at already existing applications with the same goals and analyse their merits and faults. However, even extensive Internet search revealed no reference to such an application. Fortunately, there is a similar project developed right at the Faculty of Mathematics and Physics of Charles University in Prague (MFF UK), that has been released just recently. Its name is Code Examiner (CodEx) and its properties are describe in full in [1]. CodEx also deals with management of homework assignments, but it is focused on programming courses, and problems in programming courses form a very specific class of problems from the correction point of view. Generally, homework is "simple"; there is one set of input data and the task is to find the corresponding output. What is specific about programming problems is the fact, that their "input" is a whole class of input data sets. The solution of a programming problem is a program able to find the corresponding output for any input from the defined class. While going over the solution of a "simple" problem should provide an accurate notion whether it is correct or not, programming problem solutions usually need to be "tested", i.e. run on multiple sets of input data prepared with potential solution flaws in mind. Automation of testing is the main focus of CodEx. There are many similarities between CodEx and the proposed AMS. CodEx is an application that allows teachers to post homework problems, set up correction mechanisms, and assign problems to students with specific deadlines. Also, it allows students to hand in their solutions and have them automatically corrected. But in spite of the similarities, the focus of AMS is quite different from the focus of CodEx. The differences between the model scenario used by CodEx and the scenario used by AMS (further referred to as the "proposed scenario") are described below. 2.1 Lecturer & Tutor vs. Group Owner The first notable difference is the fact that CodEx recognizes only a single unified “group owner” instead of the proposed two-tiered teacher hierarchy (lecturer-tutor). In CodEx, problems are created by group owners as either "public" or "private", where the public ones can be used by any group owner while the private ones can be used only by their creator. This scenario is simpler, which is obviously beneficial. On the other hand, its drawback is the lack of support for multiple parallel courses, each containing multiple groups of students. As a consequence, it is impossible to share problems between the groups inside a single course while not exposing them to other courses. This drawback can be bypassed by having a separate instance of 9