Ethical Guidelines for Transylvania University CS Students

Dr. Kenneth Moorman
Dr. Tylene Garrett
Dr. James Miller

Introduction

Computer Science is a field where collaborative work is the normal method of interaction. You will find yourself, in the ``real'' world, constantly referring to past code that you or others have written. The purpose of education, though, is to ensure that you have grasped the fundamental concepts which are needed to do well in the field. We therefore want to ensure that the work you turn in for evaluation is your own work.

Of course, collaboration is still a valuable way of learning material. But, just as it is wrong to copy an article and turn it in as your own, it is also not ethical to copy someone else's code and submit it as your own. To address both sides of this issue, we have the following guidelines:

1.
On the item which is turned in, list all of the sources which you consulted about the assignment. This includes the professor, Internet sites, books, and other students.
2.
For each source, indicate what it added to your code. Did you, for example, get ideas? Get pseudo-code? Get actual code?
To help you with deciding what is and is not allowed, we now give you some examples of what is OK and what is not.

Acceptable collaboration

1.
In the planning stages of a project, it is perfectly acceptable to talk about the issues with other people in the class.
2.
If you forget how to call a particular function in C++ and your classmate is sitting at the next computer, ask them. That's OK, really.
3.
Stuck on exactly what test cases you should run through your program? Ask a friend. They might be able to suggest things you have overlooked.
4.
Using another textbook (or other previously published source) to help you understand something that the regular text does not make clear to you is acceptable.
5.
Working together on homework assignments (not programming projects) is fine as long as is it truly a collaborative effort and not merely copying.
Unacceptable collaboration
1.
Any kind of assistance during a quiz or a test.
2.
Copying actual code.
3.
Allowing someone to copy your code.
4.
Looking at someone else's code.
5.
Allowing someone else to look at your code.
6.
Copying files from somewhere online or copying code out of another textbook.
7.
Using, in any form, someone else's code from previous years.
How we catch you

Except for the very simplest of programs, it is almost impossible for two programs produced independently to look very similar to each other. Let's think about this for a second. Suppose you have written 100 lines of code for a fairly short project. In these 100 lines, there are 15 major things happening. Let's suppose that 3 of these are so standard that there's only one good way to do them. That leave 12 blocks of code which are more flexible. Let's suppose, since we are playing hypothetical games here, that there are four good ways to do each of the remaining 12 blocks.

That is 124 possible ways of doing the non-straightforward part of the program. Or 20736 possible programs which could be turned in. If there are 15 people in a class, then the chances that two folks have turned the exact same techniques without consultation are rather low, about a half of a percent chance that the two programs were done independently.

Of course, very few people will turn in code that is identical. However, usually when unethical collaboration has occurred, we find that a few variables have been changed or the order of a few statements have been altered. If you can take someone else's code and alter it so well that we cannot tell where it came from in the class and it still runs, then you could have written the code from the beginning by yourself. Strange, but true.

If a professor suspects a student of cheating, the students involved will be called in to explain the program. If the work was performed independently, then each student should be able to explain the details of their solution. If not, it's more evidence that a cheating event has occurred.

Punishments

OK, it's happened. For whatever reason, you have cheated on an assignment. What are the options we have for punishment? Interestingly, a lot of that depends on you. If you cheat, are beset with feelings of remorse, and come to the professor in question and confess, then a lenient punishment will result. If you cheat, get caught, and confess when first confronted with the act, then a less lenient punishment will ensue. And, if you cheat, get caught, maintain your innocence, and finally are proven to have cheated, a severe punishment will result.

What do we mean by these ``levels'' of punishment? Usually, a lenient punishment would be to be allowed to redo the assignment for half credit. The next level would be to get a 0 on the assignment. And the final level would be to fail the course. Regardless of the punishment, a report will be made to the Dean concerning the incident.

Conclusions

Studies show that most college students think about cheating and that many college students do. This does not mean that it should ever be considered an acceptable form of behavior. It's an old cliche, but you are cheating yourself. And, you are you cheating your friends in the class. If you feel the urge to cheat, if you feel that the class is ``forcing'' you to cheat, please talk to someone. There are many ways to resolve issues without taking on personal and ethical risks with potential lifetime consequences! Don't risk your integrity.

Accepting the policy

It is important for you to understand the rules, the penalties, and the rationale for them. For this reason you will be asked to read and agree to this policy before you start working on any of the assignments.