Header Logo Without Tag

ULPT: How to Cheat on Programming Assignments and Get Away With It

ULPT: How to Cheat on Programming Assignments and Get Away With It Featured Image

Table of Contents

What is cheating, why do folks cheat, how do folks get caught, how do i get away with cheating, you lied to me.

The line for cheating is blurry as it’s context and culture dependent. For example, in a class I teach, it’s not considered cheating to work together on programming projects. However, it is cheating to copy code from a peer or some other source. Depending on the course and the professor, it might be cheating to even talk about code. But then again, how would you know?

With that said, I think folks generally think about cheating as a spectrum of activities. On one end, we have original work. In my opinion, original work does not exist as all work is derivative in some respect. Though, I think we generally define original work as anything that was created from an individual’s own effort, mind, and perspective.

On the other end of the spectrum is outright copying. In other words, an individual would have to take the work of someone else and present it as their own. Very rarely do folks go this far to cheat, but it does happen (I have a story about that; I should write about it sometime).

As a field, developers would probably find themselves further toward cheating on this spectrum than folks of other disciplines. After all, we routinely borrow from online sources such as StackOverflow or this very website. Not to mention that there are hundreds of tools that format, fix, and optimize code for us automatically. Hell, even IDEs suggest code, and with tools like GitHub Copilot available for use, cheating is practically the name of the game. Though, I’m certain that the law is going to step in sooner or later to protect capital and thereby eliminate the beauty of open-source coding.

Regardless, in a classroom, we have to be a bit more strict about our definitions of cheating because we want students to actually understand the code they borrow. As a result, we usually want students to write code on their own without access to other students or online resources.

Therefore, the line is typically: don’t copy code . In other words, it’s okay if a couple students get together to draw some diagrams, but they can never exchange lines of code. After all, we want students to collaborate, but we don’t want them to cheat.

For example, if all educators care about are grades, grades will take precedent over the actual learning. As a result, it doesn’t surprise me that students will do whatever it takes to get a good grade.

Unfortunately, under a system obsessed with grading, we can’t shift away from it as individual educators. Otherwise, our classes will be less important to your students. Collectively, we’ll have to move toward other systems.

Until then, we’re stuck putting on the pressure by including tough assignments with tight deadlines. The average student then has to make a decision: sacrifice other obligations or cheat. In my opinion, both options are bad, but we don’t seem to care if students sacrifice their own time. We only care if they cheat.

Now other educators will be mad at me for giving away the “secret” of how to cheat. But here’s the reality: by telling you what resources you can use to cheat, I’m telling you that educators know about these resources already. You’re not being clever by using them, and you will likely get caught .

With that said, let’s revisit this idea of a spectrum and start by talking about copying. As mentioned already, copying comes in many forms. Students may copy each other’s work and/or the work of someone on StackOverflow or GitHub. Regardless of how the copying occurs, it is perhaps the easiest form of cheating to detect. Ignoring the plethora of automated plagiarism detection tools, copying is usually caught because it triggers a form of deja vu in the grader.

There are a handful of reasons for this feeling of deja vu. For example, folks who copy from online sources usually end up with code that differs significantly from the style of code taught in class. As a result, it’s not only peculiar because it shows up more than once in class, but because it also takes slightly longer to read and grade.

Moving slightly up the spectrum, we find folks who copy and refactor the code. Obviously, this approach is a bit more sophisticated because it involves taking existing code and making changes like swapping out variable names. Unfortunately for the student, this approach is just as easily detected as direct copying for the same reasons. As someone who reads a lot of code, I’m going to notice code structure and problem solving strategies over variables names. Not to mention, the refactor strategy is usually lazy enough to leave in important details like unique comments or another student’s name.

If the main issue with copied code is that it’s structurally too similar to a peer, then the solution is obvious: copy, refactor, and restructure the code. Very rarely have I seen students who have gone this far to cheat, though perhaps that’s because they’ve never been caught. More than likely though, the folks cheating are not skilled enough to take this next step. And if they manage to work this hard to get away with it, then they probably could have just done the assignment.

If you absolutely have to cheat, here’s my advice.

Start by collecting copies of the solution for the particular problem you’re trying to solve from a variety of sources (e.g., GitHub, peers, etc.). The more solutions you can reference, the better.

Next, take some time to reason about each of the solutions . Get a feel for how the individual got their solution to work (or not work). Remember, not everything you see is going to be worth full credit. Just because there was a solution online, does not mean it works. Ultimately, the purpose of reading through each solution is to build up your mental model about how to solve the problem.

If possible, test the solutions for a variety of cases . If you surface any bugs, try to figure out why the code doesn’t work as expected. What did the author do that doesn’t quite work? The purpose of this step is to flex your analysis skills. Knowing good test cases shows a deep understanding of the problem you’re trying to solve.

Finally, now that you fully understand the problem and have a feel for a few ways of solving it, write your own solution from scratch .

“But wait, I thought you were going to tell me how to cheat!” I did. I taught you how to implement a solution to a problem without actually having to come up with the solution yourself. You’ve replaced a good portion of the thinking process with a reverse engineering process. I don’t think there is any shame in that, if you’re in a pinch.

That does mean, however, that I’m not going to tell you how to copy someone else’s work and get away with it. Even going the route I mentioned above would be considered cheating in my eyes, but it’s definitely more admirable than copying existing code. After all, you learn nothing by copying, but you learn many valuable skills through reverse engineering .

The first question you should ask yourself is why you would ever trust an educator to tell you how to get away with cheating on an assignment. The real purpose of this article was to reiterate the problem with cheating, why you most certainly will get caught, and how to go about treading the line if you’re in a pinch.

In general, however, my advice for folks who feel the need to cheat would actually be the following:

  • Ask your instructor for an extension.
  • Consider dropping other obligations to free up some time.
  • Discuss the assignment with a peer (if permitted).
  • Take advantage of office hours and labs.
  • Get a tutor (if permitted).
  • Start assignments earlier.

With all that said, I am also aware that not all of the options above are practical. Many, many instructors are jerks, so extensions and office hours might not be helpful. Likewise, dropping other obligations can be expensive if it results in graduation delays. Meanwhile, starting assignments sooner may not be practical or even helpful given the various constraints of the college environment.

That’s why, at the end of the day, I don’t see any shame in treading the line of cheating. There are so many structural challenges in universities today that can get in the way of you getting that diploma. Therefore, you need to do what’s best for you to earn your degree . Don’t let anyone tell you otherwise.

Ultimately, we could debate ethics all day and night. For example, I believe that an institution that charges you five figures a year should be doing everything in its power to ensure you succeed. That means following research backed teaching practices, teaching modern development practices, and hiring enough faculty and staff to actually support students in need. Instead, our hyper-individualistic society puts the burden of success on individual students, so I don’t really blame students when they feel helpless. In the end, cheating is wrong , but institutions could be doing a lot more to incentivize learning than to punish cheating.

At any rate, that’s all I have for you right now. If you like this article and would like to read more like it, check some of these out:

  • Lessons Learned From Two Years of College Teaching
  • How to Get Better at Programming: Lessons From Music
  • Why I Urge My Students to Use DrJava

Likewise, you can show even more support by heading to my list of ways to grow the site . Otherwise, take care! Happy coding!

As a lifelong learner and aspiring teacher, I find that not all subjects carry the same weight. As a result, some topics can fall through the cracks due to time constraints or other commitments. Personally, I find these lost artifacts to be quite fun to discuss. That’s why I’ve decided to launch a whole series to do just that. Welcome to Coding Tangents, a collection of articles that tackle the edge case topics of software development.

In this series, I’ll be tackling topics that I feel many of my own students have been curious about but never really got the chance to explore. In many cases, these are subjects that I think deserve more exposure in the classroom. For instance, did you ever receive a formal explanation of access modifiers? How about package management? Version control?

In some cases, students are forced to learn these subjects on their own. Naturally, this forms a breeding ground for misconceptions which are made popular in online forums like Stack Overflow and Reddit. With this series, I’m hoping to get back to the basics where these subjects can be tackled in their entirety.

Jeremy Grifski

Jeremy grew up in a small town where he enjoyed playing soccer and video games, practicing taekwondo, and trading Pokémon cards. Once out of the nest, he pursued a Bachelors in Computer Engineering with a minor in Game Design. After college, he spent about two years writing software for a major engineering company. Then, he earned a master's in Computer Science and Engineering. Today, he pursues a PhD in Engineering Education in order to ultimately land a teaching gig. In his spare time, Jeremy enjoys spending time with his wife, playing Overwatch and Phantasy Star Online 2, practicing trombone, watching Penguins hockey, and traveling the world.

Recent Posts

What Is an Iterable in Python?

I'm kicking off a new Python series that covers core programming concepts. This is a bit different from my usual problem solving content, so it should be a lot of fun! Today, we're kicking off the...

Meritocracy: The Facade That Determines Who Deserves Success

On a drive home from a bachelor party, I was so bored that I got to thinking about meritocracy and its consequences. It's amazing what the mind can do.

Asselta Law P.A.

Get Help Today: Toll Free: 855-338-5299 , Florida: 754-701-7014

Asselta Law P.A.

Focused 100% On Education Law Matters

Charged with cheating on a computer programming assignment? Tips from a lawyer for college students.

On Behalf of Asselta Law P.A. | Mar 26, 2018

cheating on programming assignments

Computer programming students face unique challenges when it comes to demonstrating their knowledge. Professors assign work and expect students to show how to apply topics in a methodical way that demonstrates understanding. Students can get frustrated with the time it takes to compose code and look up solutions or work in a study group to get the answers faster. However, if looking up the answers or working in a group is not allowed, you can be accused of cheating. How do you defend a charge of cheating on a programming assignment? Read on for tips from a lawyer for college students.

My professor sent me an email accusing me of taking part of my code from another source, what should I do?

I have worked with several computer programming students who state that some code can be considered common knowledge while other code is written in a unique way. This is where an accusation can become a challenge. Does the professor consider any code to be “common knowledge?” Even if they believe in common knowledge code, were you allowed to use it in your assignment? Before you build a defense against cheating, you need to figure out what part of your code they are saying is plagiarized.

I am new to computer programming and needed to look up syntax and error messages. My professor is saying I cheated because I used an outside reference. What now?

Some professors allow the students to utilize reference sources and these are typically outlined in the course syllabus. Using an unapproved source can lead to a charge of cheating or gaining an academic advantage. A professor who is taking the time to tell you exactly the sources you can use, is telling you this for a reason. Wandering from the approved list can get you into trouble.

All my code was original, I just got some help from a friend. Why is this cheating?

Computer science teachers want to see your process and what you are learning. Not your friends. You write code just like you would write an English essay – with your own voice. Get help with writing your code – your coding voice changes. This is the number one way that students get caught for unauthorized assistance.

What are the consequences for cheating on a computer programming assignment?

An “F” If the professor feels that you cheated or received unauthorized help, you can receive an F. Whether it is an F on the assignment or an F in the course depends on the situation, professor, and school. Some universities see cheating as a “teachable moment” and try to help students understand what they did wrong. Others have a zero-tolerance policy. Suspension or Expulsion from School The school handbook outlines all of the university’s rules, requirements and policies. If your school views cheating and plagiarism as serious, just one charge of cheating can lead to suspension or expulsion Your Reputation If a student is formally disciplined at school, you must disclose this to other schools and professional boards in the future. This means that your academic and professional career can be put in jeopardy. Any other college a student applies for will ask if there have been any academic violations, and the student’s transcript will be marked as dismissed for an academic integrity violation.

Can a lawyer who represents college students help students defend against a charge of cheating in computer programming?

