Academic Integrity

Summary of CMU Academic Integrity Policies.

Carnegie Mellon University prohibits academic dishonesty. This includes both plagiarism and cheating, and may consist of: submitting the work of someone else as one’s own; unauthorized assistance on a test or assignment; or the failure to properly cite materials or ideas from other sources. Plagiarism is a form of intellectual theft. One can plagiarize even if one does not intend to.

Per the qualifications in the sections below and in all other respects, the university policies and procedures on academic integrity will be applied rigorously. Please read the University Policy on Cheating and Plagiarism carefully to understand the penalties associated with academic dishonesty at Carnegie Mellon University. The professors reserve the right to determine an appropriate penalty based on the violation of academic dishonesty that occurs. The penalty for plagiarizing may range from failure on the specific plagiarized assignment to failure in the class. Repeat offenses can result in severe penalties including, potentially, expulsion from the university. If you have any questions about this policy and any work you are doing in the course, please feel free to contact the professor(s) for help.

Overview of Academic Integrity Policies for this Course.

This is an introductory programming course.
It is also a studio course in arts practices.

These two aspects of the course establish different expectations, depending on the two different kinds of Deliverables given to you: privately submitted, technical Assignments (and also Examinations), versus public, open-ended Projects. As a result, this course has unique requirements and guidelines for academic integrity, discussed in the sections below.

  • Policies for Technical Assignments and Examinations
  • Policies for Open-Ended Creative Projects
  • Summary of Academic Integrity Policies

In all cases, the originality of your work is paramount — whether you are working solo or collaboratively, and whether you are working on a privately-submitted Assignment or a publicly-presented Project. 

Policies for Technical Assignments and Examinations

As students in an introductory programming course, you will be asked to to complete standardized technical Examinations and privately submit code for programming Assignments. Generally speaking, the problems you will encounter in these contexts have a correct solution (or small number of possible correct solutions), and require you to demonstrate fluency with a specific programming technique. You are expected to complete such Examinations and Assignments entirely on your own, solo. Evaluations (i.e. grading) of your performance on these solo tasks is an entirely private matter.

Unless otherwise noted, for Assignments and Examinations, students are encouraged to talk to each other, to the Professor or TA, or to anyone else. This assistance, however, is limited to the discussion of the problems in general or to general techniques. You may not take notes or record these discussions. Each student must then develop his or her own solutions to these problems. Consulting (viewing) another student’s solution is prohibited, and submitted solutions may not be copied in whole or in part from any source. (This includes code you may find in a reference book or online source.) It is categorically forbidden to outsource work to people outside the course (e.g. your friend from CS).

To summarize: for Examinations and Assignments, do not look at other students’ code or written answers, and do not show them your code or written answers, until after the assignment deadline has passed and the assignment has been submitted and graded. And: do not email or otherwise electronically or physically transfer your code to other students, and do not receive such transmissions from other students, until after the assignment deadline has passed and the assignment has been submitted and graded.

In addition to manual checks on homework and exam submissions, we also employ a sophisticated automated plagiarism detector. Here is a video demonstrating how it works. It is probably more work to attempt to defeat this plagiarism detector than to simply learn what you need to solve the problem.

Consequences of cheating/plagiarism:

Assignments or portions thereof that are deemed overly similar (as opposed to mostly identical) will face these consequences:

  • 1st event: no penalty (just a warning)
  • 2nd event: -2.5 times the points involved on the exercise
  • 3rd event: additional -5.0 times the points involved on the exercise
  • 4th event: additional -10.0 times the points involved, and a letter to the Dean of Student Affairs
  • 5th event: fail the course and another letter to the Dean of Student Affairs

By contrast, Assignments that are deemed mostly identical (and not merely overly similar) are an immediate cheating violation, and will face these consequences:

  • 1st event: letter-grade drop at the semester and a letter to the Dean of Student Affairs
  • 2nd event: fail the course and another letter to the Dean of Student Affairs

Finally, regarding proctored events (Examinations and Quizzes): any copying or collaboration of any kind (no matter how seemingly minor) on any proctored event will face these consequences:

  • 1st event: fail the course and a letter to the Dean of Student Affairs

