Collaboration Policy and Academic Conduct

In this class you are expected to uphold standards of professional conduct and academic integrity. The University policies on academic misconduct apply to this class.

Proper academic conduct means being honest about your work and being respectful in your communications with staff and other students. It means not presenting the work of others as your own. It means not collaborating on parts of class we ask you not to collaborate on.

Computer graphics is (usually) a team sport. In fact, learning computer graphics (and, arguably, learning in general) is best done in collaboration with others. Unfortunately, in a university class setting, we have the unfortunate constraint that we must grade individuals independently, so we need to have people work independently on graded assignments so that we can assess them. Therefore, there is a fine line between “collaboration” and “academic misconduct”.

For CS559, we want to encourage collaboration. However, we also need to make sure that each individual gets appropriate credit for their work.

The Professional Conduct and Academic Integrity (Department of Communication Arts) page has a nice summary of the University policy that includes Professional Conduct and Academic Integrity. The University’s definition of academic misconduct is at UW Definition of Academic Misconduct.

Syllabus statement: By virtue of enrollment, you agree to uphold the high academic standards of the University of Wisconsin-Madison; academic misconduct is behavior that negatively impacts the integrity of the institution. Cheating, fabrication, plagiarism, unauthorized collaboration, and helping others commit these previously listed acts are examples of misconduct which may result in disciplinary action. Examples of disciplinary action include, but is not limited to, failure on the assignment/course, written reprimand, disciplinary probation, suspension, or expulsion. (taken from UW Recommended Syllabus Statement)

Unintentional misconduct: It is the responsibility of the student to understand all the details of the syllabus, course policies, and UW-Madison policies. Lack of understanding or awareness does not excuse behavior.

Community Behavior: Bad community behavior, such as being offensive or hurtful to others, prevents others learning experience and is, therefore, part of Academic Conduct. See Communications (Etiquette Online and Online Conduct).

Collabortion: Learning is a team sport. However, many of the class activities we ask you to do individually. The most important thing is to fairly and correctly represent the work. Do not claim credit for work done by others. If you use something from someone else (whether it is a classmate, or an online resource, or …) be sure that you have permission to use things in the way that you are using it, and that you give proper attribution.

Students are encouraged to discuss class topics and assignments with other students, subject to the following rules:

  1. If you are unsure if something is collaboration or academic misconduct, please ask the instructor or TA for clarification.
  2. No collaboration is allowed on the exams or surveys.
  3. Assignments and projects must be substantively from the person claiming to have done it. It’s OK to ask for help, but most of the work should be your own.
  4. Ultimately, each student is responsible for the material. Projects, assignments and exams will require you to understand the assignments, so be careful not to rely on help since at some point you might need to do it your self.
  5. Collaboration must be a two way street. The person giving help must agree. (e.g. don’t look at someone else’s work without their permission).
  6. Every student must turn in their own assignment, and is responsible for it, unless it is explicitly a group project. For group projects, specific instructions will be given.
  7. Projects must be “substantially” written by the student handing it in. In particular, the key parts of the project must be completed by the student handing in the project.
  8. Any code that you didn’t write must be given proper attribution. If you grab a piece of code from the web, another student, some book, … – you must say so!
  9. We will give you large amounts of example code to work with for various assignments and projects. You may use it with proper attribution.
  10. You may only use external libraries that we provide.
  11. With JavaScript, you can do “View Source” in the web browser to see how programs you find (including our sample solutions) work. While we encourage you to use this to learn, we discourage you from just copying too much. We urge you not to snoop to find answers to things we want you to figure out yourself, or to steal large pieces of code. Again, this is a fine line: use your judgment, or ask.
  12. You should make reasonable efforts to keep your work private (from your classmates) so that others do not copy it. You can show them things you made, but please do not give people access to your programs (until after the assignments are due).
  13. Avoid putting large fragments of code on Piazza, or giving away the answers to key parts of assignments. If you are in doubt, send things privately to the course staff who can help you decide if it is appropriate to make public.
  14. We understand that you may want to display your work, you can do this subject to some guidelines. (see Code After Class).


  • It is OK to ask a classmate for help. It is not OK to “borrow” their assignment and copy it without their permission. It is not OK to just copy it without understanding it (since you won’t learn the material).
  • It is OK to ask a classmate for help looking over your code to find a bug. It is not OK to use a piece of their code without giving them proper attribution, or if its an important part of a project.
  • It is not OK to copy a large chunk of code you find on the web or in some public GitHub repository.
  • If you ever have a question, ask.

The fact that we are using JavaScript in the web browser creates challenges and opportunities for class with respect to collaboration. You can always do “view source” in a web browser to look at someone’s program. If we give you a sample solution, you can look at it. There are steps one can take to hide their programs, but this complicates things.

You must give proper attribution for anything that you did not create (there will be a question on the assignment handin pages). This should not be more than a few lines of code (for example, copied from a web tutorial). It may be an “artistic asset” (such as an image, texture, or 3D model), however you may only use things that you have license to use (e.g., it is public domain or has a creative commons license). Instructions will be provided when it is appropriate to use someone else’s artwork.

Programming assignments and workbooks will be turned in via GitHub. You must follow the GitHub classroom procedure to create your own repository (with the starter materials) on GitHub as part of each assignment (instructions will be provided with the assignment). You must clone your personal repository. You must commit changes to this repository. To hand in your work, you must push it back to the GitHub repository you were provided.

Your work will involve modifying the starter materials for each assignment. Sometimes, you will be asked to add new files - but often, you will modify existing files. The assignment will tell you which files you are allowed/required to change/ While you may change any parts of the files as you see fit, we recommend not making unnecessary changes.

All of the code and documentation that you submit should either be (1) the provided starter materials or (2) changes or additions that you conceived-of and typed. Small exceptions may be OK, be sure to give proper attribution.

Note: In the past, students have found assignments from previous students (or examples provided by course staff) that were public on the web. Copying these (even small portions) is not allowed. We discourage you from seeking out previous assignments. See the Code After Class rules for what we say about posting assignments. But it is your responsibility not to use things that you shouldn’t.

There is a fine line between students who refer to other assignments for ideas and misconduct. Looking at an assignment to see an inspiring design is OK. Even glancing at the code to see how someone solved the problem can be an acceptable way to get unstuck. But copying parts of the assignments is not.

Note: We do make example solutions available for students to refer to, after the assignments are due.