WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
A noughts and crosses Java applet to teach programming to primary school children
PPPJ '03 Proceedings of the 2nd international conference on Principles and practice of programming in Java
Self-plagiarism in computer science
Communications of the ACM - Transforming China
Software engineering as a model of understanding for learning and problem solving
Proceedings of the first international workshop on Computing education research
Communications of the ACM - Hacking and innovation
GPLAG: detection of software plagiarism by program dependence graph analysis
Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining
Crossroads
Towards a Definition of Source-Code Plagiarism
IEEE Transactions on Education
Shared information and program plagiarism detection
IEEE Transactions on Information Theory
CodeWave: a real-time, collaborative IDE for enhanced learning in computer science
Proceedings of the 43rd ACM technical symposium on Computer Science Education
Beyond plagiarism: An active learning method to analyze causes behind code-similarity
Computers & Education
Hi-index | 0.00 |
In general, university guidelines or policies on plagiarism are not sufficiently detailed to cope with the technical complexity of software. Software plagiarism can have a significant impact on a student's degree result, particularly in courses were there is a significant emphasis on large-scale projects. We argue that a policy for software reuse is the most explicit, and fair, way of overcoming this problem. In our policy, we specify the notion of software to cover all the documents that are generally built during the engineering of a software system -- analysis, requirements, validation, design, verification, implementation and tests. Examples are used to show acceptable and unacceptable forms of reuse, mostly at the design, testing and implementation stages. These examples are represented in Java, although they should be easily understood by anyone with software engineering experience. We conclude with a simple code of practice for reuse of software based on a file-level policy, combined with emphasis on re-using only what is rigorously verified.