CSE Guide to the Honor Code


Students in all CSE courses are expected to abide by the Undergraduate Academic Code of Honor Pledge:

As a member of the Notre Dame community, I acknowledge that it is my responsibility to learn and abide by principles of intellectual honesty and academic integrity, and therefore I will not participate in or tolerate academic dishonesty.

An explanation of this pledge, and the consequences of breaking it, can be found in the Undergraduate Academic Code of Honor.

Below are some additional guidelines that may be helpful in CSE courses. However, in every course, the instructor has the final say about expectations of academic honesty.

Since there are various ways of using sources for assigned work, we distinguish them in two ways:

  • What kind of source: Is it a general resource that you are drawing on to do the assigned work, or is it a solution to the assigned work?
  • How is the source used: Do you consult the source, or do you copy from it more or less verbatim?

For example, if your assignment is to write a C function that implements quicksort:


  • You Google “quicksort” and read the Wikipedia article on quicksort
  • You discuss quicksort with other students
  • You forget how to swap two variables, so you look on Stack Overflow to remind yourself
  • You forget how to swap two variables, and your friend reminds you
  • You Google “quicksort” and find a C implementation of quicksort
  • You look at another student’s C implementation of quicksort
  • You and another student write a C implementation of quicksort on the whiteboard, erase it, and you write your own implementation


  • You forget how to swap two variables, so you look on Stack Overflow and reuse code you find there
  • You ask your friend how to swap two variables, and you type what he/she says You find a C implementation of quicksort and copy and paste it into your source file
  • You look at another student’s C implementation of quicksort and retype it in your source file
  • You and another student write a C implementation of quicksort on the whiteboard and then you retype it into your source file

A course syllabus might, for each of the four activities defined above, declare whether that activity is allowed, allowed only with proper citation, or not allowed.

For example, for homework assignments, the following policy is fairly common (but should not be assumed as default):

  • Consulting allowed
  • Copying cited

  • Consulting not allowed
  • Copying not allowed

Under such a policy, you are free to discuss problems with others and search for information online, and you don’t need to cite them. If you quote from a source or reuse a piece of code, you should cite the source. But you shouldn’t look at other student’s solutions, and if you happen to find a solution in a book or on a web page, you should close it immediately.

If you are unclear about whether certain forms of consultation or common work are acceptable or what the standards for citation are, you responsible for consulting your instructor.

Resources vs. solutions

Every assignment comes with some requirement that you do some work, and that this work be your own. A source that partially or totally fulfills that requirement is a solution; anything else is a resource.

For example, consider again an assignment to implement quicksort. There’s no expectation for you to reinvent quicksort; therefore, talking to people about quicksort and reading about quicksort is making use of a resource. But an actual implementation of quicksort would fulfill the requirements of the assignment, so someone else’s implementation of quicksort (whether another students’ or from a book or online) is a solution.

Now imagine that your assignment is to come up with an idea for a mobile app and implement it. There’s probably no expectation for you to write every single part from scratch. So if your app contained someone else’s code for quicksort (with proper citation), that would probably be considered a resource.

So, whether a source is considered a resource or a solution depends on the assignment; when in doubt, ask the instructor.

Consulting vs. copying

The Honor Code follows standard practice from academia and intellectual-property law: if you use either the words or the ideas of someone else, you must properly cite them. It’s part of your education to learn to follow this practice (and part of our job as faculty to teach you).

However, it is not always easy to know, either in school or in real life, where to draw the line. So we offer two more concrete criteria, one broader and one narrower, that are easier to apply.


By “consulting” a source, we mean receiving any kind of information from the source, whether it’s a book or web page or another person.

If you are required to cite any sources that you consulted, the citation should identify the source and indicate what part of the assignment you were working on when you consulted the source. For example:

  • I worked on the whole assignment with John Doe
  • I referred to https://en.wikipedia.org/wiki/Quicksort for Problem 3

If your instructor does not allow consulting other student solutions, note that:

  • You are also not allowed to show your solutions to another student. This also means that you may not post your solution in a public place, like a public GitHub repository.
  • As a possible exception, if you’ve finished your own work, your instructor may allow looking at another student’s work to provide help.


By “copying,” we mean electronic copying of data or reading/listening to a source while writing down what you see/hear. Copying while paraphrasing (e.g., changing variable names or replacing words with synonyms) is still copying.

Exception: In CSE courses, there are cases of boilerplate code or language that can always be copied without restriction. For example, no one would consider it plagiarism to copy int main (int argc, char *argv[]). When in doubt, ask an instructor or TA.

If you are required to cite any sources that you copied from, you must clearly indicate exactly what part of the assignment is copied from that source. In writing, this means following standard conventions (using quotation marks or indenting block quotes); in code, use comments to mark off exactly which lines, functions, or files are reused. For example:

int temp = x; // From stackoverflow.com/questions/40163283/swap-two-values-of-variables x = y; y = temp; // End copy

// From stackoverflow.com/questions/40163283/swap-two-values-of-variables void myswap (int &x;, int &y;) { int temp = x; x = y; y = temp; }


If an instructor sees behavior that approaches the border of academically dishonest behavior, and believes that further clarification is needed, he or she may (but is not required to) give a warning.

If an instructor sees behavior that is, in his or her judgment, academically dishonest, he or she is required to file either an Honor Code Violation Report (HC V.D.2.a) or a formal report to the College of Engineering Honesty Committee (HC V.D.2.b).