T-Th 9:05
or
T-Th 11:15
in Olin 155

CS 1110: Introduction to Computing Using Python

Fall 2013

Academic Integrity

We ask you not to cheat, in any way, shape, or form. In return, we will try our best to be fair about the amount of work we are giving you, in the grading of that work, and in giving you a course grade. You can always talk to us if you have any gripe or criticism about the course, and we will attempt to respond to it immediately.

Some forms of cheating are pretty straight-forward. Others, less so. Every year, we find several academic integrity violations. In many of these cases, the students were not necessarily intending to cheat. In particular, while they understood how plagiarism applies to writing paper, they did not understand the concept of plagiarism in computer science. It is important to understand plagiarism, and how it differs from other forms of cheating, as that is major part of our course policies.


Cornell Code of Academic Integrity

Cornell University has a Code of Academic Integrity, which explains clearly what is academic cheating and what is not. This website explains the academic integrity procedures from the standpoint of the student, the instructor, and the members of an Academic Integrity Hearing Board. You spend some time right now, and read it:

http://www.theuniversityfaculty.cornell.edu/AcadInteg/

Violations of the Cornell University Code of Academic Integrity occurring in Computer Science courses are taken seriously. As a student, you need to understand the gravity of violations of the Code. The following are excerpts from a longer version of the Cornell University Code of Academic Integrity. The exclusion of any part does not excuse ignorance of the Code.


Principle

Absolute integrity is expected of every Cornell student in all academic undertakings.

A person must in no way misrepresent their work fraudulently, unfairly advance their academic status, or be a party to another person's failure to maintain academic integrity. The maintenance of an atmosphere of academic honor and the fulfillment of the provisions of this Code are the responsibilities of the students and faculty of Cornell University. Therefore, all students and faculty members shall refrain from any action that would violate the basic principles of this Code.


General responsibilities

A student assumes responsibility for the content and integrity of the academic work he/she submits, such as papers, examinations, or reports. A student shall be guilty of violating the Code and subject to proceedings under it if they:

  • knowingly represents the work of others as their own.
  • uses or obtains unauthorized assistance in any academic work.
  • gives fraudulent assistance to another student.
  • fabricates data in support of laboratory or field work.
  • forges a signature to certify completion or approval of a course assignment.
  • in any other manner violates the principle of absolute integrity.

Plagiarism and Computer Science

One of the key things to understand about programming, and computer science in general, is that is a writing-heavy discipline. When you create a computer program, you are writing a document, just like you write documents in an English class (or any class that involves a lot of essays). Therefore, many of the same rules that apply to writing essays also apply to computer programs, particularly regarding plagiarism.

According to one definition, plagiarism is an act or instance of using or closely imitating the language and thoughts of another author without authorization and the representation of that author's work as one's own, as by not crediting the original author [source]. It is easy to see that this definition includes computer programs. Here are just a few examples of what could constitute plagiarism in computer science.

  • Copying another person's program verbatim, and passing it off as your own.
  • Translating a program from one programming language to another, without citing the original.
  • Implementing a description of an algorithm, without citing this algorithm in your code.
  • Not acknowledging all of the authors who have worked together on a single program.

As with an essay or written document, there are different types of plagiarism. A program that copies the flow of another program, but which has different variable names or comments is an instance of structural plagiarism. Plagiarism is a serious offense, and it is one of the gravest violations of the Code of Academic Integrity.

The primary defence against plagiarism is acknowledgment. If you worry that your code may count as plagiarism, you should cite the original source (or original authors) in the source code. As long as you follow all the coding conventions of this class, this should never be a problem. But at the very least, you should always do the following:

  • A computer program must list of all of the authors who worked on it.
  • If the code is copied from another source, this must be acknowledged in the comments.
  • If the code is a port from another language, this must be acknowledged in the comments.
  • If the code is an implementation of an algorithm, this must be acknowledged in the comments
    (with a reference to the article/book/website describing the algorithm, if it is uncommon).

