# Collaboration Policy

You are not logged in.

Note that this link will take you to an external site (https://oidc.mit.edu) to authenticate, and then you will be redirected back to this page.

In line with MIT's policy on Academic Integrity, here are our expectations regarding collaboration and sharing of work.

The primary goal of all of the course materials is educational (with the exception of the quizzes, which are used for assessment). We ask you to work through these materials 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 the opportunity to do this; 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.

We encourage you to help each other with work in this class, but there are limits to what you can do, to ensure that everybody has a good individual learning experience. This section describes those limits.

## 1) Laboratories

Laboratories (which double as problem sets) are intended to be primarily individual efforts. You are encouraged to discuss approaches with other students, but your code and your write-up must be your own.

You may not use materials produced as course work by other students, whether in this term or previous terms, nor may you provide work for other students to use.

It is not generally acceptable to use material from external sources like StackOverflow. In particular, if the assignment asks you to "implement X", then you must create your own X, not reuse one from an external course. In the case where the assignment explicitly allows using code from an outside source, your must provide proper attribution1.

### 1.1) Examples

Alyssa and Ben sit next to each other with their laptops while working on a laboratory. They talk in general terms about different approaches to doing the laboratory. They draw diagrams on the whiteboard. When Alyssa discovers a useful function in the Python library, she mentions it to Ben.

OKAY!

As they type lines of code, they speak the code aloud to the other person, to make sure both people have the right code.

NOT OKAY

In a tricky part of the laboratory, Alyssa and Ben look at each other's screens and compare them so that they can get their code right.

NOT OKAY

Alyssa and Ben have heard about the idea of pseudocode, very high-level but informal programs that coders use to sketch out ideas before implementing. They work together to write pretty complete pseudocode for a lab. They translate it individually into Python code that they can hand in, noting in the process, "gosh, Python sure is a great language; it's very close to pseudocode!" In fact, their work together writing "pseudocode" encompassed almost all of the challenges that the labs are designed to guide you through solving. (Please ask our staff for permission before sharing anything textual that explains how to write an assigned program.)

NOT OKAY

Alyssa and Ben haven't been working together on the laboratory so far, but Ben is now struggling with a nasty bug. Alyssa sits next to him, looks at his code, and helps him figure out a reasonable test case to narrow down the possible locations of the bug.

OKAY!

Alyssa opens her own laptop, finds her solution to the laboratory and refers to it while she's helping Ben correct his code.

NOT OKAY

Louis had three laboratories and two quizzes this week, was away from campus for several days for a track meet, and then got sick. He's already used his late days and has made almost no progress on the laboratory. Ben feels sorry for Louis and wants to help, so he sits down with Louis and talks with him about how to do the laboratory while Louis is working on it. Ben already handed in his own solution, but he doesn't open his own laptop to look at it while he's helping Louis.

OKAY!

Ben opens his laptop and reads his own code while he's helping Louis.

NOT OKAY

Ben has by now spent a couple hours with Louis, and Louis still needs help, but Ben really needs to get back to his own work. He puts his code in a Dropbox and shares it with Louis, after Louis promises only to look at it when he really has to.

NOT OKAY

John and Ellen both worked on their laboratories separately. They exchange their code with each other to check their work.

NOT OKAY

John and Ellen both worked on their laboratories separately. They exchange their test cases with each other to check their work.

NOT OKAY

Test cases are part of the material for the laboratory, and part of the learning experience of the course. You are copying if you use somebody else's test cases, even if temporarily.

Note that in the examples marked inappropriate above, both people are held responsible for the violation in academic honesty. Copying work, or knowingly making work available for copying, in contravention of this policy is a serious offense that may incur reduced grades, failing the course, and disciplinary action. Repeat violators of this policy really do get expelled from MIT sometimes. In the interests of fairness to all students, we take this policy seriously, and a suite of algorithms will be run to detect plagiarism in code.

## 2) Public Sharing of Work

People often want to share their code publicly, e.g., on GitHub, in order to show off a portfolio of code they've written to potential employers. Building a portfolio is a great idea, but 6.009 is not a good class to use for it, because the laboratories are fixed by the course staff, not chosen by you. Personal projects, hackathons, and IAP contests are much better ways to build up your portfolio.

The policy for public sharing of 6.009 code is described below.

Copyright for the starter laboratory is held by the 6.009 course staff and does not allow redistribution of derived works without prior permission. Your solutions are a derived work, so you may not distribute your laboratory solutions publicly. This means you cannot post them on GitHub, in a public Dropbox folder, or on a public server accessible to others.

Keep in mind that when work on an individual laboratory is copied, both the provider and the consumer of copied materials are violating academic honesty standards, as described above.

These policies are in place with the primary goal of helping you learn more effectively. If you have any questions about why the policies are structured as they are, or if a certain type of collaboration is allowed, just ask! You can do so by posting a private question on Piazza, or by sending e-mail to the instructors (6.009-faculty@mit.edu).