As stated in the Rights and Responsibilities handbook, “Every member of the University community is expected to maintain the highest standards of academic honesty. A student shall not receive credit for work that is not the product of the student’s own effort.”
In the real world, programmers almost always rely on colleagues, online resources, books and so on. No one memorizes every single call of an API or every single API. Software Development (and Computer Science) is a very fast moving field where we all build on top of work of others. In this course we try to reflect this reality.
However simply taking code from the web and renaming things and/or changing indentation would not be a good idea. Its important that you really understand what every line of code you submit does and the only way I know to do it is to write it and debug it yourself.
It is never cool to hand in work that is not originally yours, whether an essay or a program. We take this very seriously and will deal strictly with anyone who hands in work which is not the product of their own effort.
I know that students are under considerable time pressure. I want you to remember that we are flexible with giving out extensions, as long as you don’t take advantage. If you run out of time and you are tempted to just type in what another student got to work, resist! Ask for an extension!
Automated Checking Note that we run automated checkers that easily detect when your code is identical to something someone else handed in or on found the web
Here is how we determine that in this class
- You should never hand in code or work that you didn’t personally write. Cutting and pasting from somewhere and changing variable names and or comments is not allowed. Dictating and transcribing what is dictated is not allowed.
- A student who gives inappropriate help (even by accident or without knowing) is equally guilty with one who receives it. So, you must also ensure that your work is not copied by others, such as making sure to log out of shared computers, not leaving printouts of your code in public places, and not emailing your code to other students or posting it on the web. In particular you should not post your code on github or other public code repositories.
- You may ask for “hints” from the TAs or teachers or in the Latte online forum. If you give a hint, it should be general not specifying the code to write.
- You may use informational resources from the web, like stackoverflow, javadocs, blog posts and so on. But you cannot use the code find this way. In particular you must know exactly how every single line in your code works. You need to know how it got there, why it is there, and what it does.
- It is ok to work together with another student and exchange ideas, but not code. You might brainstorm together and help each other come up with improvements.
- You may not post your homework solution code online or ask others for online help. This includes public message boards, forums, file sharing sites and services, or any other online system. Asking a specific question about programming or datastructures online is ok, just not the whole solution.