NOTE: This page is for an old offering of the course. To find the latest course offering, please visit https://comp311.rice.edu/.
Plagiarism and Cheating
Let’s be clear: plagiarism is not acceptable. Be aware that we will use sophisticated tools to detect plagiarism and cases of plagiarism will be referred to the Rice Honor Council. To that end, let’s spell out what constitutes acceptable vs. unacceptable behavior.
- The Internet is full of amazing resources, like StackOverflow, where all sorts of technical questions are asked and answered. You may not post a question directly relating to a Comp311 assignment on any online forum beyond our private Piazza forum. Soliciting external assistance constitutes cheating, whether or not you get a useful answer. That said, if you wish to post a question in public that’s not especially related to Comp311, such as trying to understand how to configure IntelliJ’s screen colors, we don’t really care.
- For your homeworks, you may find Internet resources that have partial or maybe even complete written solutions to your specific assignment. Use of these specific resources constitutes plagiarism, except for the following caveats:
- If you found inspiration in some Internet web page providing generally useful advice or code which is not a partial or complete solution to your assignment, you must cite your sources, typically by placing relevant URLs in comments in your code. We encourage you to share helpful URLs with your colleagues via Piazza. If you’re not sure whether some Internet resource is acceptable, ask a labbie or your instructor first.
- You may directly copy at most two lines of code from any given Internet source. You must still cite your sources.
- If you wish to use a larger block of code (or a complete library) from the Internet, that is only acceptable if the code block or library is a general-purpose tool unrelated to the specific goals of an assignment. For example, if we are having you implement a text adventure game, where the goals of the assignment are for you to design the relevant data structures and game mechanics, we won’t have a problem with you using an external library that somehow lets you have cool fonts or images.
- Copying and then trivially rewriting larger blocks of code (e.g., changing variable names, comments, indentation, or other forms of refactoring) is treated the same as if you directly copied the original code. Be aware that our plagiarism tools are very good at detecting this sort of thing.
It’s common for students to speak to one another and look over one another’s shoulders, perhaps with one student giving another a guided explanation of how to solve a problem. Comp311 is not a group-work class. You’re expected to do your work on your own. That said, if you’ve figured out a clever way to do something and you want to proudly share it with your colleagues, here are some rules to guide you:
- Keep your hands off of your colleagues’ keyboards.
- Don’t cut-and-paste code into email, Piazza, or any other form of sharing, except for the two-line rule above.
- It’s fine to walk somebody else through your hand-written lecture notes, the online slides, or reference code that we provide you.
- It’s fine to provide an explanation with examples of how to use a general-purpose API (e.g., we’ll see APIs for setting up a web server) or even how to use the reference code we provide you, but it’s not acceptable to provide examples that directly address requirements of the projects and labs.
Committing early and often. It’s good software engineering practice to commit your changes to the central repository on a regular basis. This way, if you make a mistake, it’s easy to roll back to an earlier version, and if your computer fails, you don’t lose any of your work. This good practice also has the side effect that we, your instructors, can see the entire history of your work: when you made each change along the way from the start to the completion of your work. We will use this information to help us decide plagiarism cases. If, for example, your code appears all at once and seems very similar to another student for whom we have a stream of commits, we will take that as evidence that you didn’t do the work and that you copied from your colleague. (Both of you, in this case, would be reported to the Rice Honor Council as having violated this policy.)
Public posting. Lastly, we must speak to your responsibilities with respect to prior and future students of Comp311. We expect to reuse assignments from year to year. Therefore:
- You must not post your project or lab solutions online in any publicly accessible fashion (e.g., on a public Github page).
- You must not post the reference code for the “edu.rice” code that we provide you online in a publicly accessible fashion.
- And, you may neither look for nor use prior class year’s solutions to Comp311 in any fashion whatsoever.
- If you’re otherwise enamored with the reusable library code that we create in Comp311, we’ll happily point you to open-source alternatives.
- We will use plagiarism detection tools that compare your work to our reference code as well as your colleagues this year. Future students’ work will be compared to yours as well. If we detect plagiarism in any fashion, we will report you to the Rice Honor Council.
- If we detect that you’re sharing your code in any such fashion, even in future years after you’ve completed Comp311, we will still report you to the Rice Honor Council. Keep your Comp311 solutions to yourself.