T. P. Baker |
As stated in most course syllabi, every student is required to read the FSU Academic Honor Policy ( http://dof.fsu.edu/honorpolicy.htm) and follow it. The Academic Honor Policy not only puts you on your honor not to cheat. It requires that you report any cheating that you observe. The purpose of this page is to clarify what is allowed and what is not allowed with respect to the kind of cheating that gives the most trouble in CS courses, i.e., plagiarism.
Most students are honest, have a well developed ethical sense, and don't need to be given such detailed instructions on what is allowed and what is not. However, because of University policy and a few past experience with students who tried to excuse cheating by complaining that the rules were not stated clearly enough, I have found it necessary to draw sharper lines and go into more detail.
By turning in work for a grade in a course I teach you are representing it as being entirely your own individual work, unless I have specified in writing that you are permitted to work in teams on a specific assignment. If teamwork is specified, the work turned is required to be only the work of the people on the team, and all team members are expected to participate fully. I may require members of each team to evaluate one another's participation, and use those evaluations in determining the grade for the course.
You may well ask "What does `individual work' mean? Shouldn't I make sensible use of references and prior art?". When a person has a question or a problem it is normal to search publications (including the web) for information, ideas, and sometimes even code. However, there are intellectual property laws and academic ethics that restrict what you can do with the work of other people, and some still stronger restrictions on what you can do for programming assignments for my courses. The following paragraphs are intended to explain these restrictions. However, these are distinctions that can sometimes appear to be fuzzy. If, after reading this section, you are still in doubt about whether something you are considering doing would be a violation of intellectual property law, academic standards, or the rules of the course, you should either refrain from doing it, or consult the instructor for a ruling. Likewise, if you are unsure whether something you have observed is allowed, please do not hesitate to consult the instructor.
It is important for all citizens, especially future writers and software development professionals, to understand the basics of intellectual property law. Computer software is subject to both copyright and patent law. Copyright law protects the representation of a written work, whether it be a photograph, drawing, diagram, text, or computer code. Copyright law says that all such works start out as owned by the original author and cannot be copied legally without permission of the owner. If you have permission to copy, you generally required to give credit to the copyright holder and a note saying that the work is reproduced with her/his permission. There is an exception for copying small amounts of text without permission, if you identify such quotations and give credit to the author, under a vaguely defined principle called "fair use". Patent law protects the ideas behind a work. It restricts what you can do with ideas you get from other people. If an idea is patented, you cannot use it at all without a license.
Unfortunately, simple statements about law -- like the ones above -- always turn out to be oversimplifications. That is the nature of the legal system. The laws are complex and are continually being modified by the actions of legislatures and courts. Every lawyer I've ever asked for legal advice has ended by saying he cannot predict the outcome if a case comes to trial, since the ultimate decisions are in the hands of the specific judge or jury. So, what should a person do? Do your best to gradually become better informed of the law. For example, you could read one or more of several tutorial's on the Web. FSU's ODDL has placed links to some such tutorials at http://online.fsu.edu/learningresources/academics.html#copy. Then, you should exercise conservative judgment. If you are in doubt about whether what you are about to do would be a violation of intellectual property law, you should either refrain from doing it, or consult a lawyer to get clarification.
Scholarly ethics start with the law, and go further. Academic ethics require that if you use information or ideas obtained from the work of another person you must at least give proper credit to the original author, identifying what you have used, where you obtained it, and who is the person to whom credit is due. Failure to give proper credit or properly indicate uses of someone else's work is plagiarism, which is a violation off the FSU Academic Honor Policy. Giving credit means citing the source of the information in the body of the paper (or program) at the point where it is used, and then including a full citation for the source in a list of references at the end of the paper (or program). Further, if any material -- and this includes diagrams and computer code, as well as text -- is used verbatim, it must be clearly identified as quoted text and include a citation of the original source. You must use quote-marks around each section of quoted text in a paper (and special delimiting comments for code), with a number or abbreviation for the in-line citation, referring to an entry in a list of the full citations at the end of the document. For a more detailed explanation of plagiarism, I suggest you read FSU Political Science Professor Dr. Paul Hensel's web page on plagiarism and proper citation practices http://garnet.acns.fsu.edu/~phensel/citation.html.
In the context of a course where programming assignments are used to assess what you have learned, even a few lines of code may represent a great deal of creative thought, and so you are held to a higher standard for originality and independence of programming assignments than you may have found for the work in some other courses.
You are required to design and write your own solutions. You are not allowed to show your code to another person or to read the code of another person, other than code that I have provided you as instructor for the course.
You may not put more than two (2) lines of code related to a solution to a programming assignment in any message to a person other than myself, as course instructor, or to the TA if there is a TA for the course.
You are responsible for taking steps to protect your code, including setting the permission bits on the directory containing your code to make unreadable to anyone except yourself, not leaving a workstation where you are logged in unattended (someone might step up and read your code or print out a copy), and not leaving printouts of your code in the printer or a public wastebasket. This also means you cannot send all or part of your solution to an assignment to another student by e-mail, chat-room, or bulletin-board. If another student leans over your workstation to read what you are doing, tell them to back off, and contact the lab monitor if they persist in trying to read what you are doing.
The only code written by another person that you may reuse in a program that you turn in for grade are the following:
Code that I have provided for you, as instructor of this course, this term in a public forum, provided you clearly identify the code that is reused and where it came from. (Do not assume that you can use code from other courses or prior offerings of the same course if it is not posted for the course in the current term.)
Code you found in a textbook used in a course you have taken, provided you clearly identify the code as reused and include a citation of the textbook in your comments.
Code you found published on the Internet, provided you mark it clearly as reused, include the URL in a comment, and the web site where you found it has a clear statement giving permission for anyone to reuse the code.
If you reuse source code of type (2) above, limit yourself to comparatively short blocks of quoted code. Excessively long quotations from a textbook may violate the "fair use" provision of the copyright law, and in any case are considered poor academic practice. The same is true of excessively long quotations of text in a research paper. Moreover, the purpose of the assignments is for you to practice your own writing and programming skills. Therefore, you will not get credit for a research paper that relies on an excessive amount of quoted text, or a program that relies on an excessive amount of quoted code.
The only libraries you may link in with programs you turn in are standard libraries defined by published standards (e.g., C libraries, C++ Standard Template Libary, POSIX/X-Open Unix libraries) that are available on the systems provided by the CS Department for you to do your assignments.
Failure to follow these rules will be considered a violation of the Academic Honor Policy. In courses that I teach, unless the course syllabus specifies differently, the first detected violation will result in a zero score for the work in question, and a second detected violation will result in a grade of "F" for the course.
In some courss I may use the services of turnitin.com or other automated techniques to assist in enforcing these rules.
© 2002, 2007
T. P. Baker & Florida State University.
($Id: plagiarism.html,v 1.2 2007/08/23 17:20:37 baker Exp baker $) |