University of Minnesota
CSci 1113: C++ Programming
index.php

Collaboration and Academic Conduct in Introductory CSci Classes

"Can I have a copy of your program?" If you have taken another computing class, you might have been asked this by another student. You yourself might have been asked another student. If you get a computer-related job you might be asked this by another programmer. When it is OK to share computer code with others and when is it forbidden? Knowing and following what is good professional conduct is an important part of learning about computer programming. Companies that employ computer programmers do not want programmers who do not know or do not follow good ethical practices in their work: programming misconduct can lead to serious consequences for companies, including financial penalties, legal penalties, and loss of reputation.

Sometimes computer professionals collaborate, and sometimes they must work individually. Similarly, it is important to understand that some work in this class should be done collaboratively, and some should not. Specifically, the labs are set up so that you should be working with another student. Homework problems (unless explicitly stated otherwise) and exams, however, are individual work. It is important to understand this distinction.

In is particularly important to understand the rules about the homework assignments since these are individual assignments. You are welcome to discuss the problems in general, but must work out your own solutions. Students understand this means you should not copy another's problem solution and submit as your own. However, some students do not understand that verbatim copying is not the only type of misconduct. The following list, while not exhaustive, contains some additional types of conduct to avoid:

  • Obtaining another's solution, making changes so it appears different, and turning it in as your own.
  • Using a substantial part of another's code (rather than the entirety of it) in your own solution.
  • Having another person do part of the work for you, such as debugging your code, or providing you with an outline of the solution.
  • Working so closely with another person that you really solve the problem collaboratively, even if you write your answers separately.
  • Copying from the Internet or other external sources.
Additionally, it is important to realize that allowing others to copy your work can also be misconduct. Specifically, on individual assignments you should not work so closely with others that the work they turn in is substantially your work, regardless of whether it matches your answer verbatim or not. You should not give others copies of your answers, even if, for example, they claim the will only use them "to check their own answers." You should not be negligent with computer accounts, file permissions, etc. so that others can copy your work even if you do not explicitly give them permission.

In summary, we expect that you, as a CSci 1113 student

  • know general university rules and norms on what is and is not appropriate academic conduct;
  • know specific class rules on what is and is not appropriate conduct;
  • exercise good judgment and responsible behavior;
  • avoid actions that are clearly academic misconduct;
  • avoid actions that, while they may fall into the "gray area" of what is or is not misconduct, nonetheless demonstrate poor judgment or questionable behavior;
  • ask the course instructor for clarifications when unsure if something is permitted or not.
The last of these is particularly important. Part of good academic conduct is asking when the rules are unclear or when you are uncertain about them.