Checking for plagiarism in C, C++ and C# programming assignments.
Articles
October 6, 2020

How to check for plagiarism in C, C++ or C# (C-sharp) source code

In 30 seconds...

Almost all computer science degrees teach students some language from the C-family of programming languages. These languages are well known, industry standard and very versatile, and thus a great addition to the skillset of any STEM student. The C programming language is often taught in low-level programming or data structure courses, whereas C++ is a great programming language for parallel programming, performance heavy tasks and gaming. Finally, C# (or C-sharp) is often taught as an introductory language or as part of a game development course in Unity.

With more and more students doing programming assignments in C, C++, C# or other C-family languages, it has become more important to maintain academic integrity in source code submissions 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. Want to also automatically grade your C# assignments? Click here to learn more about autograding C# code using unit tests!

Start using CodeGrade for your C, C++ or C# course now!

With CodeGrade, teachers can finally check for plagiarism on C, C++ and C# 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 common languages from the C-family, in addition to many other common programming languages including Java, 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 function names
  • Adding or removing documentation
  • 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 Check or xUnit for unit testing), instant feedback to students, tools for efficient manual grading, intuitive rubrics, powerful analysis tools and peer feedback for code.

Devin Hillenius

Devin Hillenius

Co-founder, Product Expert
Devin is co-founder and Product Expert at CodeGrade. During his studies Computer Science and work as a TA at the University of Amsterdam, he developed CodeGrade together with his co-founders to make their life easier. Devin supports instructors with their programming courses, focusing on both their pedagogical needs and innovative technical possibilities. He also hosts CodeGrade's monthly webinar.

Continue reading

Could Natural Language Programming change the future of coding for the better?

We can all agree, coding is hard. But, imagine if one tool could simplify the process? In this blog, Sam discusses OpenAI Codex, a platform that translates natural language into code, using AI. Could this be the start of a new era of coding?

Do you know the 3 types of coders and their needs?

Learn how to identify the three types of coders: students coding to understand, students coding as a skill and those learning coding as a career. We also explain the needs of these groups and how you can best tailor your code classroom to them.

New release CodeGrade PerfectlyNormal.2 and Happy Holidays from CodeGrade!

Happy Holidays from Team CodeGrade! We recap 2021 and would love to tell you about CodeGrade PerfectlyNormal.2, improving the Peer Feedback feature and making CodeGrade even more efficient!

Using NBGrader for Python Jupyter notebooks in CodeGrade

Learn how to autograde Python Jupyter Notebooks using the NBGrader tool in CodeGrade to give your students instant feedback.

Learn more about CodeGrade!

Grow your coding classroom
without compromise.