Checking for plagiarism in Java programming assignments
Articles
December 7, 2020

How to check for plagiarism in Java source code

Many teachers choose to teach their students the Java programming language. It is a great foundation for any computer science or software engineering studies and one of the most popular and versatile languages. It serves as a great language to introduce students to Object Oriented Programming and a strongly typed language. But also more advanced courses in mobile application development, big data or enterprise software engineering often use Java, teaching tools such as Android Studio and Kotlin for app development and Apache Hadoop in big data and distributed computing courses.

With more and more students doing their assignments in Java, it has become more important to maintain academic integrity in the Java source code too. Detecting plagiarism is important not just to avoid having plagiarised source code but also to encourage students to learn, practice and test their own programming skills by submitting original content. 

We see that teachers unfortunately often still have to skip checking for plagiarism, as it is simply impossible to manually check for plagiarism in student submissions in all the student submissions and using separate plagiarism checker tools is found to be too cumbersome. Having to manually copy and paste source code to another tool and manually parsing results often only increases an already huge workload of teachers. Because of this, teachers often do acknowledge the importance of detecting plagiarism, but simply lack the time to do so effectively.

Start using a learning platform especially designed to teach programming!

With CodeGrade, teachers can finally check for plagiarism on Java source code with only a single click. CodeGrade is integrated directly into your learning management system (such as Canvas, Brightspace, Moodle, Blackboard and Open edX) so that all source code is directly taken into account in the plagiarism check and results are easily accessible via your LMS with our intuitive side-by-side comparison view. The CodeGrade plagiarism detection software works with all Java versions, Android Studio and Maven projects and when using frameworks like Swing or Hadoop, in addition to many other common programming languages including C, C++, C#, Python, Jupyter Notebooks, PHP, R, Scala and JavaScript.

Unlike other plagiarism detection tools, CodeGrade’s plagiarism checker is designed especially for source code: it does not simply check literal similarities in text, but looks for similarities in code structure after parsing and compiling the code. Additionally, it allows you to upload template code to ignore or include source code from third parties in your plagiarism check. This helps it easily detect students’ plagiarism, even when students try common tricks like:

  • Changing variable or method names
  • Adding or removing documentation and Javadoc
  • Altering the order of lines
  • Adding dummy code

Plagiarism detection is just one of CodeGrade’s many tools designed for computer science education. Next to our plagiarism checker, CodeGrade features autograding (even with tools like JUnit), instant feedback to students, tools for efficient manual grading, intuitive rubrics, powerful analysis tools and peer feedback for code.

Continue reading

Best Practices for Rubric Design in Coding Assignments

Discover best practices for rubric design in coding education. Learn to align rubrics with learning objectives, use automated tests, and explore ungrading for fairer, growth-focused assessments

Watch now! How to teach Python

Watch our 2024 webinar for updates on the Introductory Python course, including new modules, knowledge checks, and grading automation with CodeGrade.

Follow A New User!

See how CodeGrade streamlines grading and improves assignment design in programming courses.

How to configure an AI Assistant for code

CodeGrade’s AI Assistant offers a flexible way to support coding education through tailored guidance and feedback. This guide explains how to configure and customize the assistant to fit your teaching goals, from helping students debug code to providing conceptual explanations.

Sign up to our newsletter

Transform your Jupyter Notebooks course today!