Yes. I assist students all over the US defend against academic cheating charges. Each student’s situation is unique, and my defense strategy depends on the situation. As a lawyer for college issues, my expertise in the university disciplinary process gives each student the best chance for success.

Can you help all college students?

Yes. I help students all over the country fight accusations of cheating. By working closely with students, I give them the greatest chance at success. I also attend academic integrity hearings with students to give on the spot support.

You get only one chance at success. Make it your best.

Richard Asselta is an award-winning lawyer who handles all college issues and offers student defense adviser services throughout the United States. He is experienced in defending all types of college issues including cheating. Call Asselta Law today for a free consultation and protect your education. 855-338-5299 Click here to read what clients are saying about Richard Asselta on AVVO, a lawyer review website.

Recent Posts

  • Accused of using AI to cheat on a writing assignment? What should you do? A lawyer for students discusses.
  • A professor accused me of cheating. Now what? A lawyer for students discusses your options.
  • Accused of using AI like ChatGPT to Cheat? A lawyer for students discusses.
  • What Is The Process For Appealing Discipline in Broward County Public Schools? A Lawyer Answers.
  • Academic Violation for Sharing Course Materials on Chegg or Course Hero? Tips from a lawyer.

Subscribe To This Blog’s Feed

cheating on programming assignments

Plagiarism and Programming: How to Code Without Plagiarizing

Jonathan Bailey

When it comes to academic integrity, every field of study faces unique challenges, both in terms of teaching integrity and in terms of detecting unethical behavior.

By completing this form, you agree to Turnitin's Privacy Policy . Turnitin uses the information you provide to contact you with relevant information. You may unsubscribe from these communications at any time.

In honor of National STEM Day, we are investigating plagiarism in the STEM subjects. In this post, guest blogger Jonathan Bailey examines the rise of plagiarism in computer science classes.

Programming classes are rapidly becoming among the most popular classes at universities. But, as more and more students are learning to code, an increasing number are finding themselves accused of plagiarism.

According to a recent New York Times article , at Brown University, more than half of the violations of the academic code involved cheating in computer science classes. Similarly, at Stanford, 20% of one computer science class were flagged for cheating.

Part of this is that programming, in many ways, is still a new form of creativity. While we have centuries of discussion surrounding plagiarism and the written word, programming has far less history as a means of communication and it doesn't have the citation standards that we do with research papers.

This can make a lot of the boundaries when it comes to plagiarism and programming seem ambiguous. This is an issue not just in the classroom, but also in the courtroom. This has been highlighted in the seven-plus year litigation between Google and Oracle over Google's use of Java APIs to make Java applications run on Android.

In that case, Google admitted to copying the "declaring code" so the apps would be compatible but did not copy the "implementation code" which determines how Android processes the instructions from those apps. Though representing only a very small percent of the code in Java, the copied APIs were enough to kick off both a huge lawsuit and a major legal debate.

However, in the classroom, there's only one judge to be concerned with and that is the instructor.

As such, when it comes to avoiding plagiarism in programming classes, the best first step is the same as in any other class: Listen to your instructor and ask questions when you are unsure of how to proceed.

Instructors are there to guide you and help you learn, part of that is with plagiarism and citation issues.

When working with your instructors, there are several issues to focus one:

  • What are the rules on using outside code? When, if ever, is it acceptable to bring in outside code? What sources can it be from? Many classes will allow outside code but only from approved sources, such as a classroom library or open source projects. Knowing when and where it's acceptable to use outside code is crucial to avoiding plagiarism.
  • What are the rules on collusion? A large number of programming plagiarism cases deal with collusion, with students in a class copying from one another. Understanding if, when and how students can help one another in the class is invaluable to avoiding cheating allegations.
  • How do you cite unoriginal code? When you do use code, either from another student or an outside source, how do you cite it?

Beyond that there are several other steps you can and should do to ensure that you do not face accusations of coding plagiarism.

  • Code in a Cleanroom: Writing in a cleanroom is a process through which you physically separate outside text from you own. You can and should take similar precautions with your code, never mingling outside code with your work unless you've properly cited it.
  • Comment Your Code Thoroughly: Every programming language has a means of inserting comments into code and thoroughly commenting code is a good practice every programmer should follow. However, it is doubly important when incorporating outside code into your work, as comments are a simple way to illustrate what is and is not original. It's also useful if your instructors have any question about whether you wrote the code as good comments can illustrate a thorough understanding of what was written.
  • Use Original Variable Names: When possible, ensure that your variable, class and other names are original. To be clear, simply changing variable names on copied code does NOT make it original, as pointed out by the University of Pennsylvania , but having unique and meaningful variable names not only makes coding easier for you, but also highlights that the work is yours.

With coding, the most important thing is to always do your work for yourself, unless specifically allowed and/or instructed to do otherwise. While learning to work with outside code is an important skill, programming assignments are meant to test your coding skill. That is impossible if you simply copy and paste the work of others.

If you do your work, cite what you do copy and don't work with other students without permission, you should be fine. In that regard, programming is very similar to any other assignment in college.

This post was contributed by Jonathan Bailey, foremost expert in plagiarism. He has spent over 16 years fighting plagiarism professionally and currently blogs on Plagiarism Today , where he raises awareness about the societal effects of plagiarism.

Stack Exchange Network

Stack Exchange network consists of 183 Q&A communities including Stack Overflow , the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

How to minimize cheating with open source assignments?

For my computer science programming-based course, I'd like to:

1) host my course and assignments (without solutions) open and free to all (e.g., as public GitHub repos)

but this seems at odds with also wanting to

2) not have to deal with rampant cheating.

Any open source assignments seem to suffer from the problem that a random stranger could do the assignment in her spare time and then post the solution online. So in theory, publicly hosting the assignments has created an avenue for my students to find a free solution.

Hosting my assignments on GitHub lubricates this process because the programming community knows how to click "fork" and any forks are listed right there for future students to browse.

What are recommendations or best practices to find the right balance?

The extremes have clear tradeoffs:

A) go full public. this is easy for me to implement using GitHub, but even students in our classes will have easy access to other students in the same section. I can run/threaten to run MOSS , but students may still try to beat it and that will create a hassle.

B) go full private. I lose all the niceties of the GitHub interfaces, lose my open source freely available and advertised assignments to the larger community and world.

  • computer-science
  • open-access

Alec Jacobson's user avatar

  • You may also be interested in this question . –  Ben I. Commented Oct 1, 2018 at 17:10

3 Answers 3

As somebody who has, for years, hosted assignments publicly I feel that you are vastly overestimating the threat case here. If all you do is make your assignment and material public on GitHub, it is extremely unlikely that somebody will just browse by, do it out of fun, and then make the solution available to your students.

I often analyse GitHub data as part of my research, and the number of repositories out there is downright staggering, and by far most of them get no traction at all. In order to make a repository visible, quite a bit of active marketing is necessary. If you don't go out of your way to advertise your assignment, and if your assignment is not somehow extremely intriguing so that a random developer would really want to work on it, it is very likely to just sit there, all in the public, without getting any kind of attention at all.

Additionally, even if somebody would solve your assignment and make a solution public, so what? You presumably do some sort of plagiarism check on the solutions your students submit anyway (otherwise, how do you ensure that different students or teams did not copy from each other?) - this is just one more existing solution to compare your student's solution to.

In my experience, by far the most "rampant" type of cheating is student teams copying from each other, and this is really unaffected by how you decided to host your assignment.

xLeitix's user avatar

  • 2 +1 from someone else who has posted assignments publicly for decades. However, I have seen github repositories containing an entire semester's worth of assignment solutions, both for my course and for other courses at my institution, almost certainly written by students taking the course. The next semesters' students learn about these repos by talking to their friends, who know someone who know someone who know the authors. Sometimes Rumornet works better than Google. –  JeffE Commented Sep 5, 2018 at 13:21
  • 1 @JeffE In my university the student union kept big binders with previous assignments and their solution for all mandatory courses - they even advertised this service in introductory classes. Nowadays I silently assume every student knows all assignments from previous years as well as their solutions. –  xLeitix Commented Sep 5, 2018 at 15:39
  • Various organizations at my university used to do the same, In the days before sites like CourseHero made such paper archives unnecessary. –  JeffE Commented Sep 5, 2018 at 19:38

The answers depends on the purpose of your assignments. If they are "only" meant to be a learning resource (in the sense of "learning by doing") then having the solutions online would only be harmful for those who are cheating. You might still be interested to reduce the chance that this happens, since lazy students might be demotivated to do it on their own by the availability of a solution, but in the end it is their fault.

If the assignments are the basis for grading it is, of course, a little bit more difficult since it might favor cheating students over honest students, but this does not mean that you should not publish assignments. It does, however, usually means that you have to do more work to mitigate the negative effects.

You can modify your actual assignments slightly (but transparently for the students!). Often it is more difficult to understand and modify the code written by someone else than to rewrite it from scratch. The learning effect is nearly the same (of course depending on the amount of required modifications). Guess how many submissions we get where a certain calculation uses a mean instead of a median as requested ;-)

You have already mentioned MOSS, but that is usually only a first step. We do individual interviews about all submitted solutions. While this is very laborious it provides a good opportunity to screen cheaters. I do not say that no cheater was ever able to pass our interviews, but it is usually very clear after a short time if a student has written the code by himself. Also (and even more important in my opinion), an interview should not only be a examination but provides a perfect opportunity to discuss open questions and to give individual support. Often 10 minutes interview seem to teach more than several hours of lecture. If your course is small enough (or you have others who assist you), you should think about this.

As an addition to that, especially in the first semester, our interviews also contain small on-the-spot assignments from time to time. Even if they are only something trivial like adding all numbers from 1 to 100 in a for loop with C, it identifies a fair amount of students without basic learning success and seems to motivate them to work harder in the future.

Usually, our assignments only cover a small percentage of the final grade and the major share is covered by an exam (including tasks with and without the need to write code). This might or might not be applicable in your situation (it is actually a requirement at our university), but it mitigates the influence of cheating during the assignments. As one would expect, the correlation between the points achieved for the assignments and those for the exam is very high, even though there are outliers.

And as others have already mentioned, you have to apply such techniques anyway since cheating is possible in so many other ways, including the help by other students and solutions from students who have taken the course earlier... Even though our assignments are not available at GitHub, there are for example students posting their solutions at GitHub.

In a nutshell, security by obscurity rarely helps and you should rather ask yourself how to make the grading itself as fair as possible.

koalo's user avatar

Your conflict doesn't seem resolvable - at the extremes. On the one hand you want "everyone" to be able to use your posts without restriction . On the other hand you want "bad players" not to use it in ways they determine .

You will need to choose one over the other in this scenario.

For a certain value of money you could host your repository behind a firewall, of course. But you still won't control students having their work done for them on contract. But that assumes your students really do engage in "rampant cheating". I wonder why you believe that. I hope most students are most interested in actual learning if the system isn't so unbalanced that they feel forced to take shortcuts.

You can also organize the course so that you interact with the students frequently enough that bad behavior becomes less useful to them and more visible to you.

Buffy's user avatar

  • For a certain value of money — Github offers unlimited free private repositories to academic users. –  JeffE Commented Sep 5, 2018 at 13:22
  • @JeffE, I was speaking of the Enterprise Level, of course. Which is intended for more controlled distribution within organizations. –  Buffy Commented Sep 5, 2018 at 13:26

You must log in to answer this question.

Not the answer you're looking for browse other questions tagged computer-science teaching open-access code ..

  • Featured on Meta
  • Upcoming sign-up experiments related to tags

