<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Plagiarism Detection in Algorithms - a Case Study Using Algorithmi</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>António Manso</string-name>
          <email>manso@ipt.pt</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Célio Gonçalo Marques</string-name>
          <email>celiomarques@ipt.pt</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vitor Alencar</string-name>
          <email>student 21737@ipt.pt</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Paulo Santos</string-name>
          <email>psantos@ipt.pt</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Degree Programme in Computer, Engineering, Instituto Politécnico de Tomar</institution>
          ,
          <country country="PT">Portugal</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Techn&amp;Art - Instituto Politécnico de</institution>
          ,
          <addr-line>Tomar</addr-line>
          ,
          <country country="PT">Portugal</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Techn&amp;Art - Instituto Politécnico de</institution>
          ,
          <addr-line>Tomar</addr-line>
          ,
          <country country="PT">Portugal</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Techn&amp;Art - Instituto Politécnico de</institution>
          ,
          <addr-line>Tomar</addr-line>
          ,
          <country country="PT">Portugal</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Learning to program is crucial in computer science degree programmes. For students to gain this skill, they need to practise a lot, since programming is a difficult and complex process and practice improves it. The courses "Algorithmics" and "Introduction to programming" have therefore become almost insurmountable barriers with high failure rates. To overcome these barriers, researchers have sought to find new ways of teaching. For their part, students have looked for ways to succeed with less effort by repeatedly resorting to plagiarism. The need for classes to be taught remotely due to the pandemic has further aggravated this problem. To fight it, we created the Algorithmi tool and equipped it with a plagiarism detection module. This tool promotes stand-alone study by allowing self-correction of the exercises whilst validating authorship. This paper presents a case study on the application of the plagiarism module to the exercise resolutions submitted by the students in their personal repository. Through the analysis of the results obtained we can conclude that there was a high rate of plagiarism. The current version of the tool needs to be extended with new features, not only to become more accurate, but above all to prevent plagiarism from happening.</p>
      </abstract>
      <kwd-group>
        <kwd>Algorithmi</kwd>
        <kwd>Learning Systems</kwd>
        <kwd>Programming Languages</kwd>
        <kwd>Algorithms</kwd>
        <kwd>tutor</kwd>
        <kwd>assessment</kwd>
        <kwd>plagiarism detection</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>INTRODUCTION</p>
      <p>
        Programming is the art of making computers to solve
