Policies that focus on collaboration

Acceptable collaboration is often confusing for students and student misunderstandings of the limits to collaboration are common source of frustration for instructors.  Different fields and departments may have different expectations about what is acceptable.  Instructors who explain what they mean clearly can help students avoid academic dishonesty and better understand their field. 

  • Hanming Fang, ECON 231: Public Finance

You may discuss homework assignments with each other; however, each individual must submit a separate homework assignment (i.e. write/type up your own answers, no copies), and each individual will be separately graded on the assignment. You may not cooperate while taking exams.

  • James Pikul, MEAM 110: Introduction to Mechanics

While you can interact to learn material together and discuss problems, you may not refer to other student’s(s’) work in preparing your individual assignments. Violation of any of these Codes may result in failure of course and academic sanction by the University.


  • You may not look at, access, or acquire a copy of anyone else's work. There are certain exceptions described in the "Appropriate Collaboration" section below.
  • You may not show your work to anyone except current CIS 110 Professors and course staff. You may not post any portion of your assignment online. This applies even after the course ends. There are certain exceptions described in the "Appropriate Collaboration" section.
  • You may not consult or ask questions in websites or online fora except the CIS 110 Piazza board.
  • You must properly and promptly acknowledge all non-trivial help you receive, all collaboration involving you, and all resources you use in your help log .
  • Don't be clever about this policy. Instead, if your unsure whether something is appropriate, come by instructor office hours and ask.

Appropriate collaboration

  • The collaboration policy sounds scary because we take it very seriously. But it is not meant to prohibit all discussion and collaboration. It is intended to limit only the forms of collaboration that undermine the learning goals of the course. Here are some ways that we encourage you to work together and to get help:
  • Come to office hours early and often! CIS 110 is designed for you to learn as much as possible with the benefit of help. We want you to get stuck, ask questions, and learn how to experiment and find solutions. We also want you to learn more by taking advantage of office hours than you would be able to learn on your own.
  • Read through each assignment with one or two friends, and work out together what the different steps are; what you need to make sure you understand; and where to find the information you need in the assignment writeup, course web site, and textbook. Document in your help log who you discussed with, and what you concluded.
  • Work through course notes and example code together. Work together on example programs that are not part of the assignment to understand different concepts. For example, when you are preparing for the NBody assignment, we encourage you to work through the Bouncing Ball examples together, and modify it together to help understand animation and nested loop structures. Again, document this in your help log.
  • Discuss together how to test your code, and what different kinds of input might cause problems. We don't always tell you everything that could go wrong in your program; figuring that out is part of your job, and doing this together will help you understand the assignment better prepare to start programming. Log your discussions before you forget the details.
  • Search the CIS 110 Piazza board for answers. When you have a question, it is likely someone else has asked it already. Only post your question if you can't find a discussion thread that helps you. Answer other students' questions on Piazza, for instance by suggesting tests the other student can do to help detect and debug the issue in their code. You do not need to log the help you receive and provide on the CIS 110 Piazza.
  • Compare output from your program and a friend's. As long as you do not look at each other's code, we strongly encourage comparing output as a way to test your program. If you do this, you must log exactly the help that you provide.