Hot Network Questions

  • Should mail addresses for logins be stored hashed to minimize impact of data loss?
  • When was the last time a chess rule was modified?
  • Is FDISK /MBR really undocumented, and why?
  • How to join two PCBs with a very small separation?
  • Isn't it problematic to look at the data to decide to use a parametric vs. non-parametric test?
  • Why can't I conserve mass instead of moles and apply ratio in this problem?
  • What actual purpose do accent characters in ISO-8859-1 and Windows 1252 serve?
  • Word order of 1 Corinthians 1:24
  • How do I get my D&D group to engage to a minimum
  • Exception handling: is one exception type sufficient?
  • Writing a generic makefile for C projects
  • Colored underline and overline in math mode
  • Diagnosing tripped breaker on the dishwasher circuit?
  • What's the meaning of "nai gar"?
  • Familiar senses outside of a turn order
  • Trying to determine what this item is
  • What is the best way to set a class value to a variable in Python if it exists in a dictionary?
  • How does the router know to send packets to a VM on bridge mode?
  • sample size in chi-squared test
  • What does "the figure has to be in a vector scale" mean?
  • Do the decoupling capacitors act as capacitive load to the opamp which is used to make a virtual gorund?
  • DSP Puzzle: Advanced Signal Forensics
  • Is the fibration in algebraic geometry a fibration in topology?
  • How to find your contract and employee handbook in the UK?

cheating on programming assignments

Ten Strategies for Preventing Cheating in Coding Class – zyBooks Guide

Avatar photo

Here at zyBooks, we’re getting more questions about cheating than ever before. Why? 

In a word, ChatGPT . 

But the explosion of generative AI is only magnifying a cheating problem that has been bedeviling computer science educators for years. 

From homework websites such as Chegg to public GitHub repositories to online cheating contractors trolling Reddit (who sometimes later blackmail the students who hire them), to now — ChatGPT — it’s never been easier for students to find answers to their coding assignments.

The scale of the problem is staggering. In our research, we’ve found numerous university programming classes where over 50% of students have engaged in cheating and academic dishonesty.

So what’s a programming instructor to do? 

In this post, we share with you ten strategies that you can use in your classroom now that have been shown to substantially reduce cheating . 

In this post: 

A Focus on Preventing Cheating  Why Do Students Cheat? Success Starts with Transparency zyBooks Research on Academic Integrity and Preventing Cheating Ten Strategies:

  • Scaffolded Content
  • Many Small Programs
  • Normalize Help
  • Pair/Group Work
  • Integrity Talk and Quiz
  • Show Cheating Prevention Tools
  • Regret Clause
  • Learning Assistants

zyBooks Cheating Prevention Tools in Action Final Thoughts

The strategies we share in this post were developed by Dr. Frank Vahid , zyBooks’ co-founder and Chief Learning Officer. Dr. Vahid is a veteran computer science professor at the University of California, Riverside (UCR), the chair of UCR’s Academic Integrity Committee, and one of the nation’s leading researchers into cheating and academic integrity in computer science studies.

Dr. Vahid’s groundbreaking work underlies everything we’re sharing with you in this guide. 

First, let’s be clear: We’re not promising that these strategies will eliminate cheating entirely. But they will greatly diminish the problem. And they work for both in-person and online classes. In fact, Dr. Vahid found that once he implemented these steps in his own classes, cheating dropped from around 30% to under 10% — a significant improvement. 

We’re not promising that the strategies we share will eliminate cheating entirely. But they will greatly diminish the problem. And they work for both in-person and online classes.

Before we jump into the strategies, let’s briefly talk about the instructors’ mindset, why students cheat in the first place — and why transparency in your classroom is critical. 

A Focus on Preventing Cheating 

When Dr. Vahid speaks to educators around the country, his message is simple yet surprisingly effective: 

Shift your emphasis from catching cheaters to preventing cheating in the first place.

Adopting this mindset is crucial. When you focus on prevention, students keep learning, stay on track, and stay out of trouble. And it benefits instructors by saving them many hours a week of extra work, not to mention the headache of playing endless rounds of coding cop whack-a-mole. 

We’ve also found, counterintuitively, that by focusing on prevention, students are inspired to do even more work than required. 

Why Do Students Cheat? 

So why do students cheat in the first place? 

The Fraud Triangle is an effective framework to examine this issue and categorize efforts for preventing cheating. The triangle, originally developed by criminologists in the 1970s and adopted by Princeton University professor Ibrahim Albluwi as a way to think about cheating in programming, highlights the three factors that must be present for fraud (or cheating) to happen: 

  • Pressure – “I need that A to get into grad school.” 
  • Opportunity – “I can get away with it;” “ChatGPT will give me the answer.”
  • Rationalization – “Everyone’s doing it;” “The class is too hard;” or “I’ll learn this on the job.” 

In the following clip, Dr. Vahid explains the thinking behind this framework:

At this point, you might be asking yourself, why is this my — the instructor’s — problem? 

That’s a valid question, but students hurting themselves is not the entire story. Grades matter, of course, and we have to do everything we can to maintain their integrity. And as Dr. Vahid says in the video, the bulk of your students are still young and their brains are not fully developed; we can and should help them. 

Success starts with transparency

Let’s repeat that: Success starts with transparency. 

What does that mean? 

  • Aim to organize your class really well.
  • Be clear about what students need to do.
  • Keep the cadence of your class the same every week.
  • If you’re using zyBooks, we recommend you configure the zyBook to cover one chapter per week.

By being totally transparent in your classroom you’re removing fear, managing expectations, and helping to build your students’ confidence. Yeah, they can do this!

zyBooks research on academic integrity and preventing cheating:

Detecting possible cheating in programming courses using drastic code change

Understanding and promoting earnest completion in online textbooks

Impact of Several Low-Effort Cheating-Reduction Methods in a CS1 Class

Now, here are ten concrete steps to breaking the fraud triangle in computer science education, even now, in the age of ChatGPT: 

1. Scaffolded Content

Reduces pressure, reduces rationalization.

Lecturing the old-fashioned way doesn’t work. Dumping a mountain of information on students is akin to an outdated “throw them into the deep end of the pool” approach to learning. Why not help students learn to swim by giving them lessons as they wade out into the water, so by the time they get to the proverbial deep end they’re swimming, not drowning? 

What this translates to in practical terms is breaking up learning into little chunks with lots of feedback and instruction. Pedagogically speaking, we’re talking about scaffolding your instruction. 

Lots of feedback is key. 

Scaffolding transforms classes, giving students ongoing opportunities to learn by doing. You don’t master piano by just reading about it; the same is true with coding, of course. 

Scaffolded learning is at the core of the zyBooks approach and built into the platform. Scaffolding removes pressure, because by practicing with many small coding problems, students are better prepared for bigger assignments. And it tamps down rationalizations to cheat, such as the class is “too hard.”

2. Many Small Programs

Swapping one big coding assignment with many small programs (“MSP”) yields dramatic results , especially with foundational computer science courses such as CS1 and CS2. Here’s why:

  • Students write a lot more code, so they practice more often.
  • Students get to work sooner instead of procrastinating; MSP looks less intimidating than one big program.
  • If students get stuck on one assignment, they can start on another small program, which helps remove the temptation to cheat.

The MSP approach builds confidence and reduces stress. (It’s also a foundational zyBooks concept.) Practicing a bunch of loops is like working on your tennis serve — the more the better. And with autograding, which is built into zyBooks, instructors aren’t drowning in tons of assignments to mark up. 

Related posts

Dr. Cay Horstmann: Three Key Insights for Teaching Programming

The Power of Many Small Problems in Engineering

A Better Way to Assign Homework in Engineering 

3. Normalize Help

Set up discussion forums, like a real-time Discord server, Slack channel, or a Piazza forum for your classes. The idea is to establish that help is normal and easily available, even outside of regular office hours. 

Get your students talking to each other if they get stuck. Explain the legitimate ways they can help each other (see Step 6 below). 

Related post

Call Them “Student Hours” – A New Approach to Office Hours

4. Pair/Group Work

With this approach, students pair up (or you pair them up) to work on programming assignments together. There’s a methodology here: One person types while the other person watches, then they switch, and they keep switching throughout the assignment. 

It’s a powerful mechanism. Students have been shown to both do better in class and retain more knowledge, and failure rates drop dramatically as a result of working together. The drawbacks with this approach are with freeloaders who don’t actually do anything, and students who, conversely, want to do everything themselves. But there are ways to address both drawbacks.

Reduces Rationalization 

Knowing how to connect with your students is as important as mastery of your material. When you build rapport with your students, you’ll see significant improvement in their grades and retention rates.

Bottom line: If you care, they’ll care. And by connecting with students, you’re diminishing a key rationalization for cheating: The professor just “doesn’t get it.” 

6. Integrity Talk and Quiz

Reduces opportunity.

On the first day of class, nobody is thinking about cheating. So discussing it at the dawn of the semester will go over students’ heads. But by the third week? Different story. This is the time to present your class with a 20-minute talk on academic integrity, followed by an “integrity quiz.” 

Promoted by Professor Max Chou at UC Irvine, the integrity quiz is an explicit review of what is and is not allowed in class. For his own integrity quiz, Dr. Vahid creates a section in his zyBooks course to ask questions such as: 

  • Are you allowed to show buggy code to a classmate who’s helping me? (Yes)
  • Is a student with working code allowed to show their work to a classmate who’s struggling? (No)
  • Can you use ChatGPT to write your code or post to Chegg? (Absolutely not!)

Students must score 100% on the quiz to move forward in class. They can retake the quiz until they achieve a perfect score, but students must ace the quiz to submit further assignments. 

Aside from framing what’s permissible, the integrity talk and quiz help clarify genuine misunderstandings and gray areas. And they serve as a baseline if you find violations at some point later. 

Remind your students about integrity with another 20-minute talk in Week 6 of this course, just to keep it front of mind. 

7. Show Cheating Prevention Tools

When you zip past a police cruiser idling on a highway shoulder, what happens? You slow down, of course, rather than risk seeing flashing red lights in the rearview mirror. 

The same idea can be applied to cheating prevention tools. 

The three powerful tools we introduce below can help you determine if your students are plagiarizing code. But they’re most effective when you use them like that police cruiser: to help deter cheating in the first place. 

For our purposes, the “cruiser idling on the shoulder” is you demonstrating these tools throughout the term, as we’ll talk about shortly. 

Similarity Checker 

The first tool is the MOSS algorithm, which is integrated into the zyBooks Similarity Checker tool. MOSS , or Measure of Software Similarity, is an application developed at Stanford University and is now used by thousands of schools across the country. The tool automatically compares your students’ code submissions and flags suspicious similarities. It doesn’t get fooled by things like tweaking the variables or white space. 

MOSS has proven to be extremely effective at catching cheaters. But here’s a more powerful way to use this tool:

Incorporate the Similarity Checker into class in a fun way.

Why? By demonstrating the tool and building it into the learning experience, you’re reminding students that, yes, they can get caught cheating! 

Important note: Just warning students doesn’t work (in one ear, out the other). You have to actually show them the tool. Remember that police cruiser? 

Roll out the Similarity Checker in Week 4 of the semester, after the integrity quiz. Demonstrate it with a low-stakes programming task in a fun way that gets the message across.

In later classes, use the anonymizing option to pull up actual assignments and discuss how students came up with “similar ways” to solve the problem. These subsequent demos are a two-fer: You’re teaching code by reviewing student work, while at the same time telegraphing how easy it is to catch cheaters. 

Coding Trail

Another useful prevention tool is zyBooks’ Coding Trail functionality.

With the platform’s online autograder, every student’s action is recorded when they run code on their own or submit it for grading. And the students can see this record, so they know exactly how much work they’ve done. 

The message to the student here is that effort matters and process matters. And you as the instructor can quickly deduce from the effort and process if a student is likely cheating. 