problems automatically. For this to happen the programmer
needs to have knowledge of problem-solving and
computational logic and master the programming language. A
task which is “considered difficult, complex and categorised
as part of the seven grand challenges in computing education”
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. We are therefore facing a challenge that is not met by most
students in the introductory programming modules, leading to
high failure rates [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. A situation that affects student
willingness to participate and makes class management
increasingly difficult. Introductory programming modules
already have many students due to the demand for
professionals in these areas and school failure further
aggravates the problem.
      </p>
      <p>
        This scenario has led many researchers to look for new
methodologies, strategies and tools to overcome the problem
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>Simultaneously, students also try to find other ways to
succeed in the module, including plagiarism.</p>
      <p>
        Several studies indicate that academic misconduct, and in
particular plagiarism, is particularly problematic in the
courses of programming [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>Plagiarism is defined as the action of copying someone
else's work or ideas without giving them credit for it.
The existence of the Internet with original contents indexed,
searchable and cloneable makes plagiarism accessible at the
distance of a click. On the other hand, the existence of
equipment and instantaneous communication applications
such as smartphones facilitates the plagiarism of exercises
with the transmission of answers to questions between
students in an irregular way. In a regular classroom context,
these factors can be eliminated or at least diminished through
the presence and control of the lecturers. When their presence
is not possible (as was the case during the confinement
induced by the COVID-19 outbreak), these factors contribute
to the increase of plagiarised works from the original sources
and among the students.</p>
      <p>Intensive practice is the best way for students to learn how
to program correctly because it improves abstract thinking for
complex problem solving. The need to perform many
exercises in conjunction with overcrowded classes means that
validation of the authorship of the exercises cannot be done
manually by the lecturers in charge. This makes plagiarism
the fastest and easiest way for students to succeed.</p>
      <p>The pandemic outbreak caused by COVID-19 and the
need for classes to be held remotely has further aggravated this
situation, leading to the need for a tool that allows stand-alone
coursework and detects plagiarism. It is in this scenario that
the Algorithmi's plagiarism detection module appears.</p>
      <p>This paper presents a case study of the use of the
Algorithmi tool in students' answers to programming
exercises in the course “Introduction to Programming” of the
school year 2019/2020.</p>
      <p>We start by addressing the issue of plagiarism, and then
explain how Algorithmi detects plagiarism. The case study
and the research conclusions are described below.</p>
      <p>II.</p>
      <p>PLAGIARISM</p>
      <p>
        According to [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], there are four categories of plagiarism:
accidental, where there is no knowledge both of the attitudes
characterised as plagiarism and the understanding of
practices of citation and/or reference practised by the
different educational institutions; unintentional, where the
great amount of information available can, in a certain way,
"influence thoughts and the same ideas can arise through
spoken or written expressions"; intentional, where the
complete work or part of the work of another person is
intentionally copied without mentioning the original author
and; autoplagiarism, where the author uses his/her own
complete work or part of it already published for other
purposes without citing the original.
      </p>
      <p>
        There are several implications regarding the practice of
plagiarism, some of these implications in the academic field,
according to [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] are: reputation of faculty members and
students, legal issues, financial implications and plagiarised
research. In other words, in general, the act of plagiarism is
considered illegal and can result in severe punishment, such
as the imposition of fines, restriction of professional practice
in a certain position and even imprisonment.
      </p>
      <p>
        The project Impact of Policies for Plagiarism in Higher
Education Across Europe (IPPHEAE), which took place
from October 2010 to September 2013, makes a comparison
of policies for academic integrity in Higher Education in the
European Union [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In this study, a "maturity level" was
calculated for each country using an Academic Integrity
Maturity Model (AIMM). Portugal was ranked 12.79/36,
18th out of the 27 countries involved in the study. In addition,
it was found that: 1) Many of the faculty members and
students who responded to the survey did not understand very
well what is considered plagiarism; 2) few Portuguese
Universities use software to verify the originality of the work
submitted by students; and 3) 77% of the faculty members
and 79% of the students interviewed showed interest in
having more training and information to avoid plagiarism and
academic fraud.
      </p>
      <p>
        The scenario where students and faculty have no
knowledge about conduct that may constitute plagiarism or
fraud is worrying, because in addition to the legal
implications, plagiarism can also affect student learning,
considering that the simple fact of "copying and pasting"
inhibits critical thinking and the development of logical
reasoning. According to [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], in students' perception, the
practice of plagiarism occurs because: they think that their
practice of plagiarism will not be detected; it is very easy to
copy and paste information from the Internet; ignorance
about how to quote and provide references, the objective is to
complete the coursework rather than focusing on learning;
not being able to express other people's ideas and other
coursework in their own words; not being able to deal with
the workload; not being aware of the penalties related to
plagiarism; not having control on the part of the lecturer
regarding the detection of plagiarism; among other causes.
      </p>
      <p>
        In addition, [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] identified possible negative
emotions that can predict plagiarism conduct such as stress,
depression or anxiety.
      </p>
      <p>
        The most common methods of plagiarism according
to [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], are: copy and paste a certain content word by word,
plagiarise an idea, reaffirm the same content using synonyms
or changing the order of sentences, artistic plagiarism, not
citing or referencing the original work, not using quotation
marks (“ ”) when the content used is exactly the same as the
original content, use of incorrect or non-existent sources and
references, translation of content without reference to the
original work and, finally, plagiarism of source code, the
main focus of this work.
      </p>
      <p>A. Plagiarism Detection in Source Code</p>
      <p>
        As already mentioned, plagiarism does not occur only in
textual documents, or image files, but also in source codes.
According to [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], beginner programmers often send
plagiarised codes in practical tasks during the introductory
programming modules.
      </p>
      <p>
        The possible reasons for the practice of plagiarism as
