Code Authorship and Citation Policy


At the end of the quarter, we run analytic software over all CS106B submissions to find sections of student-submitted code that have been copied from elsewhere rather than independently written by the student. A staffer then reviews the situation to determine appropriate followup. With a correct understanding of the authorship, we can ensure that credit is being awarded properly. Accurate attribution of code authorship is an important tenet of the programming community and of academic integrity in general.

Before we start the scan, there is a window of opportunity where students may amend their submissions. Understanding that mistakes can happen, this provides a chance to make things right by correcting a misrepresentation of authorship and/or adding missing citations.

Permissible assistance

The course policy on collaboration and the Honor Code allows students to exchange ideas with others, but not to share or copy code. If you are in office hours or discussing the assignment with other students and the conceptual ideas behind a few lines of code are jointly sketched, it is fine to learn from those ideas and incorporate them into your assignment. Your assignment might also take inspiration from a code example in lecture, section, or the textbook. Both of these situations are within the spirit of exchanging ideas, learning from others, but writing the code yourself. This help is entirely permissible, but please be sure to cite any direct influence. The code you submit is still distinctly your own and you retain full authorship; the citation simply acknowledges the work of others that influenced your code.

Unpermissible assistance

In contrast, an honor code violation looks more like having access to solution code (such as code found on the Internet, written by another current or past student, or generated by an AI tool) and basing your submission off of it, whether reusing an exact copy or borrowing code sections from it and remixing. Submitting this code without citation is a misrepresentation of authorship and is a breach of academic integrity —code written by another is being passed off your own. This is unacceptable, and the CS department has become adept at identifying instances of misrepresented authorship using sophisticated tools.

Unpermitted collaboration/partnership

There is yet a third category where two current students work together and both submit the same/similar code based on the joint work. Submitting such work as your own without acknowledging the contributions of another is also a misrepresentation of authorship. If you have (perhaps mistakenly) engaged in a disallowed partnership, we offer you the option to provide a retroactive citation of that collaboration. This citation opens the path to a resolution where we work with you to establish a fair attribution of authorship, and adjust allocated credit accordingly.

Making a retroactive citation

Below we identify three categories of assistance that could apply to your code. The vast majority of student work falls into Type 0, for which there is no need for any followup. Code of Type 1 or Type 2 that is absent citation is this concern we would like to address at this time.

Type 0: Either no assistance or assistance that does not require citation

  • This code was my original work, authored by me independently. This code was not derived from nor influenced by code developed by others.
  • I brought this code to LaIR/office hours and a member of the course staff helped me debug and understand my code.
  • This code was taken from published CS106B materials from this quarter such lectures, section, textbook, YEAH slides, etc.

Type 1: Allowable assistance that requires citation

  • When working on this code, I talked with a peer to conceptualize the task, brainstorm the design, or talk through the approach to problem-solving. We never shared/read/wrote actual code, but did talk about ideas and strategies at a high-level. Our code may look similar in broad terms.

Type 2: Assistance that is not allowed

  • I exchanged solution code with a peer or former student (either as giver or receiver).
  • I jointly developed this code with a peer.
  • I found and read solution code online and it influenced the code I wrote.
  • I requested help from a tutor, online forum, paid service, AI model, etc. and received code/help that influenced the code I wrote.
  • I gave or received aid on the midterm or final exams.

If upon reflection, you believe that some portion of your work should be amended to acknowledge assistance of Type 1 or Type 2 , you may submit a retroactive citation using this form.

There are a number of possible outcomes in response:

  • If the retroactive citation cites permissible help, your citation acknowledges that contribution and corrects the previous oversight. There is no further action to take.
  • If the retroactive citation cites use of work of another as your own, we would not be able to award you credit for that work. We would discount/zero the score to reflect your diminished contribution.
  • If the retroactive citation cites work done in collaboration with another student, our citation form will afford you the opportunity to share the extent of the collaboration so we can adjust credit as appropriate.
  • In all of the above, if the retroactive citation corrects the previous misrepresentation of authorship, there is no longer an Honor Code violation for the individual(s) who submitted citations, and there is no followup with the judicial office.

If you are not sure of how to proceed, please reach out to Sean or Clinton. We very much appreciate those of you who want to do the right thing, and we will meet for a constructive, non-judgmental review of what has happened and what is the best way forward.