Like with the Similarity Checker, we recommend you display Coding Trails to your classes in Week 4 of the semester. The demonstration also serves the same purpose as that cruiser parked on the shoulder: Better not speed, the radar gun’s got a beam on you. For your students, the Coding Trail takeaway is, “Wow, my professor can see my code and how hard I’m working. Better not cheat.”

Lastly, Coding Trails offers another valuable benefit: It gives you insight into which students are struggling with the material, so you can intervene early and help them.

Playback History

Finally, zyBooks’ Playback History is now available in the new Advanced zyLabs , Playback History shows you exactly what a student has entered into their assignment, character by character. So you can see every development run a student has completed, whether blocks of code were copied and pasted in, and even who’s edited the code, including activity from your TA.

Why is this important? If the Similarity Checker reveals suspicious activity, you can drill down further with Playback History and investigate how a student solved the problem.

As with the other two tools, we recommend you walk through the Playback History with your class in Week 4 of the semester. 

zyBooks Cheating Prevention Tools in Action

In this video, zyBooks’ product development lead and veteran computer science educator Joe Mazzone explains how zyBooks’ cheating prevention tools work:

The most effective way to prevent cheating, of course, is for students to complete their work in person under the watchful eyes of instructors. But proctoring every student assignment? Well, not happening. Nevertheless, proctoring should play a key role in your courses.

9. Regret Clause

The regret clause has been promoted by Professor David Malan of Harvard University. A few years ago he faced a major cheating scandal in his CS1 course. What he realized from the experience is that cheating often happens during a late-night panic with deadlines looming. The student is sleep deprived, stressed out, and makes bad choices. And once they submit their plagiarized assignment, there’s no way out. 

But what if you gave students a way out? 

Enter the regret clause. Dr. Malan gives students 72 hours after submitting their assignments to admit cheating. They’ll get a zero for that work, but it won’t be reported as academic dishonesty.

Another approach is to offer a regret clause through a form that students fill out. The form allows them to withdraw programming assignment submissions. Give students the chance to resubmit their work without facing academic dishonesty penalties. 

10. Learning Assistants

Finally, in learning assistant programs, upperclassmen are trained to help lowerclassmen with their coursework. 

The benefits here flow in both directions. For the upperclassmen, the pride of being part of this group and teaching others helps reinforce their own knowledge. For lowerclassmen, the opportunity to talk freely to fellow students who’ve been through their classes relieves pressure. 

These programs are proven to be very effective, and they’re popular at many schools across the country.

Final thoughts

We hope you find these strategies useful. To reiterate: we cannot eliminate cheating entirely. But now, despite the ability of ChatGPT to pump out code at the drop of a prompt, we still have the power as instructors to overcome this apparent threat to teaching. 

First, design your courses using the prevention approaches we discuss above. The more successful you are at breaking the fraud triangle, the more students will understand that they have to do the work and will likely get caught if they cheat, even if they use ChatGPT. 

Keep in mind, too, that developing rapport with your students is even more critical now. If your students understand that everything you’re doing is motivated by a sense of fairness, they’ll likely respond in kind. 

And second, remember that we’re still in the Commodore 64-early days in the world of AI. We have the power and creativity to harness and weave the abilities of AI into how we teach and prepare students for success. That’s already happening, and it’s exciting! 

The ChatGPT Wakeup Call to Deal with Cheating 

If you have any comments, thoughts, or want to share other cheating prevention strategies you use in your own courses, we’d love to hear from you! Email us at [email protected]

Avatar photo

zyBooks Staff

Related posts.

cheating on programming assignments

Active Learning Approach to Operating System Concepts

30 years of teaching experience informs key concepts where students typically struggle Operating System Concepts (OSC) is a mature title that has been around for over 25 years and is now in its 10th edition. The zyVersion of OSC presents the fundamental principles of contemporary operating systems using zyBooks active learning pedagogy that directly engages […]

cheating on programming assignments

Tracing Algorithms

Are animations helpful to student comprehension of complex concepts? See what Dr. Michael Goldwasser recommends and how zyBooks can help you deliver.

cheating on programming assignments

Tips for Teaching your Web Programming Course

Learning some of these facts about zyBooks might just help your course run more smoothly.

cheating on programming assignments

QTI files: What they are, why they’re useful, and how to get started

What is a QTI file?  QTI stands for Question and Test Interoperability, a widely used and adopted standard format for representing assessment content. A QTI file is a zip file containing assessment data in XML and its associated multimedia content such as an image. QTI files can be created, exported, and imported by different tools […]

More action with less text.

zyBooks strike the perfect balance between text volume and engaged learning, with studies showing that students spend more time learning. Performance has been proven to increase and we have research to show it.

zyBooks textbooks increase student engagement

Ready to see zyBooks in action? Get a demo today.

Why zyBooks?

  • Research Library
  • Authoring Team
  • Student Survey
  • zyBooks Partner Solutions
  • Computer Science
  • Engineering
  • Math & Statistics
  • Data Science
  • Information Technology

Instructors

  • Getting Started
  • Evaluating & Adopting
  • Instructor Success Stories
  • Instructor FAQ
  • Instructor Community
  • Accessibility
  • Request Support
  • Students FAQ
  • Student Privacy
  • What Do Students Really Think of zyBooks?

cheating on programming assignments

Special Features

Vendor voice.

cheating on programming assignments

This article is more than 1 year old

GitHub Copilot may be perfect for cheating CompSci programming exercises

Shakeup in teaching looms as code-completion tool lets students 'bring an uzi to a knife fight'.

Microsoft's AI code-suggestion tool GitHub Copilot is showing itself to be so capable that educators may have to rethink how they teach computer science.

University of Massachusetts Amherst computer science professor Emery Berger earlier this month published a blog post warning educators that "students armed with [Copilot] will be bringing Uzis to a knife fight."

His concern is that Copilot will render traditional programming exercises – part of computer science training but by no means all of it – pointless because Copilot knows all the answers.

"As far as I can tell, Copilot was specifically trained on all the intro programming assignments ever," Berger wrote. "Copilot frickin’ loves intro programming assignments."

As far as I can tell, Copilot was specifically trained on all the intro programming assignments ever

For students using Copilot, he wrote, educators might as well describe their course objectives as "hitting the Tab key," in reference to the key command to generate code from a description of the desired output.

"Programming plays a role in a lot of computer science classes, and especially in introductory computer science classes," explained Berger in a phone interview with The Register . This often involves exercises to sort a list of numbers in a certain way or to find the nth element of a Fibonacci series, and so on.

cheating on programming assignments

"Copilot will just do them," said Berger. "It's not just that it does them and it does them well. It's also that it does them using the tools that you would want and expect your students to actually be using to write their code. If they start writing code and Copilot is installed, it will fill out the solution."

Berger said Copilot is different from searching for answers on Stack Overflow and other internet programming resources.

"You can already find examples of code online," he said. "But you know, the instructor can also Google for them and then compare that code against the code submitted with a plagiarism detector."

Copilot is different, he said, "It actually generates novel solutions. Not like they're super-crazy, sophisticated, genius solutions. But it makes new solutions that are superficially different enough that they plausibly could have come from a student."

It actually generates novel solutions ... that are superficially different enough that they plausibly could have come from a student

As a result, Berger argues, pedagogy related to programming needs to adapt. One approach, which he ridicules in his post, is "to plug our ears with our fingers and kind of shout while pretending [Copilot] doesn't exist, which is more or less the same thing as pretending plagiarism doesn't exist, and pretending that the internet doesn't exist."

"But if you care about the integrity of the process … this is just a cheating machine," he said. "Like somebody gives you a spec for an assignment, you just type in this back in comments and hit Tab, right?"

"So I don't think that it's reasonable or responsible to think that everybody is going to refrain from using this amazing cheating machine that's installed on their laptops … I think that the temptation is too great. And honestly, it's what software development is probably going to look like, very, very soon."

Berger acknowledges that Copilot is useful and says it makes sense developers would want to use the software.

"We just need to really rethink things altogether," said Berger. "Certainly from the evaluation standpoint, we can obviously just require people to do things in environments where they can't use Copilot. Just like elementary school kids don't get to use calculators when doing basic arithmetic. So we can have paper and pencil exams."

  • FauxPilot: It's like GitHub Copilot but doesn't phone home to Microsoft
  • GitHub courts controversy by suspending Tornado Cash developers and reneging on cookie commitments
  • Now Amazon debuts an AI programming assistant – CodeWhisperer
  • Open source body quits GitHub, urges you to do the same

He said he has a colleague in Illinois who describes using computers that have been locked down for programming tests, so students take their exams in a controlled setting. These sorts of measures, and things like oral exams, he suggested, could help address some of the negative aspects of the availability of Copilot.

Berger also observed that Copilot has positive aspects, such as the ability to fill out boilerplate and to implement APIs.

"I don't think that memorizing the minutia of countless APIs is really interesting intellectually," he said. 'It's not the kind of thing we should really be teaching or focusing on. Do you know the exact syntax to create a DataFrame with these characteristics? I don't care. If you have to look it up on Google or on Stack Overflow, or you just hit Tab and it just does it for you, that sounds fine to me."

Nonetheless, he argues it's important for educators to make sure students are actually learning the material, which may mean rethinking how much homework assignments that can be solved with Copilot should count when calculating an overall grade.

Berger said it's probably premature to say that Copilot has had an effect on students, because the software has only been publicly available for a few months. But he argues it won't be long before its impact starts to show.

"I would like to be optimistic about this," said Berger. "But I think at minimum, we just need to be thoughtful of it. I just don't think that there are many educators out there who are aware of how much of a revolution this is." ®

Narrower topics

  • Active Directory
  • AdBlock Plus
  • Exchange Server
  • Internet Explorer
  • LibreOffice
  • Machine Learning
  • Microsoft 365
  • Microsoft Build
  • Microsoft Edge
  • Microsoft Office
  • Microsoft Surface
  • Microsoft Teams
  • Patch Tuesday
  • Programming Language
  • Retro computing
  • Search Engine
  • Software bug
  • Software License
  • Tensor Processing Unit
  • Visual Studio
  • Visual Studio Code
  • Web Browser
  • Windows Server
  • Windows Server 2003
  • Windows Server 2008
  • Windows Server 2012
  • Windows Server 2013
  • Windows Server 2016

Broader topics

  • Self-driving Car

Send us news

Other stories you might like

Payoff from ai projects is 'dismal', biz leaders complain, y combinator, startups funnily enough aren't fans of draft california ai safety law, dominant ai players nvidia, microsoft, openai face us antitrust inquiries, accelerate migration and go beyond virtualisation to cloud native.

cheating on programming assignments

Microsoft answered Congress' questions on security. Now the White House needs to act

At apple, ai stands for 'apple intelligence' – and it's coming to everything, imf suggests tax on ai's co2 emissions, but not ai itself, can platform-wide ai ever fit into enterprise security, microsoft sued by partec in texas over ai supercomputer patents, microsoft cancels universal recall release in favor of windows insider preview, google deepmind's latest model promises realistic audio for your ai-generated vids, microsoft's recall should be celebrated as the savior of smes and scourge of ceos.

icon

  • Advertise with us

Our Websites

  • The Next Platform
  • Blocks and Files

Your Privacy

  • Cookies Policy
  • Privacy Policy
  • Ts & Cs

Situation Publishing

Copyright. All rights reserved © 1998–2024

no-js

young man with laptop on his knee holds a credit card ready to make an online payment

1 in 10 uni students submit assignments written by someone else — and most are getting away with it

cheating on programming assignments

Senior Lecturer in Applied Psychology, The University of Western Australia

Disclosure statement