described by [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] are: 1) difficulty level of the
exercise higher than the student's programming level; 2)
interest of the student in minimising a large amount of the
task by plagiarising the task of the colleagues; 3) insufficient
time for the completion of the exercises; 4) fear of failure, 5)
lack of interest on the part of the student regarding practical
tasks; 6) lack of merit/recognition and 7) inadequate
resources such as hardware, software, library, teaching staff,
among others.
      </p>
      <p>There are several approaches in the literature regarding
the detection of plagiarism, varying in implementation style
and source code. Above all, it is important to emphasise
initially the difference between detecting plagiarism in text
files and in files derived from codes and algorithms.</p>
      <p>
        According to [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] the verification in text files consists
essentially in looking for direct similarities, verifying the
similarity "line by line" in relation to some other text.
      </p>
      <p>
        Text file detectors are not effective for verifying
similarities between source files because this approach
cannot verify changes made to the copied code such as
changing variables and possible changes to the structure of
the document [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. When checking for plagiarism in files
defined as "source code", which are described by languages
and code structures, they are notoriously different and need
to undergo a modelling process in order to be able to compare
them with other source files.
      </p>
      <p>This modelling process usually follows some pre-defined
steps that are established based on each objective and need.
These factors may vary depending on the wide variety of
plagiarism detectors available on the market. The most
common practices for plagiarising source code files imply
changing the code. Such practices range from changing the
name of variables to inserting redundant code snippets.
Figure 1 illustrates some of the most common techniques in
source code plagiarism. In literature, these practices are
characterised by "blinding methods", where the plagiarist
aims to hide code snippets that are originally from another
person.</p>
      <p>
        Determining the level of similarity between two source
codes is a difficult task and several automatic tools have been
developed to help lecturers in the arduous task of detecting
cases of plagiarism. Examples of these software tools are
MOSS (Measure of Software Similarity) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and Jplag [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
These tools use advanced techniques to compare small
fragments of source code at the syntactic level, calculating
the fingerprint of a code segment, using the winnowing
algorithm. These tools implement mechanisms that allow the
detection of plagiarism using the obfuscation techniques
presented in Figure 1.
      </p>
      <p>III.</p>
      <p>PLAGIARISM DETECTION IN ALGORITHMI</p>
      <p>Algorithmi is an information system to support
learning programming consisting of a multi-platform
application (IDE) designed to help students take their first
steps in programming and a server which provides various
services that can be accessed directly from a web browser,
Figure 2.</p>
      <p>The IDE not only shows and allows editing the
flowchart and pseudocode, but also allows the display in
several programming languages (Python, Java, C, C++, C#,
PHP and JavaScript), Figure 4.</p>
      <p>
        The server component is available through registration
and authentication in the same domain. The server used was
implemented with open-source technologies Apache,
MySQL and PHP that allow the provision of various features
to the information system. This server provides services that
access a common database: Backoffice - a web application
used by faculty, Frontoffice - a web application where
students can find solved problems and their score, and an API
- a set of REST web services ttha includes plagiarism
checker.
The application is available for free at
www.algorithmi.ipt.pt, and allows students to encode the
algorithms using flowcharts or pseudocodes. The application
internally uses a marker-based language, GAL (Generic
Algorithm Language) [
        <xref ref-type="bibr" rid="ref16 ref17">16</xref>
        ], which is translated into the
student's natural language for editing and viewing. This way
the algorithm can be viewed and edited in different natural
languages such as Portuguese, English or Chinese.
      </p>
      <p>The GAL language supports the definition of simple and
indexed variables of several types: integer, real, logical and
text; it has I/O console instructions; it allows to control the
execution flow through decisions and iterations and supports
the definition of subalgorithms which can be recursive. This
set of instructions allows coding complex algorithms through
a set of tools designed for teaching and learning algorithms.</p>
      <p>The algorithm can be edited in both languages and its
visualisation can be displayed simultaneously as shown in
Figure 3.</p>
      <p>The backoffice component is used by faculty to create and
make available programming exercises that can be accessed
through the IDE, provided that the student is authenticated in
the information system. The programming exercises can be
corrected automatically and, in case of errors, the IDE
provides a description of the errors made by students. This
feature is particularly important in order to promote
autonomous learning by students, as the IDE helps students
verify that their algorithms are correct, and provides clues for
their resolution.</p>
      <p>After solving the exercises, the students submit them to
the server that stores them in the student's personal
repository. The student can visualise the resolution of their
exercises in a web environment using the same tools as the
IDE: flowchart, pseudocodes or programming languages; and
can also execute them by translating them into Javascript
embedded in a web page.</p>
      <p>Figure 3 - Simultaneous editing and display of an
algorithm.
a)
b)</p>
      <p>Figure 5 - Programming exercise: a) Problem
