Academic Integrity

You are not logged in.

Please Log In for full access to the web site.
Note that this link will take you to an external site ( to authenticate, and then you will be redirected back to this page.

The primary goal of all of the 6.101 course materials and assignments is educational, but elements are also geared toward assessment.

We ask you to work through these materials mostly on an individual basis because we feel that the experience will cement the basic technical ideas and lead you to think about bigger conceptual issues. It is your responsibility to take advantage of this opportunity; working too closely with others will rob you of the chance to engage deeply with the material and may lead to poorer understanding and, ultimately, worse performance on the quizzes. Good problems are a valuable resource, and it is in your interest not to squander that resource.

In line with these goals, and with MIT's policy on Academic Integrity, this page outlines our expectations regarding collaboration and sharing of work on assignments in 6.101.

1) Lab Assignments§

Labs are intended to be primarily individual efforts. In order to get as much as possible from the labs, you are encouraged to discuss high-level approaches, style tips, Python features, etc., with staff and with other students, but the work you submit must be your own. When you submit an assignment under your name, you are certifying that the details are entirely your own work and that you played at least a substantial role in the conception stage.

The following table provides a brief overview of the policies around labs, and the following paragraph expands and clarifies these ideas:

Activity OK? Details
Any kind of help from this semester's 6.101 staff
Encouraged; there are many ways to get help from trained staff members. You may make use of any help our staff give you (one-on-one, via the 6.101-help mailing list, or via files made available on this semester's web site). (Note this does not include materials distributed in past semesters of 6.101.)
Collaboration with other current 6.101 students
Encouraged for high-level discussion only; forbidden for code-level communication. This one gets subtle; please consult the complete policy below!
Help from tutors through MIT programs (for example, HKN or TSR2)
Allowed, according to the same rules as collaboration with other current 6.101 students. Please make sure that your tutor has read and understood these policies as well.
Help from anyone who is not current 6.101 staff or student
Forbidden, with the exception of the last point about official MIT tutors! Please ask the instructors for permission to get any kind of help from such a person. (They often aren't trained in how to help effectively and might really "do most of the work for you.")
Consulting any code that you didn't write yourself
Forbidden, with the only exception being files distributed by the 6.101 staff during this semester. It is not OK to consult code written by other people, nor code produced by advanced code-completion tools, e.g. GitHub Copilot, nor by other AI-based tools, e.g., ChatGPT; if you are unsure whether a code-generation tool is appropriate for use in 6.101, please ask us before using it.
Sharing code that you have written
Forbidden in any format, including through public code forges like GitLab or GitHub.

When working on a lab, we encourage discussion of high-level strategies with staff members or other current students, including working out example executions together on whiteboards, but these discussions must not involve step-by-step, algorithmic instructions in either written or spoken form. Literal Python code is the most obvious example of a form of communication that is not allowed between students. However, "pseudocode," which may mix explicit loops and conditionals with fuzzier bits of English (or another natural language!), is also disallowed. It gives away too much of the algorithmic formulation that we want you to figure out for yourself on each assignment. A consequence is that, within a group of students collaborating or having some help others, no one may be looking at any code (including pseudocode) they wrote for 6.101.

2) Exams§

We will have two paper-based exams during the semester, at the times listed on the course calendar. You are not allowed to communicate with anyone but the in-person staff proctors during a exam, or even after you complete the exam, until final exam grades have been assigned (because some students will still be working on conflict offerings of the exam).

For all exams, you will be allowed to use a single letter-sized (8.5"x11") sheet of paper containing handwritten notes. These notes must be written directly on the page, not printed from a digital copy.

You are not allowed to use electronics of any kind during the exam (including, for example, calculators, computers, tablets, phones, or music players).

3) Consequences§

We fully expect that the vast majority of you will do the work in 6.101 earnestly, following the guidelines above. However, every semester, some students do violate these rules. We believe in these policies, and we take them seriously. We will run code submissions through processes (both automated and manual) to detect policy violations, and violations will have consequences.

A violation typically leads to a grade of zero on the assignment in question, and most cases it will also result in us filing a "letter to file" with the Office of Student Conduct and Community Standards (OSCCS). At the discretion of the staff, more severe actions may also be taken (for example, a reduction of your overall 6.101 grade, filing a complaint with the Committee on Discipline, or other actions). More information about these various actions can be found in the OSCCS's resources on academic misconduct.

In addition, keep in mind that when work on an assignment is copied, both the provider and the consumer of copied materials are violating the policies described above.

If you are ever in doubt about what is acceptable, please ask! We put these policies in place with your success as our ultimate goal, and we want to help you find ways of working in 6.101 that maximize your learning and growth!