CS103 and the Honor Code


Written by Adapted from a handout developed by Eric Roberts with modifications by Mehran Sahami, Marty Stepp, Julie Zelenski, and Sean Szumlanski.

The Stanford Honor Code

Since 1921, academic conduct for students at Stanford has been governed by the Honor Code. In 2023, the Faculty Senate, Undergraduate Senate, Graduate Student Council, and President's Office jointly agreed on a revised text of the Honor Code, which is shown below:

THE STANFORD UNIVERSITY HONOR CODE

The Honor Code is an undertaking of the Stanford academic community, individually and collectively. Its purpose is to uphold a culture of academic honesty.

Students will support this culture of academic honesty by neither giving nor accepting unpermitted academic aid in any work that serves as a component of grading or evaluation, including assignments, examinations, and research.

Instructors will support this culture of academic honesty by providing clear guidance, both in their course syllabi and in response to student questions, on what constitutes permitted and unpermitted aid. Instructors will also not take unusual or unreasonable precautions to prevent academic dishonesty.

Students and instructors will also cultivate an environment conducive to academic integrity. While instructors alone set academic requirements, the Honor Code is a community undertaking that requires students and instructors to work together to ensure conditions that support academic integrity

The purpose of this document is to make our expectations as clear as possible regarding the Honor Code. The basic principle under which we operate is that each of you is expected to submit your own work in this course. In particular, attempting to take credit for someone else’s work by turning it in as your own constitutes plagiarism, which is a serious violation of basic academic standards.

Assignments in this course may be completed individually or in pairs. All of the following text refers to “you” and “your work,” meaning your individual work if you are working alone on an assignment or your pair's combined work if you are working with a partner. Of course, if you are working with a partner, any discussion and sharing of work with that specific partner is allowed completely on that assignment.

Under the Honor Code you are obligated to follow all of the following rules in this course:

Rule 1: You must not look at assignment solutions that are not your own.

It is an act of plagiarism to take work that is copied or derived from the work of others and submit it as your own. For example, using a solution from the Internet, a solution from another student (past or present), a solution taken from an answer set released in past quarters, or some other source, in part or in whole, that is not your own work is a violation of the Honor Code. Many Honor Code infractions we see make use of past solution sets. The best way to steer clear of this possibility is simply to not search for solutions to the assignments. Moreover, looking at someone else’s solution in order to determine how to solve the problem yourself is also an infraction of the Honor Code. In essence, you should not be looking at someone else’s answers in order to solve the problems in this class. This is not an appropriate way to “check your work,” “get a hint,” or “see alternative approaches.”

Additionally, you are not allowed to solicit solutions from anyone. For example, it is a violation of the Stanford Honor Code to ask another student to share their answers with you, to ask a tutor to share other students’ solutions with you, or to ask for answers on sites like Stack Overflow or Chegg.

University guidance on the use of generative AI in classroom settings treats use of generative AI analogously to receiving assistance from another human. As a result, using ChatGPT or other generative AI tools on any graded work is a violation of the Honor Code, regardless of whether that use is disclosed.

Rule 2: You must not share your solutions with other students.