Guy Curtis has previously received funding from TEQSA and contributed to TEQSA's academic integrity resources for the higher education sector..

University of Western Australia provides funding as a founding partner of The Conversation AU.

View all partners

The worst kind of university cheating is also the hardest kind to catch, and more students do it than previously thought. Until recently, it was thought about 2-4% of Australian university students submitted assignments written by someone else. Our new research suggests the real figure is more like 8-11%.

And over 95% of students who cheat in this way are not caught .

Read more: When does getting help on an assignment turn into cheating?

University assignments, like essays and reports, allow students to demonstrate they have learned what they are supposed to have learned. If someone else writes the assignment, a student might graduate not knowing something they are supposed to know.

The consequences could be catastrophic. Would you want to receive an injection from a nurse whose assignment on how to measure doses of medicine was written by someone else?

google search results for online assignment writing services

When students arrange for someone else to write an assignment for them, we call this “ contract cheating ”. Cases of contract cheating that have hit the headlines, such as the MyMaster scandal, involved thousands of students.

But this was less than 0.2% of students even at the most affected universities. In surveys, at least ten times more students than this (2-4%) admit to contract cheating.

Psychology research , however, shows that even when people fill in a completely anonymous survey, they tend to under-report bad behaviour. Because of this, in our Australia-wide study we used methods that don’t completely rely on anonymous surveys.

There are several reasons why people will not admit to bad behaviour like cheating in anonymous surveys. For example, they might not trust that the survey is anonymous, they might not want to admit to themselves that they have done the wrong thing, and they have no incentive to be truthful.

Read more: Assessment design won’t stop cheating, but our relationships with students might

How do you get students to admit cheating?

Using a method that overcomes these problems, one US study found three times more university researchers admitted to falsifying data when they had an incentive to be truthful.

In our study, students estimated the proportion of other students who engage in contract cheating and what proportion of those who do cheat would admit to it. Because these estimates do not require students to dob themselves in, they shouldn’t worry about whether the survey is really anonymous.

In addition to the estimates of how many other students cheat and how many cheaters would admit to it, we provided half the students taking our survey with an incentive to tell the truth.

We donated money to charity for every student who took the survey . Before taking the survey, the students selected their preferred charity. We then told half of the students we would give more money to their preferred charity if their answers were more truthful. We even gave them this link showing how we would determine the truthfulness of their answers.

We distributed our survey to students at six universities and six independent higher education providers of professional courses such as management. In all, 4,098 students completed our survey.

We looked at two kinds of contract cheating:

  • submitting an assignment the student paid someone else to write
  • submitting an assignment downloaded from a collection of pre-written assignments.

Read more: Doing away with essays won't necessarily stop students cheating

When given the incentive to be truthful, two-and-a-half times more students admitted to buying and submitting ghost-written assignments than admitted to this without the incentive.

We combined self-admitted cheating with the estimates of how many cheaters would admit to it and of how many other students cheat. From this, we conservatively estimated 8% of students have paid someone else to write an assignment they submitted, and 11% have submitted pre-written assignments downloaded from the internet.

Next, we looked at whether particular types of students admitted to cheating more than others. The main predictor of admitting to contract cheating was not having English as a first language. Three times more students with English as a second, or subsequent, language admitted to contract cheating than students with English as a first language.

Read more: 5 tips on writing better university assignments

Screenshot of assignment writing service web page

What needs to be done about this cheating?

Previous studies have also found students whose first language is not English admit to more contract cheating. Higher education providers need to ensure English competency standards for students they enrol. They should also provide additional language support to students who need it.

Cheating seems to have been increasing since the COVID-19 pandemic began. However, the self-reported cheating in our study, when there was no incentive to be truthful, was much the same as in pre-pandemic surveys .

Read more: Online learning has changed the way students work — we need to change definitions of ‘cheating’ too

When it was believed only about 2% of students engaged in contract cheating, the Tertiary Education Quality Standards Agency (TEQSA) acted swiftly to curb this problem. TEQSA provided information to higher education providers to help counter cheating. The federal government also acted to outlaw contract cheating providers.

Our finding that four times more students than previously thought engage in contract cheating means these efforts should be redoubled. Importantly, academics need help to get better at detecting outsourced assignments.

  • Higher education
  • MyMaster cheating scandal
  • College assignments
  • Contract cheating
  • University cheating

PhD Scholarship

cheating on programming assignments

Clinical Psychologist Counsellor

cheating on programming assignments

Centre Director, Transformative Media Technologies

cheating on programming assignments

Postdoctoral Research Fellowship

cheating on programming assignments

Social Media Producer

Logo

Articles in this section

  • Instructor Companion Site for zyVersions
  • How to cite zyBooks

Cheating detection and prevention for programming tasks

  • zyBooks and exams
  • Use of exercise solutions / Can exercise solutions be revealed in bulk?
  • Do you have presentation slides?
  • May I record videos of my lectures that include zyBooks content?

Avatar

  • June 14, 2024 16:26

Many instructors ask what we do to reduce cheating on programming tasks. We take a multi-faceted approach: 

  • Similarity checker -- For most zyLabs languages, instructors can run our built-in similarity checker to detect submitted programs that are very similar. Similarities are highlighted. The tool is similar to Stanford's MOSS, but extremely easy to use due to being built right in. It has also been optimized for speed.
  • Modification of ZMLs -- Many instructors use our " zyBooks Maintained Labs " (ZMLs). We make changes to many ZMLs each year or even each term, causing previous-term solutions to fail (and be easily noticeable). 
  • Signatures -- We create a concise visual signature of programming effort, visible to students and instructors. Instructors can readily notice unusual signatures (like just one submission yielding full credit). For best results, we recommend requiring the zyLabs development environment where students code in the zyBook, or at least requiring frequent submissions to the auto-grader, like after every 20 min of programming or every 20 lines of code. 
  • Analytics -- Instructors can now see how much time a student spent programming in zyLabs' development environment. 
  • IP logging -- Instructors can see a log of IP addresses for all of a student's submissions, which can be helpful in cases where someone else is doing some of a student's work. 
  • And a secret technique -- We have a technique that can let us know exactly which student has posted one of our problems to those websites that specialize in solutions. We can't say more than that since we don't want students to know the technique and hence try to find workarounds, but we are looking into ideas of what to do when we detect such cases. 
  • Auto-generated CAs -- Many of our challenge activities are auto-generated, so each student gets a unique problem that requires a unique solution. 
  • Scaffolding -- Our material is designed for students to learn incrementally, with Participation Activities giving an initial opportunity to practice with feedback, then Challenge Activities providing more opportunities, and finally Lab Activities allowing greater opportunity to learn (with ZMLs also ranging from easier to moderate to harder).  
  • DMCA takedown notices -- We dedicate time to scouring the web and submitting takedown notices where appropriate, especially from one well-known .com site whose name we won't mention. We've successfully had many thousands of items taken down, but of course new ones pop up. We continue that battle. 
  • Time respect / clarity -- Much cheating occurs when students can't understand a task, or find it is taking far longer than it should. We obsess over creating clear activities that are of appropriate length, paying attention to student feedback and activity data and continually improving our activities in response. 

We encourage instructors to consider a few things: 

  • Why cheating occurs: Few students take a course planning to cheat. Many reasons are known to lead students to resort to cheating, such as when a task is too big of a step, when students get stuck and can't find legitimate means for help, when workload is excessive and thus deemed unreasonable, and more. None of this justifies the cheating, but instructors may wish to think about how some classes encourage or discourage cheating based on how they are set up. 
  • Students and decisions: Young students' brains are still developing until about age 25, including the prefrontal cortex, which handles decision making and planning.  Instructors may wish to have appropriate expectations of these young students, and design a course where the temptation to cheat is minimized. 
  • Working together: Pair programming, peer instruction, and other work-together approaches are shown to improve learning and reduce attrition. We highly recommend making use of such techniques, especially in early CS courses. Students have many years to learn to develop independently. 
  • make fun use of signatures and the similarity checker during normal class time, such as to see how students are doing and where they are struggling, or to see who submitted similar programs to a low-stakes quiz question. Students then see what tools instructors have to detect cheating as well.
  • assign many small programs instead of one large program in intro classes, shown to yield better learning, less need for help, and happier students.
  • use "thresholds" or "drop the lowest X labs" policies.
  • discuss academic integrity, not on the first day when nobody is considering cheating, but later when programs are getting harder.
  • let students work together, under some constraints of course. 
  • provide lots of help, whether via discussion forums, office hours, mentors, etc. 

We are actively developing more techniques to detect, and even more importantly to prevent, cheating. Signatures are improving with more info, similarity checking will detect rings of students, more auto-generated coding CAs are being developed, zyLabs may soon have auto-generation capabilities, and much more. Ultimately, we hope that our content will be so well structured with incremental steps and strong feedback, and that students will also realize that instructors can see their effort and their similarity to other code, that most students will simply do the work that is expected and have a great time learning to program, feeling proud of their accomplishment at the end of the day. 

Related articles

  • Won’t students cheat the system to get points?
  • zyLab coding trails
  • zyLabs SimChecker

Please sign in to leave a comment.

  • DOI: 10.1109/FIE.1999.840376
  • Corpus ID: 2335941

Experience using "MOSS" to detect cheating on programming assignments

  • K. Bowyer , L. O. Hall
  • Published in FIE'99 Frontiers in Education… 10 November 1999
  • Computer Science, Education
  • FIE'99 Frontiers in Education. 29th Annual Frontiers in Education Conference. Designing the Future of Science and Engineering Education. Conference Proceedings (IEEE Cat. No.99CH37011

Figures from this paper

figure 1

97 Citations

Reducing effects of plagiarism in programming classes, benefits and drawbacks of source code plagiarism detection in engineering education, lessons learnt in applying automated code plagiarism detection in an introductory programming module, source code plagiarism, evaluating plagiarism detection software for introductory programming assignments, observations on plagiarism in programming courses, investigating cheating in programming assignments with distance-based similarity analysis of strings and abstract syntax trees, mossad: defeating software plagiarism detection, program similarity detection tool, fooling moss detection with pretrained language models, 3 references, ethics and computing, related papers.

Showing 1 through 3 of 0 Related Papers

IEEE Account

  • Change Username/Password
  • Update Address

Purchase Details

  • Payment Options
  • Order History
  • View Purchased Documents

Profile Information

  • Communications Preferences
  • Profession and Education
  • Technical Interests
  • US & Canada: +1 800 678 4333
  • Worldwide: +1 732 981 0060
  • Contact & Support
  • About IEEE Xplore
  • Accessibility
  • Terms of Use
  • Nondiscrimination Policy
  • Privacy & Opting Out of Cookies

A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. © Copyright 2024 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions.

ACM Digital Library home

  • Advanced Search

Plagiarism in Programming Assessments: A Systematic Review

cheating on programming assignments

  • 35 citation

New Citation Alert added!

This alert has been successfully added and will be sent to:

You will be notified whenever a record that you have chosen has been cited.

To manage your alert preferences, click on the button below.

New Citation Alert!

Please log in to your account

Information & Contributors