Statement; b) Automatic correction of the exercise by the</p>
      <p>IDE.</p>
      <p>A. Plagiarism control in Algorithmi</p>
      <p>
        Algorithmi encourages stand-alone programming through
the exercise assessment tool and the tutorial system that
identifies errors. Problem repository is one of the forms of
assessment that can be used to assign a score to students, and
the provision of a roll of honour listing the names of the
students with the highest scores. Gamification is a key
component in learning environments to maintain students’
motivation to solve more complex exercises [
        <xref ref-type="bibr" rid="ref16 ref17">16</xref>
        ] [
        <xref ref-type="bibr" rid="ref18">17</xref>
        ].
      </p>
      <p>The pressure to get a good score in the repository and the
opportunity to belong to the roll of honour make students
plagiarise some coursework. The IDE provides some tools
that limit source code plagiarism. The exercises provided by
the server to the IDE are marked with the username which
prevents other students from taking them as their own. The
exercise delivery and assessment module is only available for
authenticated users and the programs of that user. The other
tool that prevents plagiarism is the cut and paste tool. Pasting
from software programmes within and outside Algorithmi are
only allowed within software programmes of the same user.
This way we prevent the source code from being shared
between users.</p>
      <p>With the help of these two features we can ensure that the
algorithm was built by the authenticated user, but we can not
ensure that it was not copied from another user.</p>
      <p>In order to inform the lecturer of this type of plagiarism,
