Academic Integrity - Fall 2023


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; submitting work from an AI-based tool 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 review the CMU Academic Integrity Policy 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 course penalty for plagiarizing and/or cheating may range from a -100% penalty on the specific assignment (e.g. -3 points instead of 3 points, not 0 points), to failure in the class. The university review violations, and egregious or 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 instructor 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, concepts questions and 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

As students in an introductory programming course, you will be asked to to complete answers to conceptual questions, code for technical assignments and solutions to exam problems. Generally speaking, the problems you will encounter in these contexts have a correct solution (or resonably small number of possible correct solutions), and require you to demonstrate fluency with specific computing principles and programming techniques. You are expected to complete such work entirely on your own, solo, without the aid of other individuals or AI-based tools. Evaluations (i.e. grading) of your performance on these solo tasks is an entirely private matter.

Unless otherwise noted, for Concept Questions and Technical Assignments, students are encouraged to talk to each other, to the Professor or TA, or to anyone else, however this assistance is limited to the discussion of the requirements of the problems or to related course material. 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 solution is prohibited, and submitted solutions may not be copied in whole or in part from any source, including current or prior students, programmers online, sources you may find online including discussion boards like StackOverflow and an AI-based tools, including ChatGPT, Code Assist, and others in this domain. It is categorically forbidden to outsource work to people outside the course (e.g. your friend from CS).

To summarize: for Examinations and Deliverables, 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. You may not provide your answers to students in subsequent semesters nor receive answers from students from prior semesters.

In addition to manual checks on homework and exam submissions, we also employ a sophisticated automated plagiarism detector. 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:

We will be reviewing your Assignments throughout the semester, noting when assignments are derived from another source (either a person or an AI tool) or overly similar over a set of assignments. If your work falls in to either of these categories, you can be charged with an academic integrity violation without warning. The first time this happens, you will be assessed a full letter grade drop at the end of the semester. If it occurs a second time, you will automatically fail the course. In either case, a letter will be sent to OCSI.

Finally, regarding proctored events (Examinations and Quizzes): any copying or collaboration of any kind (no matter how seemingly minor) on any proctored event will result in a failure in the course and a letter to OCSI.

Students who are charged with a violation are not permitted to withdraw from or drop this course to avoid the penalty.

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. If you are unsure if the work you’re doing violates academic integrity standards, ask your professor who will help you find a way to do the work the right way.


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 a bit different for your open-ended projects that might be posted online at some point for public consumption and critique. For these Projects, there is no correct answer. Your curiosity, creativity, ingenuity and originality are prized. You may borrow code from other sources, within the limits of certain “reasonable person” principles described below, provided you attribute your sources. Your work may appear, publicly, on the open internet. Your Projects will likely be discussed and critiqued in front of (and with the assistance of) your peers.

You are encouraged 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. Blatant plagiarism of artwork can also lead to an academic integrity violation report to OCSI.


Formal Collaboration in the Capstone Project

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 the Capstone Project is optional and/or encouraged. Please note the following expectations:


Sources: This document contains some elements of the 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.