Bibliometrics & citations.

  • Sheard J Denny P Hellas A Leinonen J Malmi L Simon Stephenson B Stone J Battestilli L Rebelsky S Shoop L (2024) Instructor Perceptions of AI Code Generation Tools - A Multi-Institutional Interview Study Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 1 10.1145/3626252.3630880 (1223-1229) Online publication date: 7-Mar-2024 https://dl.acm.org/doi/10.1145/3626252.3630880
  • Hoq M Shi Y Leinonen J Babalola D Lynch C Price T Akram B Stephenson B Stone J Battestilli L Rebelsky S Shoop L (2024) Detecting ChatGPT-Generated Code Submissions in a CS1 Course Using Machine Learning Models Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 1 10.1145/3626252.3630826 (526-532) Online publication date: 7-Mar-2024 https://dl.acm.org/doi/10.1145/3626252.3630826
  • Somers R Cunningham S Dart S Thomson S Chua C Pickering E (2024) AssignmentWatch: An Automated Detection and Alert Tool for Reducing Academic Misconduct Associated With File-Sharing Websites IEEE Transactions on Learning Technologies 10.1109/TLT.2023.3234914 17 (310-318) Online publication date: 1-Jan-2024 https://dl.acm.org/doi/10.1109/TLT.2023.3234914
  • Show More Cited By

Index Terms

Social and professional topics

Professional topics

Computing education

Computing education programs

Computer science education

Student assessment

Recommendations

Electronic media, creativity and plagiarism.

This article provides an introduction to plagiarism and the numerous negative aspects associated with it. Some examples from history have also been provided along with their outcomes. There are different types of plagiarism with varying legal and social ...

Predicting and Explaining Cyber Ethics with Ethical Theories

People face multiple decisions that have ethical dimensions and are often unable to resolve appropriately those ethical dilemmas in the use of the cyberspace. Individuals find it difficult to explain the rationale behind their moral judgments in their ...

Introductory computing students' conceptions of illegal student-student collaboration

Academic integrity and cheating are issues of specific importance in computing courses due to the restricted nature of much of our assigned work. Additionally, use of valued pedagogical and professional practices such as pair programming can muddy the ...

Information

Published in.

cover image ACM Transactions on Computing Education

Washington State University, USA

Association for Computing Machinery

New York, NY, United States

Publication History

Permissions, check for updates, author tags.

  • Introductory programming
  • academic integrity
  • Research-article

Contributors

Other metrics, bibliometrics, article metrics.

  • 35 Total Citations View Citations
  • 1,412 Total Downloads
  • Downloads (Last 12 months) 224
  • Downloads (Last 6 weeks) 13
  • Takahashi K (2024) A Support Tool for Instructors to Better Understand How Students Work on Assignments in Small Classes 2024 12th International Conference on Information and Education Technology (ICIET) 10.1109/ICIET60671.2024.10542769 (494-500) Online publication date: 18-Mar-2024 https://doi.org/10.1109/ICIET60671.2024.10542769
  • He F Fanaian M Zhang N Lea X Geale S Gielis L Razaghi K Evans A (2024) Academic dishonesty in university nursing students: A scoping review International Journal of Nursing Studies 10.1016/j.ijnurstu.2024.104752 154 (104752) Online publication date: Jun-2024 https://doi.org/10.1016/j.ijnurstu.2024.104752
  • Maral M (2024) A Bibliometric Analysis on Academic Integrity Journal of Academic Ethics 10.1007/s10805-024-09519-6 Online publication date: 4-Mar-2024 https://doi.org/10.1007/s10805-024-09519-6
  • Karnalim O (2024) Work-In-Progress: Student Motivation on Gamification in Maintaining Programming Ethics Towards a Hybrid, Flexible and Socially Engaged Higher Education 10.1007/978-3-031-53022-7_49 (495-502) Online publication date: 7-Feb-2024 https://doi.org/10.1007/978-3-031-53022-7_49
  • Toba H Karnalim O Johan M Tada T Djajalaksana Y Vivaldy T (2024) Inappropriate Benefits and Identification of ChatGPT Misuse in Programming Tests: A Controlled Experiment Towards a Hybrid, Flexible and Socially Engaged Higher Education 10.1007/978-3-031-51979-6_54 (520-531) Online publication date: 1-Feb-2024 https://doi.org/10.1007/978-3-031-51979-6_54
  • Soares J Brito M Gonçalves C (2023) Codeflex 2.0 Internet of Behaviors Implementation in Organizational Contexts 10.4018/978-1-6684-9039-6.ch003 (40-67) Online publication date: 30-Jun-2023 https://doi.org/10.4018/978-1-6684-9039-6.ch003
  • Mekterović I Brkić L Horvat M (2023) Scaling Automated Programming Assessment Systems Electronics 10.3390/electronics12040942 12 :4 (942) Online publication date: 13-Feb-2023 https://doi.org/10.3390/electronics12040942

View Options

Login options.

Check if you have access through your login credentials or your institution to get full access on this article.

Full Access

View options.

View or Download as a PDF file.

View online with eReader .

HTML Format

View this article in HTML Format.

Share this Publication link

Copying failed.

Share on social media

Affiliations, export citations.

  • Please download or close your previous search result export first before starting a new bulk export. Preview is not available. By clicking download, a status dialog will open to start the export process. The process may take a few minutes but once it finishes a file will be downloadable from your browser. You may continue to browse the DL while the export process is in progress. Download
  • Download citation
  • Copy citation

We are preparing your search results for download ...

We will inform you here when the file is ready.

Your file of search results citations is now ready.

Your search export query has expired. Please try again.

Universities, schools react to student use of generative AI programs including ChatGPT

Uni student Daniel hesitates when asked if he has used ChatGPT to cheat on assignments before.

His answer is "no", but the 22-year-old feels the need to explain it further.

"I don't think it's cheating," he said.

"As long as you accredit it and use it for like a foundation for your assignment I think it's fine."

A man stands on the steps of a stone building. He is wearing a hooded jumper.

Schools and universities have been scrambling to keep up since ChatGPT and other generative AI language programs were released in late 2022.

University student Lan Lang, 18, said quite a few people used generative AI for assessments such as English assignments.

"I do get Chat to like explain stuff to me if teachers don't really explain it that well," Lan Lang said.

A teenage girl and boy stand next to each other in a university building, smiling.

She said she used AI detection software on her work.

"We put it through Turnitin, which just basically detects if you've used AI, or if you've copied off anyone else's work," she said.

Caught out in schools

High school teacher Ryan Miller said he wasn't seeing a lot of generative AI used in the Year 12 and Year 8 classes he taught but understood from colleagues other age groups were using it.

A man wearing a bow tie smiles at the camera.

"What I hear, when I'm in the staff room, is that a lot of Year 9s, 10s, [and] 11s are pushing the boundaries," Mr Miller said.

He said Year 12 students tended to be more careful after being warned at the start of the year and constantly reminded of consequences.

"Basically, they're told if their work is seen to be made ... predominantly with AI, that it won't be assessed," he said.

Mr Miller said Year 8s, being a little newer to the school, hadn't used it as much.

He said teachers tended to give students a warning if they were detected using generative AI.

"And nine times out of 10 they'll probably own up to it and say, 'Yeah, look, it wasn't ... 100 per cent my own work'," he said. 

He said students would rewrite the work so it could be assessed again.

"But it's sort of a one warning per kid, per year for most teachers, I think," he said.

Fellow teacher Hugh Kinnane said generative AI was probably "pretty rife" in assignment work.

He said he most regularly saw it cropping up with students who were trying to avoid doing any work.

"And then it's a last-minute job," he said.

A woman sits at a desk. She is looking at the camera with a blank expression.

Drawing the line

University of Adelaide Deputy Vice-Chancellor Academic Jennie Shaw said while her university embraced the use of AI, it could still be used to cheat.

"So we're saying, of course, that is not allowed," Dr Shaw said.

She said generative AI was included in academic integrity modules for first-year students.

"We make it really clear to students what is OK and what is not OK," she said.

Dr Shaw said there were instances when students were encouraged to use generative AI and then critique the quality of its answer.

"What we are asking our students and our staff to do is to reference when they do use it," she said.

She said it was a requirement that as much content as possible was checked by similarity detection software.

According to Turnitin's website — which is used by the University of Adelaide as well as many other universities across Australia to detect AI-generated content— the company is committed to a false positive rate of less than 1 per cent to ensure not students are falsely accused of misconduct.

AI arms race

The software has put students at the centre of a battle for superiority between programs generating answers for their assignments and those designed to catch them out.

And according to Australian Institute for Machine Learning senior lecturer Feras Dayoub, some are getting caught in the crossfire.

A man stands in front of a whiteboard. He is smiling.

He said companies that created AI chatbots were trying to be undetectable while companies that created AI detection software wanted to detect everything.

"There will be a lot of false positives," Dr Dayoub said.

He said it could be an unpleasant experience for the student if the detector was wrong.

Two men stand in the courtyard of a university. They are smiling at the camera.

University student Ethan, 19, said single words were sometimes highlighted in his Turnitin submissions.

"It can be a bit inaccurate," Ethan said.

Dr Shaw said she understood the detection software had its faults.

"We would find probably two thirds of anything they pick up saying there's some unacceptably high levels of similarity here is often just picking up patterns in language," she said.

"I know some universities have chosen to turn it off because it does turn up lots of false positives.

"We're choosing to use it at this point."

Changing education

The Department of Education released a nationwide framework in December last year for the use of generative AI in schools.

Dr Shaw said the technology was changing the way teachers taught and students learned.

"But we still need students to have deep knowledge," she said. 

"We need them to know how to use the tools in their profession. 

"And again, one of those in many professions will now be generative AI, and we need them to be able to call out when it's wrong."

Dr Dayoub said he would prefer a future in which there was no need for detectors because people had changed the way they taught and assessed.

He said another option would be to take a stricter approach, where students did the work themselves and there would be no help.

"In that case you need the detectors so there will be a huge market for these detectors and it will become a race," he said.

"I don't like that future."

  • X (formerly Twitter)

Related Stories

Chatgpt's class divide: are public school bans on the ai tool giving private school kids an unfair edge.

A composite image of headshots of Arlene, Matt and Freya.

Scarlett Johansson 'shocked' by ChatGPT voice 'eerily similar' to her own

Scarlett Johansson at Avengers premiere.

ChatGPT was tipped to cause widespread cheating. Here's what students say happened

High school students sitting in a classroom using laptops

  • Computer Science
  • Information Technology Industry
  • Secondary Schools
  • Universities

Other than using great drugs, how can Biden cheat at the debate?

Other than using great drugs, how can Biden cheat at the debate?

Spoiler alert: an earpiece for me, but not for thee..

Have you heard about those 16 experts who have been working feverishly for a week in advance of Thursday night’s presidential debate, putting Joe Biden together in a Hollywood-style studio inside an airplane hangar like Sandra Bullock in “Miss Congeniality”?

As a past member of the Screen Actors Guild, I can assure you it’s true that sometimes a boneheaded actor just can’t remember his lines. In the old days in Hollywood, the director would yell: “Somebody from the art department get in here with a magic marker and draw up some cue cards … r ight now !”

Now, far be it from our side to engage in any “dirty tricks,” but IFBs operate on a radio frequency, and frequencies can be easily intercepted and jammed.

A large swath of the online right has spent the lead-up to the debate speculating about what exotic cocktail of drugs Biden will need to ingest to look sharp and sound coherent in his CNN face-off with Donald Trump. They’re thinking of the catatonic Robert De Niro character in "Awakenings.” Wrong movie.

Today, it’s much easier for the brain-cell-challenged actor who can’t remember anything. The answer is a wireless version of a pigtail earphone called an IFB — interruptible foldback — often used by newscasters. It’s an ear-prompter, a tiny device that sits invisibly in the ear canal. They’re readily available online. There’s one called Ovation , and the complete wireless package, which includes a recorder to hold prepared comments, costs around $1,000.

Such a unit, properly modified, could provide direct radio access for instant communication.

This is particularly valuable to a handsome bard who can’t act, either, in that his acting coach can reassure him and lead him from a distance. “Look up. Turn left. Look into her eyes.” Equipped with such devices, Biden’s 16 debate aides, divided into two teams speaking into left and right ear-prompters — one for dialogue and the other for direction — can become the greatest ventriloquists since Edgar Bergen manipulated Charlie McCarthy .

