In the 200-level CSC, COG, and ISC courses, as well as CSC 322 and CSC 344, students should not engage in any of the following activities while working on projects or homework, unless explicitly permitted in the assignment statement.
- Collaborative work with another student or students (whether also registered for the course or not) in which students share code solutions or answers. (This is called unauthorized collaboration.)
- Collaborative work with another student or students (whether also registered for the course or not) where a small fraction of the students produce the clear majority of the code, solutions, or results, or where a small fraction of the students solve the most complex components of the assignment. (This is called overcollaboration.)
- Accepting code, answers, or other work from another student, a tutor, or another person and presenting that work to the instructor, TA, or class as work completed individually. (In this case, all parties are considered to be committing an academic integrity violation.)
- Taking code, answers, or other work from another student, a tutor, or another person without their knowledge or permission, and presenting that work to the instructor, TA, or class as work completed individually. (In this case, those individuals who completed the work may be considered to be part of the academic integrity violation if it is found that their work was taken through their own neglect to secure it.)
- Search the internet, textbooks, or other sources (including homework or exams from other students who previously took the course) for solutions or code.
- Ask an LLM or other artificial intelligence source to produce solutions or code. If one asks an LLM or other artificial intelligence to translate or reword an assignment, chances are high that the machinery will produce solutions or code – steer clear of such requests in order to definitely avoid an academic integrity violation.
- Use full-line autocomplete in an editor to direct the production of code to solve an assigned task. A student must understand how their own code works, even if an editor suggested that code to them, and a student should not use code that they do not understand or know how to reproduce in other contexts.
- Allow a tutor, friend, relative, or any other human to produce solutions or code on their behalf.
Engaging in these behaviors undermines the development of skills, knowledge, and understanding in students, often without the realization of the resulting weakness in the student! Engaging in these behaviors erodes independence and confidence, typically resulting in dependency on external sources – in some extreme cases, this dependence can even develop into addiction.
Things to Do to Avoid Committing an Academic Integrity Violation
- Turn off full-line autocomplete in your editor now, if not the moment you first download it.
- Use text editors or basic code editors without artificial intelligence-powered suggestions.
- Delete all artificial intelligence and LLM apps from your devices, or move the icons off your desktop. Delete history and bookmarks so browsers no longer suggest such sites. Temptation out of sight is easier to resist!
- Ask friends, classmates, or tutors to help with problems similar to assigned computational tasks (but not the assigned ones!) or about the mechanics of syntax, with examples unrelated to the assigned tasks. Give yourself the chance to put the pieces together for yourself, independently!
- When you’re working with a tutor, don’t work on the specific tasks on the homework! This way, the tutor can’t get excited and accidentally solve your problems for you … and, you’ll still get the help you need to develop the necessary skills for solving the homework yourself.
- Go to office hours and ask your professor for advice, and for assistance in understanding core concepts and syntax. Your professor is around to do more than just demo! Building a good relationship with professors and having them get to know you a little bit more makes it easier for them to provide solid references and letters of recommendation later on, too.
- Solve problems and write code individually; never share your code or approach with another student who has not already completed the assignment. It might be fun to work in the same room, but sometimes that ends up in code-sharing … be careful to protect your ideas and code, even from friends, so that you are sure you are turning in your own work and so are they.
- Point out where code issues / bugs are in a program or suggest potential sources of error, but do not resolve these issues for another person. Part of learning to program is learning how to debug and resolve common problems.
- Keep track of all external sources used when completing an assignment. List these sources in a comment at the top of a program, or as an additional reference list in a project, or a hand-written note on a homework assignment.
- Ask first – there is no forgiveness later! If you aren’t sure whether or not you’re allowed to use a source on an assignment, ASK FIRST! You really can’t undo a violation, and it’s so hard to earn your professor’s trust back. But also, you can’t “re-learn” the content in a productive, effective way.