Programming with
Data Structures and Algorithms

Honesty Policy

Brown University has an Academic Code that governs all our transactions. This Code includes a section on Respect for the Integrity of the Academic Process, which establishes its policy on cheating. We expect that you, as students and scholars, will abide by this faithfully and fully.

Because Brown does not operate on an honor code, we have no choice but to police you, even though this saps valuable time and weakens the spirit. Therefore, we will check for violations of the Code. If we believe you are in violation, we will prosecute as per the department’s and Brown’s regulations.

You are forbidden from using Internet resources for assistance other than those specifically linked from the course website or specified in the assignment. Be aware that we monitor many of these resources, so do not even try.

We have prosecuted students who violated this policy in the past, and will not hesitate to do so in the future.

Working Together

The purpose of assignments in this class is to help students learn key ideas in programming with algorithms and data structures. Some (not all) assignments require a certain insight, or at least careful analysis, that is much harder to generate or perform than to merely replicate. We believe that doing it for yourself, though harder, is the only way to truly understand that insight or analysis.

You will do roughly half of the assignments in this course by yourself. For these assignments you must work entirely alone. You may not discuss these assignments with anyone other than the course staff.

The rest of the assignments will be done in pairs. For those assignments, you can and should would collaboratively with your partner, but you may not communicate in any way about the homeworks with members of other pairs. You may only discuss these assignments within your pair and with the course staff.

The only permissible communication outside the above guidelines is with course staff. If ever in doubt, ask the professor, even if it's after a possible violation. Ignorance is no defense.


You are responsible for keeping your files private by setting the appropriate protections. If you fail and someone copies your work, you too will be held responsible. This is not an obstacle to pair-programming, because you are supposed to be doing it together, not separately across a common file-system.