Just imagine moderator Jake Tapper asks, “What is the greatest threat to democracy?” And an aide-ventriloquist responds, “Donald Trump is the greatest threat to democracy!” Another aide says, “Look to your left with anger, Joe.”

With any luck, it will come out, “Trump is angry at the left, Joe.”

A further question, from Dana Bash, might be, “Will you pardon your son, Hunter, now that he’s been convicted of a gun crime?” The first aide says, “I will never stoop to that level.” Another aide panics and yells, “No, Joe! He said stoop, not poop! Watch out for the stairs!”

Of course, this isn’t the first time the idea of Biden using an earpiece has come up. In 2020, the Trump campaign complained that Biden’s camp first agreed to an inspection for illicit devices and then reneged at the last minute. A Biden spokesman denied the charge. Naturally, the unquestioning press accepted the spokesman’s statement and dismissed Trump’s claims as just another “conspiracy theory.”

Maybe. Who knows?

Now, far be it from those supporting the Bad Orange Man to engage in any “dirty tricks,” but IFBs transmit on radio frequencies, and those frequencies can be easily intercepted and jammed. A Trump campaign staffer would need a scanner. If Biden is using an IFB, the frequency wouldn’t be difficult to locate, unless he is using a more sophisticated device that hops frequencies.

Once located, it could be jammed — or taken over. The British did this often during World War II, using men and later women who spoke fluent German to insert confusing instructions over Nazi night fighter control channels. It worked marvelously well.

Not that the Trump campaign would ever consider such chicanery. Or that Biden would seriously consider cheating in the first place.

Want to leave a tip?

Chuck de Caro

Chuck de Caro

more stories

Hot take: travis kelce’s appearance at taylor swift’s london concert emasculated him, illegal alien accused of kidnapping, raping 15-year-old girl. albany officials accused of keeping crime quiet., watch the cnn presidential debate tonight with blaze media, sign up for the blaze newsletter, get the stories that matter most delivered directly to your inbox..

cheating on programming assignments

Forget Cheating. Here’s the Real Question About AI in Schools

cheating on programming assignments

  • Share article

Richard Culatta, the CEO of the International Society for Technology in Education, feels like the conversation around artificial intelligence in K-12 schools has turned a corner.

Instead of focusing on cheating, educators are starting to ask themselves what and how students should be learning in a world where generative AI tools such as ChatGPT-4 can pass almost every Advanced Placement test. But those questions are also arising at a time when many educators are uneasy about the role of AI in schools and its tendency to spit out wrong information and magnify societal bias .

Artificial intelligence and schoolwork image with hand holding pencil with digital AI collage overtop

He’s hoping those questions and concerns will be a central theme of ISTE’s conference, which will be held in Denver June 23-26. (Two Education Week writers will be covering a host of sessions and news from the conference.)

Culatta spoke on Zoom about where he wants to see the discussion on AI head next; what’s going on with Stretch AI , ISTE’s own “ Walled Garden” ChatBot ; the challenge of the end of federal COVID relief funding, and other topics.

Richard Culatta

This conversation has been edited for length and clarity.

AI was a huge topic at ISTE’s last annual conference, in Philadelphia. How have educators’ perceptions of AI shifted since then?

There is a level of maturity to the AI conversation that we’re just getting to.

For a while, the conversation was “ cheating or not cheating ?” And then it morphed into, “Look at all the cool tools!” Neither of those conversations are really all that helpful.

The conversation that we really need to be having is: How are we thinking about redesigning learning for an AI world? What does that mean for skills for students? What does that mean for skills for teachers? What does teaching and learning need to look like in the AI world?

Giving the types of assessments we’ve given in the past just doesn’t work in an AI world. And that’s OK, frankly, because most of the assessments given in the past were terrible. This is a chance for us to build better assessments. And that’s exciting.

But there’s a second part of it, which literally doesn’t have anything to do with the tools themselves. What are the human skills that we need to be doubling down on? I don’t think we know that, partially because we’ve never had to justify what is a uniquely human skill. If there was any higher order thinking, it was always humans that did it. We’ve never had tools that could come close to competing with us on that.

What are uniquely human skills? We could debate that, but creativity is one. Civility is one. Discernment is a really important one. AI is really good at generating lots of possibilities, far better than humans. But what it’s not very good at is discerning what’s the right path forward? What’s the right decision?

So, if we think about those as uniquely human skills, what does that mean for how we design school? We’re not designing school in ways that really double down on making sure every human is really on their A game with those uniquely human skills. And we should be. We need to be.

Speaking of AI, there was a lot of interest in Stretch AI, the tool that ISTE is currently developing. Where does the rollout stand?

We’re really looking at how we can use Stretch AI to help bridge the research-to-practice gap.

There’s a lot of really important education research that’s been written. Unfortunately, it’s written in formats that are very hard for teachers to read. And it’s published in peer-reviewed journals that are very hard to get access to.

Can we train stretch AI on actual education research and have it do the translation so that it can say, “hey, here’s what you need to know from the research articles,” but in ways that are simple and accessible for educators?’

Schools are about to lose federal COVID relief funding, which helped fuel education technology spending, including a nationwide shift to 1-to-1 devices. What are your thoughts on navigating through that challenge?

We’re at a time where we need to be more thoughtful, in part because of federal funding changing, about what tools and apps are considered high enough quality to put in front of kids. And we have to reduce the burden on schools to figure that out. Every school in the country is wasting a ton of time reviewing all these tools and apps on their own 15,000 times over. And we need to help take some of that burden off so that the school districts don’t have to do it one off, every app.

Any ISTE conference sessions you want to recommend this year?

We have a session this year, where we brought in some adult-learning experts, so chief learning officers from large companies. We asked them to talk about the trends that they’re seeing in workplace learning and adult learning, and what they mean for how we need to be preparing kids [for the workforce] before they graduate [high school].

I’m going to have a session around digital citizenship . We are going to be releasing a digital-citizenship curriculum. There really haven’t been many options for digital-citizenship curriculum out there. And we’ve created a new one.

It’s been over a year in the works. It’s starting from kindergarten up to graduating high school. [It’s] pitched in a positive way. It’s not the “list of don’ts” approach that is so unhelpful.

Sign Up for EdWeek Tech Leader

Edweek top school jobs.

Close-up stock photograph showing a touchscreen monitor with a woman’s hand looking at responses being asked by an AI chatbot.

Sign Up & Sign In

module image 9

Anne Arundel mother fights to clear daughter's school record in AI cheating case

by Chris Papst

Tara Davis says her daughter was unfairly accused of using artificial intelligence to cheat on a school assignment (WBFF)

The battle continues for an Anne Arundel County mother who is fighting to save her daughter’s academic reputation.

Tara Davis says her daughter was unfairly accused of using artificial intelligence to cheat on a school assignment, but she’s running out of chances to prove it.

“I want to keep going,” Davis told Project Baltimore. “I want to keep fighting the fight.”

Davis first spoke with Project Baltimore in May. Since then, she hasn’t gotten very far in her effort to clear her daughter’s name.

“I feel like I'm going in circles,” she said.

ALSO READ| 'Disciplined by a computer' - Maryland student fights AI cheating accusation

Davis’s daughter, who Fox45 is not naming, attends Broadneck High School in Anne Arundel County. Earlier this year, she was accused by the school system of using artificial intelligence to complete an English assignment. The sophomore denied the allegation but received a zero on the assignment.

The principal found her in violation of the district’s Academic Integrity policy for plagiarism, which now appears on her permanent student record.

“I know there are people out there that are having a similar experience, and their kids have had this happen,” said Davis.

In defense of her daughter, Davis has now filed four appeals with Anne Arundel County Schools. The first appeal went to the Broadneck High School principal who upheld the findings. Subsequent appeals went to the Regional Assistant Superintendent, the Associate Superintendent of School Performance, and most recently the District’s Deputy Superintendent.

All three additional appeals have upheld the original findings. But Davis says the process is unfair, because the school system has not given her daughter a chance to explain herself. She says her daughter has never been interviewed for any of the four appeals.

In her most recent appeal to the Deputy Superintendent, Davis wrote, “This matter is extremely important. This policy cannot fall under the plagiarism guidelines category - it’s an entirely separate animal that is treating good students unfairly. Something has to be done here and it has to be done now.”

The Deputy Superintendent replied saying, Broadneck’s initial investigation was “thorough” in concluding that the “style, syntax, vocabulary and sentence structure were not consistent with previous work submitted.”

The school has offered to remove the Academic Integrity violation from her daughter’s record at the end of senior year, if she has no more violations. But Davis says that may be too late.

“That's not good enough,” she said. “College applications happen long before graduation. So, colleges are going to see that academic dishonesty is on her record.”

ALSO READ| Pikesville athletic director charged in AI scandal misrepresented credentials on resume

Anne Arundel County Public Schools does not have a board-approved policy concerning students using artificial intelligence, which is why Davis’s daughter was disciplined under the broader district policy for academic integrity. Baltimore City, Baltimore County and Howard County Public Schools also do not have board-approved policies concerning AI.

But Carroll County Schools has been addressing the issue. At this month’s school board meeting, the board established AI standards. The district drafted a Syllabus Statement for classroom curriculum that says, in part, “While certain assignments in this course may permit the use of generative AI tools, such use is not allowed unless otherwise stated Intentionally submitting AI generated work as original is considered academic dishonesty."

“We’re preparing our kids for careers and college and for the real world, and these are things that are out in the real world,” said Carroll County Board of Education Member Tara Battaglia during the June 12 board meeting. “It does have a lot of good to it, we just have to make sure we’re using it correctly.”

In punishing Davis’s daughter, Broadneck High School used an AI detection program called GPTZero, which claims with 90% certainty that the paper was written by artificial intelligence.

ALSO READ| 'It's not a smoking gun'| Expert says AI detection not enough to prove student cheating

In the reply to Davis’s fourth appeal, the Deputy Superintendent wrote, “I have reviewed available information which notes that GPTZero is widely used and is reliable.”

But Davis wonders if the “available information” reviewed by the Deputy Superintendent included GPTZero’s own website, which cautions users. The website reads, “This result should not be used to directly punish students.”

Davis now has one more opportunity to clear her daughter’s name. After four failed attempts, she plans to file a fifth and final appeal to the Anne Arundel County Board of Education.

“I just want her to see that standing up for what you believe in and standing up for what's right, is worth doing,” Davis said of her daughter. “I'd love a positive outcome on the other side of this, so that she can actually see that it is worthwhile, even if it takes time and persistence.”

cheating on programming assignments

Programming

Head to scratch.mit.edu and sign up for an account on MIT’s website by clicking “Join Scratch” atop the page. Any username (that’s available) is fine, but take care to remember it and your choice of password.

Then head to https://scratch.mit.edu/help and take note of the resources available to you before you dive into Scratch itself. In particular, you might want to skim the Getting Started Guide at scratch.mit.edu/scratchr2/static/__1378420408__//pdfs/help/Getting-Started-Guide-Scratch2 .pdf.

Now it’s time to choose your own adventure! Your mission is, quite simply, to have fun with Scratch and implement a project of your choice (be it an animation, a game, interactive art, or anything else), subject only to the following requirements:

  • Your project must have at least two sprites, at least one of which must resemble something other than a cat.
  • Your project must have at least three scripts total (i.e., not necessarily three per sprite).
  • Your project must use at least one condition, one loop, and one variable.
  • Your project must use at least one sound.
  • Your project should be more complex than most of those demonstrated in lecture (many of which, though instructive, were quite short) but it can be less complex than Oscartime. As such, your project should probably use a few dozen puzzle pieces overall.

