Academic Honesty Policy
- 1. Introduction
- 2. Cheating
- 3. Good Collaboration
- 4. Bad Collaboration
- 5. Dangerous Collaboration
- 6. Foolish Collaboration
- 7. Penalties
- 8. Plagiarism Detection
- 9. Regret Period
- 10. Citations
1. Introduction
One of the (many) goals of this course is for you to become a better programmer. The only way to become a better programmer is to write a lot of programs. In line with this, we require that any work you submit be entirely your own.
You should read this entire policy. Here are the three most important points, however:
- Write your own code.
- Never look at another student’s code.
- Never allow another student to look at your code.
2. Cheating
This is a non-exhaustive list of things considered cheating in this course:
2.1. Homeworks
- Copying or stealing any amount of code from someone currently in the class or someone who has taken the class before.
- It does not matter if the code is provided electronically, visually, audibly, on paper, etc.
- Providing code you have written for an assignment to anyone else in the class.
- Never share your code with others in the class, including electronic sharing, showing someone code on your computer, verbally speaking the code, or writing down the code on paper.
- Finding code online and using it in the assignment
- Exception: you may use code from the course website or the official Java documentation from Oracle. Please include a citation with a link when you do this.
- Putting code solutions from the course assignments online, even after the semester.
- Receiving code-level assistance from any person not an instructor or teaching assistant with the current semester of the course.
- Getting someone else to write some or all of the assignment code for you.
- Asking questions about the assignments on any online services except the course Piazza.
- Attempting to ‘hack’ or decompile the autograder to produce solutions. (If you want to do this for fun, let the instructor know. I can set you up with something to play with.)
2.2. Quizzes and Exams
- Referring to any external resources while completing the assessment (phones, notes, etc.).
- Copying part of an answer off of another student’s paper, even if it is very small.
3. Good Collaboration
When working on homework, you are allowed to collaborate in the form of talking about the assignment together. The basic idea here is that you are encouraged to discuss the assignment together, but you should write your solution by yourself.
Here are some examples of healthy ways you could collaborate:
- Talk about the homework problems and discuss potential approaches to solving them.
- Use a whiteboard to draw diagrams, write notes, even sketch a basic algorithm to solve the problem. Erase the whiteboard when you are done, and don’t keep a copy of its contents. Wait 30 minutes, then work independently to write your solution.
4. Bad Collaboration
You should never look at another student’s code or allow another student to look at your code. You are responsible for ensuring you do not look at another student’s code and that no other students look at yours. You also need to be careful to make sure that you are not “short-circuiting” the learning process for each other by over-explaining ideas and robbing other students of the ability to learn by experience.
Here are some example of bad collaboration that is academic dishonesty:
- Having another student to look at your code to help you debug your program. (Or, helping another student debug their program by looking at it.)
- Working together to write pseudo-code (or code) on paper or a board, and then referencing that while writing your code.
- Looking at any part of another student’s code or allowing them to look at your code. Even a little bit. Even for just a second.
5. Dangerous Collaboration
There are certain things students tend to do that inevitably lead to academic dishonesty occuring, and as such we strongly discourage you from doing them:
- Working near each other and talking about the homework while you are writing your code.
- Asking the same student for help every time you get “stuck”. (Or always helping the same student over and over again.) In this case, head to office hours instead.
6. Foolish Collaboration
Sometimes students share code by accident or without thinking about it. Here are some annecdotes to consider:
- Don’t post pictures that include your code to social media. That Instagram photo of you with your laptop that happens to have your code open might get used by someone else…
- When your friend emails you near the deadline and says “Hey, I finished the homework and got 100%! I feel great. Can I look at your solution so I can see how someone else did it?” What they really mean is, “This is due tomorrow and I don’t know what I’m doing. I’m going to message my gullible friend and trick them into sending me their code.” Even after the deadline you shouldn’t do this, because you never know if that student worked out an extension with the instructor.
- Your friend might come to you in tears because the homework is due soon and they haven’t solved it and if they fail then…
… their family with disown them
… they’ll be forced to leave the university when they fail the class
… they’ll be forced to leave the university when they fail the class and then sent back to their home country
… they’ll lose their scholarship
… other very horrible situation
So please can’t you help me!
Usually these claims are exaggerated, even if only in the student’s mind. Even if they aren’t, the situation is complex enough that it isn’t wise for you to try and figure out what is best for that student. Encourage them to see their academic advisor and/or the instructor to discuss their situation. The faculty members are in the best position to be able to help. We don’t want to see students fail and get sent away, either. If you give them your code, they’ll definately fail (for academic dishonesty) and this time they’ll take you with them.
7. Penalties
Penalties come from the course instructor and are decided based on the severity of the offense. Here are some past examples:
- Receive a -100% on the assignment.
- Receive a full letter-grade reduction in the course.
- Fail the course automatically.
A letter may also be sent to student affairs, which may lead to further penalties such a suspension or expulsion.
8. Plagiarism Detection
We will look for cheating using both automated and manual means. If you copy code, we will find you.
9. Regret Period
Sometimes people make mistakes. Sometimes they regret them. We’ve all done stupid things and wished we could take them back. Now you can!
After a homework submission deadline, anytime within 24 hours you may rescind your submission with no questions asked. Simply email the course instructor and ask them to delete the submission and they will do so. That submission will not be graded (so will receive a score of 0) but will also not be analyzed for plagiarism. It is better to get a 0 than an academic dishonesty violation! Plus, you’ll be able to sleep well at night.
10. Citations
Parts of the policy come from Kelly Rivers and 15-112 in Pittsburgh.