Collaboration Policy for CS5

"Your code is like your boyfriend or girlfriend. It's okay to talk about it on an abstract, high level. But you don't want to go into the specific details, and you certainly don't want to share."
- Pascal Van Hentenryck, CS5 professor, 1997

We have tried to make the workload for CS5 be equivalent to its status as a half-credit course. This means that we only have two programming assignments and participation in section to evaluate your performance. It is therefore very important that your programs represent your own work.

Since your Final Project is going to be a two-person project, obviously this policy cannot hold for communication between group members. However you will be required to report on how that particular project was split up so we are able to determine who wrote what.

Things that are allowed in the policy:

  • Discussing material covered in lecture or section.
  • Discussing how to use support code, as long as it is not assignment specific
  • Discussing assignment requirements
  • Discussing java syntax, design patterns, or debugging techniques
  • Discussing design on an assignment after you have worked out a draft of your design. This means no code, pseudocode or algorithms! Your design write up must be your own.

  • Things that are not allowed in the policy:

  • Copying code. You should never write down anyone else's code or allow someone else to write down your code. If you do this you will be caught and dealt with appropriately.
  • Debugging with someone else. Part of this course is learning how to debug your code. Therefore we ask that you do not try to sit down in front of someone else's code, or vice versa, and try to fix it. Describing your problem to someone and asking for advice on how to fix it is okay, but you should do the actual debugging by yourself.
  • Asking someone for help without first thinking about the problem yourself. Always make every attempt to tackle a problem yourself before asking another student, or the TA. The best way to learn is to try!

  • Above all you should use your common sense. If you suspect that what you are about to do is a violation, please talk to the TA before, after, or during the event. A plea of "But I didn't know!" will not be accepted.

    Remember, in order for you to get the most out of this course it is important to first approach a problem on your own, and attempt to find a solution. Trying to figure out why something won't work is often more educational than actually writing something that works. Once you decide you are stuck you should first approach the TA or, if your question is general enough bring it up in section.

    We are doing this to make learning easier and more effective for all students. Please help us to make this work. If you think there is a chance a discussion may infringe upon this contract, play it safe and ask the TA. This is what the TA is there for.


    I fully understand and agree to abide by all policies and rules contained herein. Additionally, I am familiar with Brown University policies regarding collaboration.

    Signature ________________________________

    Date ________________________________

    Printed Name ________________________________

    SIS ID# ________________________________

    Net ID ________________________________

    This contract must be signed and returned before you will be given a CS5 course account.


    Last Modified: 03:31pm EDT, August 17, 1997