This policy statement is unfortunately necessary, thanks to the actions of a tiny minority of students. If you have any questions or concerns, please don't hesitate to ask in lecture, in lab, during office hours, on Piazza, or by email.
These are the same ethical standards that researchers are expected to follow in their formal publications. For comparison, see the guidelines published by the Association for Computing Machinery (ACM), the American Mathematical Society (AMS), the American Physical Society (APS), the Institute of Electrical and Electronics Engineers (IEEE), and the Society for Industrial and Applied Mathematics (SIAM).
For more information and examples, see any of the following:
Submitting someone else's work without giving them proper credit is plagiarism, even if you have the other person's explicit permission. Submitting someone else's work without giving them proper credit is plagiarism, even if that “someone else” is a computer program. Citing your sources will not lower your homework grade.
Allowing someone else to use your ideas without giving you credit is also an academic integrity violation.
Classes in some other departments allow and even encourage verbatim copying in small doses. For example, if you want to claim that an expert holds an important or controversial opinion, it is usually better (more honest, more accurate) to quote them verbatim, instead of rewriting their opinion in your words.
But computer science classes are different. We won't ask you to defend a hypothesis or opinion using evidence or rhetoric. What we will ask for are formal, logical, mathematical arguments. Expert opinion is irrelevant here; the math must speak for itself. In particular, we are asking you to demonstrate your expertise in formal, logical, mathematical reasoning and communication. You can only demonstrate expertise in something by actually doing it. (The same argument goes for programming classes. Your MPs are not just asking you for working code; they are asking you for evidence of your ability to independently produce working code.)
That said, if you want to use an algorithm from the textbook, lecture notes, lectures, labs, or previous homeworks in your solution, just use it (and cite it) and carefully describe any necessary changes.
These penalties are consistent with the CS department's recommendations.
In accordance with department, college, and university policy, we report all academic integrity cases to the Computer Science department, to the student's college, and to the Senate Committee on Student Discipline through the FAIR (Faculty Academic Integrity Report) system. Multiple offenses, even in different classes, can result in suspension or expulsion.
Remember that Your goal is to learn to solve problems, not to collect points. The only way to learn to do the thing is to actually do the thing; watching someone else do the thing isn't enough.
If you really need points for motivation, remember that points on the exams are worth significantly more than points on the homework. Regardless of whether it constitutes plagiarism, or whether you get caught, getting too much help on your homework will hurt your final grade. If you don't learn how to solve algorithmic problems on your own, you will perform poorly on the exams, which make up at least 65% of your final course grade. Several students with homework averages over 90% have failed this course.
Given all the recent hype around ChatGPT and similar AI language models (Bard, Google Copilot, etc.) many students may be tempted to use them to "help" with homework. As policy, we are treating langauge models just like every other source—you are welcome to use it, provided you cite it and write your answers yourself in your own words—but we also want to caution you about relying on them too much.
ChatGPT and similar models are designed to produce plausible-looking text. Despite breathless language to the contrary in innumerable press releases, ChatGPT does not "know" or "understand" anything; anyone who says differently is selling something. A good high-level summary of the problem that ChatGPT solves, over and over again, is “Here are seven consecutive words from a sentence; what’s the most likely eighth word?” Basically, it's a grownup version of Dissociated Press.
You should think of ChatGPT as a drunk who hangs out at the neighborhood bar and tell stories for drinks. He’s very good at telling stories, and he will expound—fluently and authoritatively—about any topic you give him, but in fact, everything he knows about the topic comes from some vague snatches of conversation he heard other people talking about at the bar last week. Sometimes our Corner Bar Expert gets lucky, but as a rule, his words are just plausible-sounding drivel. In particular, even for topics where he's likely to mirror the right high-level intuition, unless he's directly quoting something that he's heard before, the fine details are likely to be fictional or incoherent.
You should also remember that ChatGPT was trained on text from the internet; the influence of large crowd-sourced sites like Geeks4Geeks and StackExchange—whose content quality can be charitably described as high-variance—is quite clear. Relying on ChatGPT is roughly equivalent to relying on the average self-proclaimed internet expert, or perhaps more accurately, on the average self-proclaimed internet expert's parrot. (More specialized models like Minerva and phi-1, which were trained on more carefully curated data and which check their own work, yield better solutions for simple math and programming problems, but even for those simple problems, “better” is still not good.)
That doesn't mean you can't use ChatGPT (or Geeks4Geeks, or any other questionable source) to help you solve homework problems. After you make a good-faith effort—at least a couple of hours—to make progress on your own, then it can be useful to ask ChatGPT, and then try to figure out what's wrong with ChatGPT's answer. Because something is going to be wrong. Once you understand what ChatGPT did right and wrong, you're in a better position to write your own answer, in your own words.
In fact, this is the approach I would suggest for any source, including the official course materials. Work on your own first, assume that your source has errors, find those errors (or prove to yourself that there are no errors), then go back to working on your own. (Hopefully the official course materials have fewer bugs than ChatGPT's output, but yes, they have bugs.)
Before we assign any homework problem, we confirm that GPT-4 does not solve that problem correctly (although it night still earn some partial credit). We also give GPT-4's output to the graders.
Groups of up to three people are allowed to submit a single solution for each homework. Every member of the group receives the same grade and the same credit for the entire assignment. That means every member of the group is responsible for the entire assignment.
In particular, groups must not delegate one problem to each group member; only the students who actively worked on a problem may add their names to the solution. At a minimum, you must read, understand, and approve anything submitted with your name on it. Allowing someone else to add your name to a solution to which you made no contribution is plagiarism. This does not mean that every student in a group must contribute good ideas or must help in the actual writing of every group solution. Asking "stupid" questions, proposing bad ideas, shooting down bad ideas, working out examples (even if they don't appear in the solution), uncovering bugs, and even just acting as a sounding board for other group members are all legitimate contributions.
If a submitted homework contains plagiarized material, we will separately determine each student's culpability (if any) and penalty (if any), in accordance with Student Code. By default, every member of the homework group will be given the same penalty. (Again, this is the same standard that is applied to coauthors of research papers.) If you cheat, you are not only endangering your grade, and possibly your academic career, but your colleagues’ as well.
As illustrations, consider the following scenarios involving a group of three students (A, B, and C) collaborating on a three-problem homework set. In every scenario, the group agrees in advance that each student will write up and submit the solution for one problem — A will handle problem 1, B will handle problem 2, and C will handle problem 3 — with all three names at the top of each solution. Variants of all these scenarios have actually happened. Yes, even the last two.
All three students are guilty of plagiarism and would receive an undroppable zero on the entire homework set.
Student A is guilty of plagiarism and would receive an undroppable zero on the entire homework set. Students B and C followed the rules; their problem 1 would be forgiven.
All three students are guilty of plagiarism, although for different reasons. All three students would receive an undroppable zero on the entire homework set.
All three students are guilty of plagiarism. An academic integrity infraction is added to their disciplinary records even though they dropped the course.
Student C is technically guilty of plagiarism, but they would probably receive only a warning. Problem 3 would be forgiven for all three students.
Let's go through this one carefully.
Almost every instance of plagiarism I have seen was motivated by a combination of two factors.
If you find yourself in this situation, ask for help! If you need help understanding the material, come to office hours, ask questions in class, ask questions on Ed Discussion and/or Discord, talk to your fellow students. The course staff will even make extra appointments to help guide you through the material or give you feedback on tentative solutions, but only if you ask. (But please remember that our goal is to help you master the material, not just to help you get a better grade.)
If you think a homework problem is unclear, please ask for clarification. Your confusion might indicate a gap in your understanding of the course material, but it might also indicate that the question is poorly stated, unfairly hard, or even impossible. Our job is to help you learn the material; please let us know if we aren't doing our job.
We do expect solutions to be written in clear, coherent English. If you are thinking of copying someone else's words because you are uncomfortable with English, you are probably better off taking a class to improve your English instead of this course.
Asking for help does not make you "look stupid". Quite the opposite—it means you are smart enough to recognize your own limitations and work to overcome them. Asking for clarification is not an insult to the instructor or the TAs. Quite the opposite—questions are valuable feedback that we can use to teach more effectively. Everyone suffers from Impostor Syndrome occasionally, including your professors. Most importantly, please remember that your grade is not a statement about your intelligence, your potential for success, or your worth as a human being; it's only feedback about your mastery of the course material.
If your situation is very serious, or not directly related to this class, you may prefer to discuss your situation with your department or college advisor, a family member, a trusted friend, or the counseling center, but please talk to someone.
Please be aware that our standards for academic integrity may be different than what you're used to. This point is especially important for international students. The standards we apply in this class are a proper subset of the standards applied to Illinois faculty and most other professional scientific researchers. (Fortunately, we don't have to worry about authorship and author ordering policies, accurate recording and reporting of experimental results, or ethical issues with animal test subjects.)
Our job as instructors is to help you master the course material. We ask that you write everything yourself so that we can make an honest assessment of your facility with the course material, and therefore give you useful feedback. We allow wide latitude in choosing the resources you need to learn, because we believe that freedom will help you learn more effectively. We trust that you will use those resources responsibly and ethically. Plagiarizing other people's work to improve your grade is an abuse of that trust. It is unfair to us and to your fellow students.
We are painfully aware of differences in cheating policies and their enforcement in different classes, both within and outside the computer science department. Within the guidelines of the Student Code, the university gives faculty broad discretion (under the rubric of academic freedom) in defining what constitutes "cheating" and how stringently cheating policies are enforced. Sometimes these differences lead students to believe that cheating policies are overly restrictive or inconsistent, and so can be justifiably ignored.
We believe that our policies are fair, but even with the best of intentions, people make mistakes. If you believe that any policies in this course are unclear, unfair, or inconsistently applied, we strongly encourage you to voice your concerns to the instructor, any of the teaching asisstants, and/or the department administration. If you wish to complain anonymously, feel free to send me an anonymous private message on Ed or Discord, speak with one of the TAs, or leave a note under my office door or with my assistant Shannon Glynn-Lyke.