Collaboration & Academic Integrity
Collaboration policy
Unless otherwise noted, all assignments are solo assignments.
The point of an assignment is to learn things and develop skills. Therefore, you gain nothing if all you do is copy your friend’s code and turn that in, or if you and your friend each do a different half of the assignment.
To effectively collaborate or get assistance from your peers, you should first do as much on your own as you can, but to talk things over with others when you get stuck. Discussion and asking questions is always a good thing, but using those things as a crutch and not learning the material yourself is a bad thing. So your goal should always be to do as much on your own as you can, and to ask for hints in the right direction when you are completely stuck. This approach can take a bit longer than simply “asking someone for the answer”, but on the other hand, struggling through your own mistakes until you finally solve the problem will teach you the material far better than will someone simply telling you the solution.
Can I post code on public forums if I have problems?
It is almost never okay to post your code on a public forum. If it is code unrelated to the MP for clarification purposes, or maybe just a couple lines that does not give any information about your implementation then it should be fine. A better solution for more than ~5 lines of code is to submit your code to the repository so course staff can see all of the necessary files and debug from that, then post a private question with your NetID and a description of your error/bug.
Don’t share your code!
All of the MPs are solo assignments. Each assignment has been crafted to be challenging but accessible and able to be completed. In fact, many of the data structures that are fundamental to you having a complete understanding of data structures are introduced and learned through assignments.
In some assignments, you create a sharable artifact at the end of the assignment (eg: an image). We hope you will share these. However, you should never share the source code for basic course assignments, even after the semester.
Thought 1: Interviewers want to see my CS code!
FALSE. Tech companies target UIUC because of the course work that everyone completes, allowing them to know that every student coming through UIUC is excellent. Recruiters and interviewers are not interested in code that you (and everyone else they talk to) completed as part of a regular course assignment. Instead, they are interested in projects written outside of regular coursework – which you should share! :)
If you only talk and show off your course work, you’ll be telling a interviewer something they have heard many, many times before. Note that a final project – chosen by you – is often an exception to this rule of thumb.
Thought 2: Sharing my code helps my friends!
FALSE. Copying (or allowing your friend to copy) assignments may give you the impression that you have fully ‘understood’ the solution as written. However you will likely find that such actions will only hurt your understanding the material in the long term. If you (or your friend) does not understand – and cannot produce from scratch – the code in the assignments, you (or your friend) will struggle on the exam and do far worse in the course than if you had a few small errors in your MP.
Additionally, each MP will be checked for signs of plagiarism against other students in the class. If we find your code is used by another student, the University considers both of you in violation of your academic integrity. You can read more about academic integrity here.
University policy about integrity violation
By this point in your education, we expect you’re familiar with what is and is not acceptable academic behavior.
- Any form of cheating on exams is unacceptable. The penalty for cheating on an exam is failure in the course.
- Labs are meant to be done in a more collaborative setting (the lab) and you are encouraged to discuss the broad ideas of the assignment and the concepts therein with your peers. However your code should still be entirely written by you and you alone.
- MPs are meant to be done individually. Again, note the distinction between copying code and discussing a part of the assignment you are stuck on. Getting help from current students or course staff is acceptable; blatant copying of code or even code workflows are not.
- You may not use or refer to solutions written in past semesters or found online.
Keep in mind that despite our fairly loose policy, we will be testing your individual understanding of the MPs via the exams.
In general we follow the CS Department policy on academic integrity, with the following notable exceptions:
- Any infraction of academic integrity on an MP will result in a 0 on that MP, regardless of when we notify you. This zero is not replacable through make-up work and cannot be ‘dropped’ like a regular low-grade assignment.
- Any infraction of academic integrity on an MP will result in a 100 point penalty in your final course score. Note that this is different, and slightly less severe, than the suggested departmental policy.
- Every violation of academic integrity will be reported to the department and will become a part of the offending student’s permanent record, even if he/she drops the class before the violation is discovered. Note also that students with academic integrity infractions are not eligible for grade replacement.
- There are no minor infractions. Do not sign in attendance for your friends. Do not give a friend a printout of your code. Do not ask someone who took the class in a previous semester for help of any kind. Do not copy code directly off the internet and claim it as your own.