There can be a fine line between working together appropriately and inappropriately. Working with others, asking questions, and explaining concepts are important steps in the learning process and are strongly encouraged. Copying someone else's work or allowing your work to be copied in any setting (hwk, lab, exams, etc.) does not promote learning, is unfair to honest students, is not allowed in this course, and will be immediately reported to Student Judicial Affairs as is now required by university policy. Students that observe inappropriate activity should report what they see (anonymously if desired) to a TA or the instructor.
Make sure you read the UCD Code of Academic Conduct.
The remainder of this document attempts to make the separation between encouraged collaboration and unpermitted collaboration as clear as possible. If in doubt, play it safe and ask the instructor first!
Discussing material covered in lecture, or the readings.
Discussing the requirements of an assignment.
Discussing features of the languages, tools, and libraries used in the class.
Any discussion between you and the instructor. You are welcome to discuss any and all ideas, design, code, debugging, etc. with the instructor.
Discussing more detailed concepts of designing, implementations, or debugging.
"I can't get test cases with a negative input to work." Assistance: "Did you check the sign extension of the subtracted input?"
"My design for the viterbi block is enormous!" Assistance: "Did you take advantage of the timing requirements and time-multiplex your ACS processor?"
Copying. This is the most blatant violation. You may not use anyone else's work, or allow anyone else to use your work.
Using work from past quarters. Using someone's work or solutions from a previous quarter is an obvious violation.
Looking at someone else's work. You should never read anyone else's work before yours is submitted, whether it is on the screen or written out by hand.
Debugging with another person. Working at the same computer as someone and trying to fix a bug is not allowed. It makes it too easy to look over someone else's work, and allows (sometimes unintended) copying. Describing to someone your general problem and asking for advice on how to fix it is okay, but you should do the actual debugging yourself.
Copying someone else's high-level design. Discussing high-level design with someone else and sharing ideas and critiquing each other's design is okay if attributed. However, just taking someone else's design is not allowed. It is akin to taking someone else's outline for a research paper and basing your paper on that.
Discussing assignments in such detail that you duplicate a portion of someone else's work in your own design.
You may not permit your work to be used for any unpermitted collaboration.
Any interactions with cheating websites such as chegg or coursehero are violations of course policy.
Read SJA's Suggestions for Avoiding Academic Misconduct.
Read Student Affairs' Stress, Academic Honesty and the Pandemic.
This policy is based on the collaboration policy used in CS 106X at Stanford University.
2005/03/07 Minor edits 2017/02/04 Minor edits 2017/05/31 Minor edits 2018/06/28 Minor edits 2018/09/26 Significant restructuring to sync versions 2019/01/07 Minor edits