Once finished with your project, click See project page in Scratch’s top-right corner. Ensure your project has a title (in Scratch’s top-left corner), some instructions (in Scratch’s top-right corner), and some notes and/or credits (in Scratch’s bottom-right corner). Then click Share in Scratch’s top-right corner so that others can see your project. Finally, take note of the URL in your browser’s address bar. That’s your project’s URL on MIT’s website.

What’s your project’s URL on MIT’s website?

Write an algorithm (i.e., step-by-step instructions) via which someone could walk or drive from some origin to some destination, perhaps a path that you yourself tend to travel. Take care to specify what the origin and destination that you have in mind. And take care to use loops and conditions as needed, particularly if there might be obstacles (e.g., red lines). Assume that your algorithm will be executed by a robot (or lost friend) who will follow your directions precisely.

What does it mean to compile a program?

What’s the difference between a program and a function?

cheating on programming assignments

How serious is India’s exam cheating scandal?

Students protest as police investigate sale of exam papers.

Many students in India are furious after their state exams results were scrapped because of a corruption scandal.

Police are investigating a widespread leak of examination papers affecting more than three million young people.

So what is next for the students and the country’s education system?

Sami Zeidan

N Sai Balaji – Former President of Jawaharlal Nehru University Students’ Union.

Kiran Bhatty – Senior Visiting Fellow at the Centre for Policy Research.

Sravasti Dasgupta – Senior reporter at The Wire

Get the Reddit app

The highschool subreddit is a dynamic online community where students connect, share experiences, and seek advice. It's filled with engaging discussions on academics, extracurriculars, college prep, and social life. Find valuable tips, resources, relatable moments, and unforgettable high school moments in this vibrant hub of students all over the world. Share ideas, ask for advice and interact with your demographic here at r/highschool.

Please tell me, what should I do? The programming assignment in the computer class was mistaken for cheating. How should I fight for my rights?

Hello everyone,

I'm a high school student and I'm facing a dilemma recently. In my computer class, I've been falsely accused of cheating on a programming assignment, and I'm feeling quite confused about it. I'm seeking some advice from you all in hopes of resolving this issue.

Here's what happened: The teacher provided a reference photo with some code on it. I used the "Search Google for image" feature to copy the relevant text and then made modifications. At the time, I didn't expect the teacher to be monitoring my screen.

I'm feeling quite perplexed and anxious because I'm certain I'll be penalized by the teacher. The teacher explicitly stated that every word must be typed by ourselves, and I understand that, but I didn't pay attention to that requirement at the time.

I'd like to ask for your advice on what to do if I'm accused of cheating in this situation. More importantly, how can I avoid similar situations in the future, and how can I advocate for my rights?

Thank you very much for your help and suggestions. I hope to resolve this issue, which has been troubling me for some time now.

COMMENTS

  1. ULPT: How to Cheat on Programming Assignments and Get Away With It

    The line for cheating is blurry as it's context and culture dependent. For example, in a class I teach, it's not considered cheating to work together on programming projects. However, it is cheating to copy code from a peer or some other source. Depending on the course and the professor, it might be cheating to even talk about code.

  2. Cheating in Computer Science Courses

    In the program above, there are - (SP) and (SP)+. SP is the Stack Pointer. - (SP) decrements the stack pointer, and returns the address being pointed to. (SP)+ returns the stack address, then increments it. (two increments in the same instruction is well-defined, so line 4 is not a problem.)

  3. Caught Cheating in Computer Science : r/csMajors

    Caught Cheating in Computer Science. So I am currently a first year student at university. I was recently caught for cheating on two assignments. These are typical weekly assignments we have, but they are large, all of them being worth a total of 50% of our final grade. I was working on the first one and needed help with a specific function, so ...

  4. Charged with cheating on a programming assignment? Tips from a lawyer

    He is experienced in defending all types of college issues including cheating. Call Asselta Law today for a free consultation and protect your education. 855-338-5299 Click here to read what clients are saying about Richard Asselta on AVVO, a lawyer review website. Computer programming students face unique challenges when it comes to ...

  5. Plagiarism and Programming: How to Code Without Plagiarizing

    While learning to work with outside code is an important skill, programming assignments are meant to test your coding skill. That is impossible if you simply copy and paste the work of others. If you do your work, cite what you do copy and don't work with other students without permission, you should be fine. In that regard, programming is very ...

  6. Is it cheating on a coding homework assignment if you ask ...

    Receiving from another person (other than a instructor or a TA) a code fragment that solves any portion of a programming assignment Writing for or with another student a code fragment that solves any portion of a programming assignment Helping the same person find problems with their code more than a few times for a particular assignment

  7. As Computer Coding Classes Swell, So Does Cheating

    For a simple assignment, writing code that would allow one computer to visit web pages located on another, two students in H. E. Dunsmore's class at Purdue University turned in nearly 100 ...

  8. PDF Experience Using "MOSS" to Detect Cheating On Programming Assignments

    Experience Using 窶扨OSS窶・to Detect Cheating On Programming Assignm. outh Florida Tampa, Florida [email protected] and [email protected] - Program assignments are traditionally an are. of serious concern in maintaining the integrity of the educa-tional process. Systematic inspection of all solutions for pos-s.

  9. Impact of Several Low-Effort Cheating-Reduction Methods in a CS1 Class

    Cheating on programming assignments in introductory programming classes (aka CS1) is a well-known problem [1, 2]. The temptations provided by websites dedicated to sharing class content, low-cost help/tutoring sites, and anonymous communication with classmates via real-time apps like Discord or GroupMe exacerbate the problem [3].

  10. How to minimize cheating with open source assignments?

    For my computer science programming-based course, I'd like to: 1) host my course and assignments (without solutions) open and free to all (e.g., as public GitHub repos) but this seems at odds with also wanting to. 2) not have to deal with rampant cheating. Any open source assignments seem to suffer from the problem that a random stranger could ...

  11. Ten Strategies for Preventing Cheating in Coding Class

    Enter the regret clause. Dr. Malan gives students 72 hours after submitting their assignments to admit cheating. They'll get a zero for that work, but it won't be reported as academic dishonesty. Another approach is to offer a regret clause through a form that students fill out. The form allows them to withdraw programming assignment ...

  12. PDF Investigating Cheating in Programming Assignments with Distance-based

    This paper describes the framework for a new plagiarism detection tool for programming as-signments. Lichen (Let's Investigate Cheating with Human-understandable Explanations and iN-sights) aims to improve on the shortcomings of Moss in order to make it easier for professors to identify and report academic dishonesty in programming assignments. 1

  13. PDF How to Reduce Cheating in an Introductory Computer Programming Course?

    This paper presents the introductory computer science course cheating prevention strategy first introduced in (Sukhodolsky, 2015). It demonstrates how the described strategy reduces the problem of cheating in homework assignments to minimum. The paper first analyzes the problem of cheating.

  14. GitHub Copilot: Perfect for cheating in CompSci exercises?

    GitHub Copilot may be perfect for cheating CompSci programming exercises. 58. Shakeup in teaching looms as code-completion tool lets students 'bring an Uzi to a knife fight' ... Copilot was specifically trained on all the intro programming assignments ever," Berger wrote. "Copilot frickin' loves intro programming assignments."

  15. 1 in 10 uni students submit assignments written by someone else

    Published: August 30, 2021 4:10pm EDT. The worst kind of university cheating is also the hardest kind to catch, and more students do it than previously thought. Until recently, it was thought ...

  16. Cheating detection and prevention for programming tasks

    Cheating detection and prevention for programming tasks. Many instructors ask what we do to reduce cheating on programming tasks. We take a multi-faceted approach: Similarity checker -- For most zyLabs languages, instructors can run our built-in similarity checker to detect submitted programs that are very similar. Similarities are highlighted.

  17. Experience using "MOSS" to detect cheating on programming assignments

    The authors have used MOSS in several large sections of a C programming course and feel that MOSS is a major innovation for faculty who teach programming and recommend that it be used routinely to screen for plagiarism. Program assignments are traditionally an area of serious concern in maintaining the integrity of the educational process. Systematic inspection of all solutions for possible ...

  18. Experience using "MOSS" to detect cheating on programming assignments

    Abstract: Program assignments are traditionally an area of serious concern in maintaining the integrity of the educational process. Systematic inspection of all solutions for possible plagiarism has generally required unrealistic amounts of time and effort. The "Measure Of Software Similarity" tool developed by Alex Aiken at UC Berkeley makes it possible to objectively and automatically check ...

  19. Plagiarism in Programming Assessments: A Systematic Review

    Experience using to detect cheating on programming assignments. In Proceedings of the 29th Frontiers in Education Conference. Designing the Future of Science and Engineering Education. ... Steven Bradley. 2016. Managing plagiarism in programming assignments with blended assessment and randomisation. In Proceedings of the 16th Koli Calling ...

  20. Universities, schools react to student use of generative AI programs

    Uni student Daniel hesitates when asked if he has used ChatGPT to cheat on assignments before. His answer is "no", but the 22-year-old feels the need to explain it further.

  21. Other than using great drugs, how can Biden cheat at the debate?

    Chuck de Caro was CNN's very first special assignments correspondent. Educated at Marion Military Institute and the U.S. Air Force Academy, he later served with the 20th Special Forces Group (Airborne). He has taught information warfare at the National Defense University and the National Intelligence University.

  22. I'm owning up to my academic misconduct for cheating on programming

    I don't feel okay with my actions. I copied code while knowing the possible repercussions for doing so. Being under pressure to finish my programming assignments while worrying about the workload from my other classes last quarter resorted in frantically trying to turn in working code that I can't say was my own.

  23. Forget Cheating. Here's the Real Question About AI in Schools

    Instead of focusing on cheating, educators are starting to ask themselves what and how students should be learning in a world where generative AI tools such as ChatGPT-4 can pass almost every ...

  24. Introduction to Programming

    Part 1: Determining Perfect Numbers. Create a Java project in IDE and begin the Project Program by writing a multi-line comment at the top that describes the purpose and function of the program.

  25. Anne Arundel mother fights to clear daughter's school record in AI

    Tara Davis says her daughter was unfairly accused of using artificial intelligence to cheat on a school assignment, but she's running out of chances to prove it. "I want to keep going ...

  26. Programming

    This is CS50 AP, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for students in high school, which satisfies the College Board's AP Computer Science Principles (CSP) curriculum framework. Students in high school may receive AP credit for this course provided their school approves the credit and administers the College Board's ...

  27. DAF releases FY25 Special Duty Assignment Pay tables

    ARLINGTON, VA, June 24, 2024 - The Air Force and Space Force have completed the annual review of special duty assignment pay for enlisted members and established new guidelines to support a quadrennial SDAP board process. The SDAP board has transitioned to having a board every four years, rather than annually. The change is intended to stabilize the budget for Airmen and Guardians receiving ...

  28. Just got accused of cheating on a programming assignment, what ...

    There's no excuse for it. My professor emailed me correctly believing I cheated on an online programming assignment, and is offering me less punishment than the normal getting an F in the class. He is offering a 0 for the project and a letter grade drop for the class. I will fess up to him during his next office hours and be happy with his ...

  29. How serious is India's exam cheating scandal?

    Inside Story How serious is India's exam cheating scandal? Students protest as police investigate sale of exam papers. Read more

  30. Please tell me, what should I do? The programming assignment ...

    In my computer class, I've been falsely accused of cheating on a programming assignment, and I'm feeling quite confused about it. I'm seeking some advice from you all in hopes of resolving this issue. Here's what happened: The teacher provided a reference photo with some code on it. I used the "Search Google for image" feature to copy the ...