These are the general rules, and while we do not anticipate exceptions, we respect that they may occur, and so the faculty reserve the right to make appropriate adjustments as the particulars of any case require.

Policies on Informal Assistance.

Our course places a high value on civic responsibility that includes, but is not limited to, helping others learn. In this course, we strongly encourage you to give help (or ask others for help) in using various toolkits, algorithms, libraries, or other facilities. Please note the following expectations:

  • Students who receive help from someone else, such as a classmate or friend, are obliged to acknowledge that person in their project report, clarifying the nature of the help that was received.
  • We are all teachers. Students with advanced skills are expected to help others, yet refrain from doing another’s work for them. One can usually tell when one is about to cross the line. Ask yourself whether you are teaching someone to fish, or merely giving them the fish.
  • When in doubt: give credit to the people who have helped you.

Policies for Open-Ended Creative Projects

The rules and expectations are somewhat different for your open-ended, public-facing Projects, which will be presented and hosted in this WordPress site. For these Projects, there is no correct answer. Your curiosity, creativity, ingenuity and originality are prized. You may collaborate on such Projects, if you desire, with your classmates. You may also borrow code from other sources, within the limits of certain “reasonable person” principles described below, provided you attribute your sources. Your work will appear, publicly, on the open internet. Your Projects will likely be discussed and critiqued in front of (and with the assistance of) your peers.

As studio art students, you are expected or invited to make extensive use of open-source libraries and freely-distributed code. When working in this way, much like a knitting circle, our classroom is structured around peer instruction, in which students are expected to help each other learn, and invited to collaborate.

Use of Free and Open-Source Code in Projects.

Credit is perhaps the most important form of currency in the economies of commons-based peer production and open-source media arts. You must cite the source of any code you use. Please note the following expectations and guidelines:

  • Check the License. When using others’ code in your Projects, pay very careful attention to the license under which it has been released, and be certain to fulfill the terms and requirements of those licenses. Descriptions of common licenses, and their requirements, can be found here and here. Some licenses may require permission (obtain it!) or even require you to purchase the author a beer.
  • Use Libraries. In your Projects, the use of general, repurposable libraries (such as p5.js Libraries) is strongly encouraged. The people who developed and contributed these components to the community worked hard, often for no pay; acknowledge them by citing their name and linking to their repository.
  • Be Careful. It sometimes happens that an artist places the entire source code for their sketch or artwork online, as a resource from which others can learn. The assignments professors give in new-media arts courses are often similar (e.g. “Clock”); you may also discover the work of a student in some other class or school, who has posted code for a project which responds to a similar assignment. You should probably avoid this code. At the very least, you should be very, very careful about approaching such code for possible re-use. If it is necessary to do so, it is best to extract components that solve a specific technical problem, rather than those parts which operate to create a poetic experience. Your challenge, if and/or when you work with others’ code, is to make it your own. It should be clear that downloading an artwork from e.g. OpenProcessing and simply changing the colors would be disgracefully lazy. And doing so without proper citation would be outright plagiarism.

Formal Collaboration in Projects.

In the field of new-media arts, many projects require a diverse set of skills. You can also learn a lot by sharing and negotiating code with someone else. For this reason, collaborations between students on Projects are optional and/or encouraged. Please note the following expectations:

  • Students who wish to collaborate should jointly inform the professor as early as possible.
  • It is expected that all of the students involved in a collaboration will write code. “I’ll be the artist, you be the engineer” is not OK.
  • Collaborations in this course will be restricted to pairs of students. No trios, quartets or flash mobs.
  • Written reports for collaborative Projects should describe how effort was distributed.
  • Your Project collaborator, if you have one, must be in 15-104 or 60-212. For the purposes of this introductory class, you may not collaborate with others (e.g. your housemate).
  • To be clear, these policies on collaboration apply to public Projects (shown on the blog) and not to private Assignments (submitted to Autolab).

Sources. This document combines academic integrity policies articulated by Prof. David Kosbie for his 15-112 course at CMU, with policies by Golan Levin used previously in 60-110.