identification of divergent or non-desirable
situations in the educational process. Students
following the “Programming Methods” study
module in the 2nd year of Ingeniería Técnica en
Informática de Gestión [Technical Engineering in
Computer Science] complete practical assignments
using the programming language Java. Throughout
the four months of the study module, students have
to develop two assignments - P1 and P2 - either
individually or in pairs, following the design
specifications as proposed by the teachers.
The first, P1, is collected in December and the
second, P2, at the end of the first four months, in
January. The second assignment entails making
improvements to the first, includes new functions
and applies the techniques learnt during the final
stages of the study module. The practical assignment
for the study module consists in the partial
implementation of games.
3.1 Comparison of Practical
Assignments
The primary datasets were constituted by
comparisons of source code written in Java that were
extracted by the “JDup” tool (Marticorena et al.,
2008). The JDup tool generated the relevant
comparisons, crossed by pairs from the 60 P1 and
the 50 P2 practical assignments (1800 and 1250
respectively). JDup comparisons are made by
establishing a minimum match length of 7 tokens.
The software tool compares tokens, snippets of
code, and evaluates their percentage similarity. It
was designed to detect plagiarisms (measured
similarity in the region of 100%). The analysis of the
entire spectrum of values of the set of comparisons
was attempted in this work. Although in the first
sample examined (December 2007), duplicate
practical assignments could be identified, and the
results were corroborated by direct checks
(reviewing the code, personal interviews, etc.),
neither the validity of the method nor the validity of
the possible approximations used in the tool to
improve the performance of the algorithm were
formally tested. As opposed to the trivial possibility
of a normal distribution, the detection and reiteration
of clear groupings in the present work was taken as
proof of the tools effectiveness.
3.2 Code Metrics
There are a series of measures that are widely used
as evaluation indicators of software programmes. In
this work, code metrics taken from a freeware tool
called SourceMonitor were used (Campwood
Software, 2007). SourceMonitor values are actively
and effectively used for the characterisation and
quantification of development effort in Computer
System projects in the final year of Computer
Engineering; projects that are much more diverse
and very different. They allow objective
comparisons, even between student intakes over
recent years.
Table 1: Metrics calculated by SourceMonitor.
Statements
Percent Branch Statements
Method Call Statements
Percent Lines with Comments
Classes and Interfaces
Methods per Class
Average Statements per Method
Maximum Method Complexity
Maximum Block Depth
Average Block Depth
Average Complexity
The metrics, listed in Table 1, assess the size, the
structure and the complexity of the code, although in
our case, as the students all work on a shared design
set by the teachers, some of the above metrics did
not initially appear relevant. It was expected that the
measurements of branch statements and complexity,
or even the total number of lines, would be the most
discriminatory when distinguishing between the
practical assignments and the programming models
proposed by the students.
These measurements were used alongside the
representations generated by the comparison of the
projects, and at the same time were independently
treated with the same analytical techniques.
3.3 Data Preparation
The first group of practical assignments was
corrected in December 2007, after the students had
handed them in. The list generated by the JDup tool
from the 60 assignments generated a longer list of
1800 comparisons which were ordered by degree of
similarity. The reference solution prepared by the
course teachers was included in the analysis. Having
detected cases of plagiarism subject to sanctions,
which appeared at the top of the list, the rest of the
data were not directly interpretable by the teachers.
In a search for analogies with other datasets
under study, the list was transformed into a
symmetrical matrix. The comparisons were arranged
A CODE-COMPARISON OF STUDENT ASSIGNMENTS BASED ON NEURAL VISUALISATION MODELS
49