Collaboration Policy


Acknowledging Intellectual Debts

Adapted from Prof. Ethan Bolker and Prof. Carl Offner

You are taking this course in order to learn as much as you can about the material it covers. No learning occurs in a vacuum though. You learn from lectures and reading, by playing with ideas, by talking to other people about what you are trying to learn. That is particularly important in Computer Science. A kind of terminal-room-and-email camaraderie develops that makes learning easier and a lot more fun. But part of the ethical code under which we function at a University requires that we acknowledge the sources of ideas we use in work of our own. When you turn in work that you have discussed with someone, or which contains ideas that you found in a book, you must indicate that fact. I expect you to talk to each other and to read materials other than those assigned. I also expect to see in your work evidence that you have done so. I cheer when I see a reference, say, to another book on Computer Science, or a comment in your code that says that you didn’t understand recursion until your one of your classmates, Ada Lovelace, helped you out. Learning to acknowledge intellectual debts is part of learning. It has nothing to do with grades or dishonesty. You should be reading, talking to each other, and telling the world that you have done so.

Some kinds of sharing, however, are unacceptable. You may not use the computer to copy someone’s code and submit it as your own any more than you may use a photocopier to steal someone else’s words — even if you acknowledge that theft! You may not have your friends do your work for you. Versions of the assignments in this course have been given in previous years. You may not use answers to those assignments. To any of you who may be tempted to cheat: the best reason not to is that it’s wrong. Another is that if you cheat you learn considerably less. A third reason is that you will be caught more often than you think. If I find evidence of cheating, I will act as described in the Penalties for Infractions section below.

Specific Expectations for the Course

You may only receive help from people in the ways described below and you must acknowledge any help you get.

  Course Staff CS110 Grads Classmates Others
Discuss concepts with
Acknowledge collaboration with
Expose your code/work to
View code/work of
Copy code/work from

You are not allowed to submit solutions obtained from websites such as Chegg or Course Hero, or using AI systems such as ChatGPT.

You are not allowed to post questions about the course or about any of the assignments on any website other than our Piazza page.

You are not allowed to post your solutions to the assignment problems on public code repositories such as GitHub.

Penalties for Infractions

If you are suspected of cheating on an assignment/exam, you will be called in (via email) to meet with me. In this meeting, you will have an opportunity to convince me that the work you handed in is your own. If you are unable to do so or if you do not meet with me within a week of receiving my email, I will conclude that you have indeed cheated on the assignment/exam and act as described below.

If this your first time cheating, you will receive a 0 for the assignment/exam and you will be reported to the appropriate department official. If you repeat the behavior and are caught again, you will receive an F for the course and you will be reported to the appropriate university personnel.