we introduced the plagiarism detection module in the
information system to compare the similarity between the
resolutions of the students submitted in their repository. The
module was developed using JPlag (sources available at
https://github.com/jplag/jplag) which communicates with the
information system through a web service. Due to the
Algorithmi's ability to convert the algorithm into various
programming languages, we use the Java language to
compare source codes and detect plagiarism.</p>
      <p>The service receives as passing parameter two
programmes in Java and returns a number in the interval
[0.100] that represents the plagiarism prevalence rate. The
results are presented through the backoffice with the results
of the plagiarism prevalence rate for each programming
exercise and with aggregate information for each worksheet
and for each student.</p>
      <p>CASE STUDY</p>
      <p>This section analyses the application of the plagiarism
module to the exercises submitted in the course “Introduction
to Programming” of the CteSP programme in Information
Systems Technologies and Programming offered at the
Escola Superior de Tecnologia de Tomar - Instituto
Politécnico de Tomar. The course covers the basic
programming concepts: variables, operators, functions and
control flow. One of the assessment components of the course
is made based on the portfolio of programming exercises
submitted by students. The exercises are divided into 15
worksheets with a total of 480 different exercises which cover
the various subject contents. In each worksheet, the exercises
have difficulty levels:
o Demonstration - Solved exercises and problems that
are provided to students to demonstrate a new concept.
These exercises are crucial for stand-alone learning
and students can edit them in order to check the
outcome of these changes.
o Easy - Exercises that are easy to solve and are usually
variants of demonstration exercises.
o Normal - Medium-difficulty exercises
o Difficult - High-difficulty exercises where algorithmic
techniques are explored, especially in the limit cases.
o Challenging - Challenging exercises whose resolution
depends on the combination of several complex
algorithmic techniques</p>
      <p>The greater the difficulty of resolution, the more points
the student earns, improving his ongoing assessment
component and consequent rise in the roll of honour position.
Plagiarism in demonstration exercises is almost 100%. The
lecturer-in-charge provides the resolution, the students can
then execute and submit it and consequently the resolutions.</p>
      <p>Figure 6 gives the plagiarism prevalence rate of an easy
exercise solved by 18 identified students from S01 to S018,
and whose plagiarism indexes were provided by the
plagiarism detection module. The numerical information is
presented in tabular form with the plagiarism prevalence rate
between each of the submissions for the same exercise,
together with a colour that ranges between green and red for
easier reading of the results. By the empirical analysis of the
preliminary results we consider that two algorithms are
plagiarised if their similarity is equal to or higher than 90%.
This information is presented in the last row and in the last
column of Figure 6 and is useful to verify the degree of
originality of the resolution of the exercise. In Figure 6 we
can see that there are 10 resolutions that the system identifies
as plagiarised and one that differs from all the others. This
plagiarism prevalence rate is natural, since it is an easy
exercise based on a similar demonstration problem.
exercise. Due to the complexity of the algorithm that solves
the exercise, the cases identified as plagiarism will be really
plagiarism. In that figure we can identify a set of students who
have a degree of similarity of 100% and a set of unique
resolutions.</p>
      <p>The previous figures present various information about
the rate of plagiarism of worksheet exercises. The course has
a strong component of stand-alone work and the great
majority of the exercises are completed outside the contact
hours, however the students continue to maintain contact with
each other. Since Algorithmi does not allow you to make full
copies of exercises, even if students exchange solutions with
each other, they will have to edit the algorithms themselves.
For these reasons, the plagiarism rates of the exercises in the
worksheets are high.
assessed practical test. Assessed practical tests are done
individually during the contact hours and in the presence of
the lecturer. The class is divided in shifts to increase the
physical distance between students and the time for solving
the exercises is limited. From the results presented in Figure
8 we can see that the plagiarism prevalence rate has
decreased, however we can see that there are at least three
resolutions that the system has identified as 100% plagiarism.
Alunos S01 S02 S03 S04 S05 S06 S07 S08 S09 S10 &gt;=90%
S01
S02
S03
S04
S05
S06
S07
S08
S09
S10
&gt;=90% 2
100
51
70
60
51
52
84
51
100
41
51
100
51
46
100
81
49
60
51
61
2
100
70
51
60
51
52
84
51
100
41
2
100
60
46
60
46
47
58
46
60
53
1
51
100
100
51
46
81
49
51
61
3
100
100
52
81
52
47
81
50
81
52
63
1
84
49
84
58
49
50
49
84
39
1
100
51
60
51
46
81
49
51
61
2
100
100
100
51
100
60
51
52
84
51
41
3
100
41
61
41
53
61
63
39
61
41
100
1
2
2
2
1
3
1
1
2
3
1
1,8</p>
      <p>Student portfolios consists of more than 7,000 exercises
evaluated by the Algorithmi module to obtain a grade and by
the plagiarism module to obtain the similarity index.
Figure 9 gives an overview of average plagiarism in each
student's exercises and the percentage of exercises solved.
The overwhelming majority of students have solved more
than 50% of the proposed exercises and more than half have
solved more than 90%. This statistic shows the work and
commitment of the students in solving the exercises and
because "you only learn to program by programming" the
result was reflected in the score of the repository.</p>
      <p>Another important conclusion is that the plagiarism
prevalence rate varies according to the number of exercises
solved by the students. Students with fewer solved exercises
tend to plagiarise more, due to their learning difficulties.
Since Algorithmi doesn't let you make direct copies and
deliver them as your own, plagiarising takes work and
students replace the work of thinking and creating with the
work of copyists that is far less rewarding.</p>
      <p>Average levels of plagiarism have always remained high, in
the order of 80%, which suggests a high rate of plagiarism.
was designed to increase the effectiveness of this system for
teaching/learning computer programming.</p>
      <p>This module was applied to the course which was
taught in the first semester of the school year 2019/2020 to
check the rates of plagiarism in the students repository.</p>
      <p>It was found that the rates of plagiarism are high,
especially in the worksheets completed outside contact hours.
In assessed practical exercises, whose objective is to assess
knowledge, the plagiarism rates are significantly lower. This
is because the exercises are more difficult, the students have
a limited time for their resolution and were solved during
contact hours. Nevertheless, the system detected several
cases of plagiarism.</p>
      <p>With the COVID-19 forced confinement of students and
staff, in which the majority of teaching was delivered
remotely, the module now developed has assumed greater
significance. The work developed corresponded to
expectations and above all opened new horizons that will be
explored in future versions.</p>
      <p>In the future, we intend to apply the online module where
the system registers and informs the student about the
originality of the submitted code. In the offline version,
whose results we present here, we only know which exercises
are plagiarised, but we do not know the original source. With
the online version, the first exercise to be submitted has a
maximum degree of originality while copies submitted later
will see their originality diminished. This way we intend to
stimulate the development of different algorithms for the
same problem, increasing the gamification already present in
Algorithmi.</p>
      <p>The fact that students realise that the system has a system
that detects plagiarism may serve as a deterrent for them to
avoid less ethical behaviour and channel their energy to the
development of algorithmic reasoning, because in Algorithmi
plagiarism also takes work.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Derus</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Ali</surname>
            ,
            <given-names>A. Z. M.</given-names>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>Difficulties in learning programming: Views of Students</article-title>
          ,
          <source>In 1st International Conference on Current Issues in Education (ICCIE</source>
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Butler</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Morgan</surname>
            ,
            <given-names>M</given-names>
          </string-name>
          , (
          <year>2007</year>
          ).
          <article-title>“Learning challenges faced by novice programming students studying high level and low feedback concepts”</article-title>
          ,
          <source>ASCILATE 2007 Singapore</source>
          , pp.
          <fpage>99</fpage>
          -
          <lpage>107</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Tan</surname>
            ,
            <given-names>P.-H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ting</surname>
            , C-Y, Ling,
            <given-names>S-W</given-names>
          </string-name>
          (
          <year>2009</year>
          ).
          <article-title>Learning Difficulties in Programming Courses: Undergraduates' Perspective and Perception</article-title>
          ,
          <source>In Computer Technology and Development (ICCTD '09).</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Jian</surname>
            ,
            <given-names>H. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sandnes</surname>
            ,
            <given-names>F. E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>Y. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cai</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Law</surname>
            ,
            <given-names>K. M. Y.</given-names>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>On students' strategy-preferences for managing difficult course work</article-title>
          .
          <source>IEEE Transactions on Education</source>
          ,
          <volume>51</volume>
          (
          <issue>2</issue>
          ),
          <fpage>157</fpage>
          -
          <lpage>165</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>H.</given-names>
            <surname>Maurer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Kappe</surname>
          </string-name>
          e
          <string-name>
            <given-names>B.</given-names>
            <surname>Zaka</surname>
          </string-name>
          , Plagiarism - A
          <string-name>
            <surname>Survey</surname>
          </string-name>
          ,
          <source>Journal of Universal Computer Science</source>
          ,
          <year>2006</year>
          ,
          <volume>12</volume>
          (
          <issue>8</issue>
          ), pp.
          <fpage>1050</fpage>
          -
          <lpage>1084</lpage>
          . Available: http://jucs.org/jucs_12_8/plagiarism_a_survey/jucs_12_
          <fpage>08</fpage>
          _
          <fpage>1050</fpage>
          _1084_ma urer.pdf
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>O. P.</given-names>
            <surname>Rajasree</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. H.</given-names>
            <surname>Mangala</surname>
          </string-name>
          e U. T. Sunil
          <string-name>
            <surname>Kumar</surname>
          </string-name>
          ,
          <article-title>An Overview of Plagiarism and Intellectual Property Issues</article-title>
          , National Conference on Academic Libraries in E-learning
          <source>Environment: Role and Prospect</source>
          ,
          <year>2020</year>
          , ISSN:
          <fpage>0474</fpage>
          -
          <lpage>9030</lpage>
          ,
          <fpage>68</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>I.</given-names>
            <surname>Glendinning</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Foltynek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Demoliou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Joswik</surname>
          </string-name>
          ,
          <string-name>
            <surname>L.</surname>
          </string-name>
          <article-title>Stabingis e A. Stulginkis, Comparison of policies for Academic Integrity in Higher Education across the European Union</article-title>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>I.</given-names>
            <surname>Glendinning</surname>
          </string-name>
          , K. Joswik e
          <string-name>
            <given-names>A</given-names>
            .
            <surname>Michałowska-Dutkiewicz</surname>
          </string-name>
          , Plagiarism Policies in Portugal,
          <source>full report</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>I. K</surname>
          </string-name>
          . Tindall e
          <string-name>
            <given-names>G. J</given-names>
            ,
            <surname>Curtis</surname>
          </string-name>
          , Negative Emotionality Predicts Attitudes Toward Plagiarism, Journal of Academic Ethics,
          <year>2020</year>
          ,
          <volume>18</volume>
          , pp.
          <fpage>89</fpage>
          -
          <lpage>102</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Vogts</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>Plagiarising of source code by novice programmers a “cry for help”? 2009 Annual Research Conference of the South African Institute of Computer Scientists</article-title>
          and Information Technologists,
          <fpage>141</fpage>
          -
          <lpage>149</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Vamplew</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Dermoudy</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>An anti-plagiarism editor for software development curses</article-title>
          .
          <source>7th Australasian Computing Education Conference. Retrieved March</source>
          <volume>21</volume>
          ,
          <year>2007</year>
          , from http:// crpit.com/confpapers/CRPITV42Vamplew.pdf
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A. G.</given-names>
            <surname>Liaqat</surname>
          </string-name>
          &amp;
          <string-name>
            <given-names>A.</given-names>
            <surname>Ahmad</surname>
          </string-name>
          . Plagiarism Detection in Java Code. Linnaeus University. School of Computer Science,
          <source>Physics and Mathematics. Retrieved June 26</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Sheard</surname>
            ,
            <given-names>Judy</given-names>
          </string-name>
          &amp; Dick, Martin &amp; Markham, Selby &amp; MacDonald, Ian &amp; Walsh,
          <string-name>
            <surname>Meaghan.</surname>
          </string-name>
          (
          <year>2002</year>
          ).
          <article-title>Cheating and plagiarism: Perceptions and practices of first year IT students</article-title>
          .
          <source>ACM Sigcse Bulletin</source>
          .
          <volume>34</volume>
          .
          <fpage>183</fpage>
          -
          <lpage>187</lpage>
          .
          <fpage>10</fpage>
          .1145/637610.544468.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Schleimer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Wilkerson</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aiken</surname>
          </string-name>
          , A. -
          <article-title>Winnowing: local algorithms for document Fingerprinting</article-title>
          .
          <source>In Proceedings of the 2003 ACM SIGMOD international conference on Management of data. ACM</source>
          ,
          <volume>76</volume>
          -
          <fpage>85</fpage>
          ,
          <year>2003</year>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Prechelt</surname>
            ,
            <given-names>L</given-names>
          </string-name>
          , Malpohl,
          <string-name>
            <surname>G</surname>
          </string-name>
          , Philippsen ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Finding plagiarisms among a set of programs with JPlag</article-title>
          .
          <source>J. UCS 8</source>
          ,
          <issue>11</issue>
          (
          <year>2002</year>
          ),
          <fpage>1016</fpage>
          , .
          <year>2002</year>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Manso</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marques</surname>
            ,
            <given-names>C.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santos</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lopes</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Guedes</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2019</year>
          ).
          <article-title>Algorithmi: Bridging the Algorithms to Natural and Programming Languages.</article-title>
          ,
          <source>in 15th China-Europe International Symposium on Software Engineering Education</source>
          . Lisbon, Portugal, May
          <volume>30</volume>
          -31,
          <year>2019</year>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Manso</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marques</surname>
            ,
            <given-names>C.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santos</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          (
          <year>2019</year>
          ).
          <article-title>Algorithmi IDE - Integrated learning environment for the teaching and learning algorithms</article-title>
          ,
          <source>in 21º International Symposium on Computers in Education (SIIE)</source>
          . Tomar, Portugal,
          <year>2019</year>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Manso</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marques</surname>
            ,
            <given-names>C.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santos</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          (
          <year>2019</year>
          ).
          <article-title>Teaching and Learning How to Program with Algorithmi., in 21º International Symposium on Computers in Education (SIIE)</article-title>
          . Tomar, Portugal,
          <year>2019</year>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>