In particular, you should not ask anyone to give you a copy of their answers or, conversely, give your answers to another student who asks you for it (unless you're working in a pair with them and doing so does not violate Rule 4). Similarly, you should not discuss your solution strategies to such an extent that you and your collaborators end up turning in the same answers (unless you are working in a pair with them). Moreover, you are expected to take reasonable measures to maintain the privacy of your solutions. For example, you should not leave copies of your work on public computers nor post your solutions on a public website.

Rule 3: You must properly cite any assistance you received.

If you received aid while producing your solution, you must mention who you got help from (if that person is not a TA or the instructor) and what specifically he/she helped you with. A proper citation should specifically identify the source (e.g., person’s name, book title, website URL, etc.) and a clear indication of how this assistance influenced your work. For example, you might write “Student X mentioned the idea to combine statements Y and Z together in part W of this proof to yield result V.” If you make use of such assistance without giving proper credit – or, if you provide a misleading or inaccurate statement describing the help you received – you may be guilty of plagiarism.

It is also important to make sure that the assistance you receive consists of general advice that does not cross the boundary into having someone else write the actual solutions or show you their solutions. It is fine to discuss ideas and strategies, but you should be careful to write your solutions on your own, as indicated in Rule 1.

Rule 4: You may only reuse past work in certain, limited situations.

We tend to reuse assignments from quarter to quarter. Following the general principle that the names affixed to a submission should accurately represent its authorship, you may only resubmit work from prior quarters provided that the exact same set of people who initially turned in the assignment resubmit. This means, in particular, that

  • if you completed an assignment individually in a previous quarter, you may only resubmit that assignment if you do so individually; and
  • if you completed an assignment with a partner in a previous quarter, you may only resubmit that assignment if you submit with that exact same partner.

To elaborate on that last point, if you worked with a partner in a previous quarter, you are retaking the course or resolving an incomplete, and your partner is not also retaking the class or resolving an incomplete, you may not resubmit the past work you did on that assignment in any circumstance.

The policies above apply equally to reading, copying, or adapting solutions you submitted in previous quarters. For example, if you submitted an assignment individually in a previous quarter, you should not refer to your submission on that assignment if you are planning on redoing the assignment in a pair. Similarly, if in a previous quarter you worked with a partner who is not retaking the class, you must not reread or copy anything from that previous submission in the course of redoing the assignment.

A notice for students retaking this class or resolving an incomplete from a past quarter: some instructors distribute solutions to assignment or exam questions. Referring to or copying answers from a solution set, even one distributed when you were a student in the course, is considered a violation of Rule 1. You are responsible, at the start of the quarter, for ensuring you do not have access to old solution sets or to personal notes derived from those solution sets.

Rule 5: Tutors cannot assist with graded work.

You are welcome to make use of tutoring resources, both on-campus and off-campus, to help solidify conceptual content, to deepen understanding of course topics, to fill gaps in understanding, and to work through ungraded practice problems. Tutoring, however, is not appropriate for help with work that will be submitted for a grade. When you have questions about the assignments or exams, please direct them to the course staff.

We define tutoring as any assistance with the course content or topics from someone who is (1) not a current CS103 student and (2) not a member of the CS103 course staff. For example, CTL and AARC tutors and websites like Chegg or Stack Overflow count as tutoring. Similarly, assistance from past students (say, someone in your dorm who has already completed a course you're taking) counts as tutoring. Anyone who offers you support in this context is considered a tutor, regardless of formal titles.

You and your tutors must abide by the following rules:

  1. Tutors must be familiar with the Honor Code policy for a class prior to giving help. Importantly, not knowing the Honor Code and tutoring policies for a class does not protect you or your tutors from any Honor Code infractions. Feel free to share the class Honor Code policy with any tutors so you are both clear on expectations.

  2. Tutors must not review, look at, offer advice, or otherwise offer assistance with any work that you will submit for a grade or which could be reasonably expected to be submitted for a grade. This means, among other things, that tutors cannot help debug or write code for or related to programming assignments, review draft proofs for the assignments, etc.

  3. Tutors must not refer to course materials from previous offerings of the course. For example, tutors are not allowed to refer to lecture slides or solution sets used in previous quarters. They are permitted to reference the current quarter’s materials, subject to the restrictions from (2).

  4. Tutors must not share any other student’s work with you, including their own. For example, tutors may not share past submitted problem sets or coding assignments as a reference, even if the tutor was the original author of that work.

  5. Tutors and students are obligated under the Honor Code to “do their share and take an active part in seeing to it that” students and tutors do not ask for or receive unpermitted aid.

Failure to abide by these rules may constitute a violation of the Honor Code.

Please be aware: all submissions are subject to automated plagiarism detection.

Stanford employs powerful automated plagiarism detection tools that compare assignment submissions with other submissions from current and previous quarters. The tools also compare submissions against a wide variety of online solutions. These tools are effective at detecting unusual resemblances in programs, which are then further examined by the course staff. The staff then make the determination as to whether submissions are deemed to be potential infractions of the Honor Code and referred to Stanford's Community Standards office.

A Final Note on Collaboration.

We have no desire to create a climate in which students feel as if they are under suspicion. The entire point of the Stanford Honor Code is that we all benefit from working in an atmosphere of mutual trust. Students who deliberately take advantage of that trust, however, poison that atmosphere for everyone.

In computer science courses, it is usually appropriate to ask others – especially the course staff – for hints or about general problem-solving strategies and how to approach the problem set questions. In fact, we strongly encourage you to seek such assistance when you need it. Discuss ideas together, but write your answers up on your own.

Regret Clause

When people are under pressure, they sometimes do things they later regret. Our impression from talking with students over the years is that this is often the case with students who violate the Honor Code in our classes: they’re good people who make bad decisions they almost immediately regret. Accordingly, if you end up violating the Honor Code while working on an assignment in this course, you can mitigate the consequences by informing us of your infraction within 72 hours after the late deadline for the assignment. In response, the only penalty you will face for that infraction is a zero on the assignment. We will not lower your grade further as a result of the infraction, and we will not refer the matter to the Office of Community Standards.

To take advantage of this "regret clause," you must fill out the Google form we will make available after each assignment deadline. We do not anticipate allowing retractions outside the 72-hour window for each assignment, and we will not do a last call for retractions at the end of the quarter.

Note that the Regret Clause applies only to assignments (not exams).

(This policy is modeled after the regret clause in Harvard's CS50 class.)