Collaboration Policy
Please Log In for full access to the web site.
Note that this link will take you to an external site (https://shimmer.mit.edu) to authenticate, and then you will be redirected back to this page.
The primary goal of all of the course materials is educational. 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 concepts. 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.
We encourage students to discuss assignments in this subject with other students and with the teaching staff to better understand the concepts. However, there are limits to what you can do, to ensure that everybody has a good individual learning experience.
This page is designed to give you a sense of what kind of interactions are allowed, and which are not, when working on 6.s090 coursework. The policies below are in place in order to help with our primary goal for the exercises (i.e., that you deepen your understanding of the course materials by working through them).
1) Exercises
Most exercises are intended to be done individually. You are expected to give your best effort and work as far as you can on your own for every exercise before asking for help or using other resources. You should spend at least 10 minutes working though each exercise before consulting any external resources (including outside web sites, course staff, or your fellow students).
If you are still stuck on a problem, you may talk about it with a staff member or a fellow student. Below are guidelines for appropriate help from peers.
In general, when helping a peer, you should be invested in supporting their learning (not just their speedy completion of the exercises). And, when receiving help from a peer, you should be looking to learn and complete as much as possible on your own—this is the best way to learn.
Anything general: explaining the problem; asking guiding questions; talking about high-level strategy; sharing a useful idea for a helper function or data structure.
OKAY!
Talking in detail or even sharing code related to problems from tutorials, from the readings, or from exercises which all parties have completed.
OKAY!
After making a reasonable effort and confirming your general strategy with a peer/staffmember, sharing your screen with a peer who has completed the exercise, in order to get specific debugging help. Walking through your current code line by line (using the other person as a rubber duck); showing them specific buggy behavior and what you've tried to fix it; showing the line that you find particularly tricky; etc.
OKAY!
Viewing the screen of a peer who put forth reasonable effort and asked for your help, after completing the relevant exercise yourself. Saying things like "I notice you never reset your count to 0," "Let's print x so we can check if your range has the right start and end values," "I would have used a dictionary instead of a list to store that, because [explain reason]," or "Why do you return None on line 10, if you've found a non-None solution on line 9?"
OKAY!
When viewing the screen of a peer you're helping, giving answers without explanations, e.g. simply prescribing "a break statement on line 20" to someone unfamiliar with Python's 'break' statement, without explaining it.
NOT OKAY
Giving or showing a non-staff member your solution code for an exercise they have not completed.
NOT OKAY
Consulting solution code from staff or a student, from this year or previous years, for an exercise you have not completed.
NOT OKAY
Collaborating in such a way that one would expect both parties to have mostly identical code: one person screen sharing, the other copying; one person speaking code out loud, the other transcribing; etc.
NOT OKAY
Using advanced code-completion tools, e.g. GitHub Copilot, or by other AI-based tools, e.g., ChatGPT; if you are unsure whether a code-generation tool is appropriate for use in 6.s090, please ask us before using it.
NOT OKAY
After having received help on an exercise and reaching a solution, we recommend waiting a day or so, and then trying to work through the exercise again from scratch on your own.
2) Consequences
Incidents of plagiarism will result in a grade of zero on the assignment in question. At the discretion of the staff, more severe consequences may result (e.g., the incident may be reported to the Committee on Discipline (COD), or an overall failing grade may be given for the course).
More information about what constitutes plagiarism can be found at http://integrity.mit.edu/.
3) Not Sure? Ask!
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 emailing us at lgo-python-staff@mit.edu.