If you follow these rules, then you will not be guilty of plagiarism. However, there are other forms of cheating beyond plagiarism. If an assignment instructs you to work on your own, then copying of any form is cheating, even if you properly cite the person that you worked with. This is an important distiction, as we will treat these two issues very differently in this course.


Specific Policies for CS 1110

In this course, we will make a distinction between plagiarism and non-plagiarism cheating. If we suspect that an assignment, or other computer program, is an act of plagiarism, then we will conduct an official Academic Integrity Hearing. Should you be found guilty, this verdict will be officially recorded by Cornell University.

On the other hand, if you cheat or violate the Code of Academic Integrity in a way that does not count as plagiarism, then we will not hold a hearing or prosecute you in any form. We still reserve the right to deduct a substantial number of points from your grade, but your actions will not be recorded outside of this course. No one will learn of your actions.

The ramifications of this policy are clear. If you find yourself copying someone's work, or violating the Code of Academic Integrity in any way, it is best to admit that you have done so. Admitting to cheating will only hurt your grade. Plagiarism could lead to harsher penalties, such as expulsion from the university.


CS 1110 FAQ

What constitutes plagiarism should hopefully be clear. However, what does and does not constitute cheating is less clear, particularly considering that many of you will work on an assignment with a potential partner. The guidelines below are to help you understand this better. Note that when we say "you" in the following statements we mean "you and your partner", if you are allowed to work with a partner.

What must I not do?

For exams, you must not have access to any reference material (unless allowed by the instructor) while the exam is being held. You also most not copy or look at the exam of another student while the exam is underway. Access to previous years exams and solutions is allowed; we change the exams each semester.

For assignments, you must not do the following:

  • You must not have or look at the code of another student in the course.
  • You must listen to someone reading the code of another student.
  • You must not show or read your code to another student.
  • You must not have or look at the code of a student for a similar assignment in a previous version of this course.
  • You must not remove your partner's name from an assignment, unless you do not use each other's work.
  • You may discuss your work with other students. However, cooperation should never involve other students possessing a copy of all, or a portion of, your work (regardless of format). If you are worried that your code may be too similar to another person's after talking with them, then you should admit to this discussion in your comments. If we determine that the similarity is negligible, we may not even adjust your grade.

    How do I submit my work?

    If you work with a partner, the you must submit only one assignment for the both of you. Your names as co-authors must be clearly present in the submitted assignment, as per the coding conventions. You must not remove your partner's name from an assignment unless you do not use each other's work; in this case, you would submit separately.

    If you have discussions with another person or group, but do not believe that you have copied their work, then attribution is up to you. We encourage you to admit to these discussions in your comments, but you will not be penalized if you do not (so long as there is no evidence of plagiarism).

    How do you catch violations of Academic Integrity?

    We use Moss, which was developed by a Cornell PhD. We give the Moss web-based software a directory containing all the submissions and another file containing the skeleton we gave you for that assignment. Moss returns a list of pairs of submissions, ranked by the percentage of similar lines and showing exactly where the similarities are. Changing variable names does not help.

    For some assignments, this is not necessarily evidence of a violation. For a very simple program, there is only way to write it correctly, and Moss will match 100% of the submissions. But code similarity is unlikely for the more complex assignments. We have a lot of experience with violations and handle them on a case-by-case base.

    If you are interested in how Moss works, you may take a look at it here.

    Can I use someone else's iClicker?

    You must not submit answers using someone else's iClicker. This is a form of impersonation and an Academic Integrity Violation. Each student should have their own iClicker and should use only their own.

    Who should I contact about violations?

    If you are concerned that an action may be a violation of the Code of Academic Integrity, please contact the course staff. Remember, we will not prosecute a violation so long as it is not plagiarism; we will only assign grade penalties, depending on the seriousness of the violation.

    If you suspect someone else of Code violation, please contact the course staff.


    Course Material Authors: D. Gries, L. Lee, S. Marschner, & W. White (over the years)