Academic Integrity in 15-451/651

This course, like all others at CMU, is subject to the university's policy on academic integrity. This page describes course-specific policies and clarifications regarding academic integrity in 15-451/651.

Overview

This course is all about learning to design, analyze, and implement algorithms for important problems. Since many of the problems that we study are classical and famous problems, you might be able to find solutions, explanations, and code, on the internet or elsewhere for some of your homework problems. Copying solutions not only constitutes cheating by giving you an unfair advantage over other students, but it also diminishes your own learning, and is likely to ultimately hurt your own performance in the class in the long run since you will not develop the skills needed to solve the problems presented on the exams. We also screen all homework submissions for cheating and are very effective at detecting it, so if you choose to cheat, you are very likely to be caught. If you are caught cheating, at minimum you will recieve a grade penalty, and you will also be reported to the Office of Community Standards & Integrity with an Academic Integrity Violation (AIV), which puts you at risk of being suspended or expelled from the university.

We take cheating in this course very seriously, but we understand that many students cheat because they are struggling with the class and feel like there is no other option. We try very hard to provide an environment where that will never be the case. If you are struggling with the material, the homework, or the exams, please make use of the extensive resources that we make available to you. Consider signing up for tutoring, attend professor office hours for personalized help and advice, or otherwise reach out to us for help. We would much rather dedicate additional time to helping you through your struggles than spend that time investigating violations and filling out AIV paperwork.

Specific Examples

This list is meant to be illustrative but not necessarily exhaustive. If you are unsure whether a particular action would consistitute a violation of academic integrity, please contact us and check.

Written Homework Cheating

Homework problems will either be designated as SOLO or GROUP problems. For SOLO problems, you must complete them entirely on your own, which means you can not discuss them, even at a high level, with anyone else who is not a current member of 15-451/651 staff. 'Anyone' includes past, present, or future students, friends, family members, external tutors, etc. For all problems, whether SOLO or GROUP, you must not attempt to find the solution online, in a book, in a journal, by asking an AI tool, or searching anywhere else not explicitly permitted.

For GROUP problems, you may work on the problem with a group of up to three people. You may not work in a larger group, and there must be no collaboration between groups. Your group members must be listed on your homework submission. You are not required to work in the same group for the entire semester, however, you should work with the same group for a single homework assignment and not have different groups for different problems. For GROUP problems, all members of the group are required to make a good faith effort to contributing toward the problem-solving process. While some group members may be more comfortable with the material and able to contribute more, it is not acceptable for any group member to purposely not contribute and simply recieve the solutions from the other members.

Furthermore, even for GROUP problems, you are not permitted to share written solutions with anybody, including your group members. The writeup that you submit must be entirely written by you, in your own words, without seeing your group members' version of the solution. In other words, the purpose of group work is to collaborate on the key ideas of the solution solution and ensure that every group member understands it, but not to produce the actual written answers. You are required to understand the written solutions that you submit, and must not simply write up a solution that someone else describes to you, or copy from someone else's written solution, even a group member.

Programming Assignment Cheating

Programming assignments are always considered solo problems and are thus subject to the same rules as SOLO written homework problems. You may not copy any portion of your code from any other source unless we explicitly permit it. Note that copying is not only defined as directly copy-pasting code, but also prohibits manually typing code that you have read, or manually typing code that someone else describes to you. Even if you edit code that you have copied, it still counts as copied code, even if you edit it substantially to the point that it looks very different.

You are not allowed to look at another students code, whether it is with the intention of copying it, helping them debug it, or otherwise. You should never try to help debug another student's code by reading their code, however, you may suggest test cases for students to test their code on, e.g., "try testing your code on a tree with one vertex" is allowed, as long as your suggestion is generic and not based on having seen their code.

All code submissions made to Gradescope must be legitimate attempts to solve the problem. It will be considered an academic integrity violation to make submissions for any other purpose. For example, but not limited to: mass submitting submissions to DOS (denial-of-service attack) the autograder, submitting code that attempts to exfiltrate information about the test cases or the autograder system, submitting code that attempts to gain network access to the autograder machines, submitting code that attempts to directly alter the autograder output to manipulate the submission's score, etc.

For programming assignments, you are allowed to search for, and ask others for help with programming language issues that are not specific to the algorithmic problem. For example, you may search for and look up syntax rules or documentation about a language's standard library functions, as long as it has nothing to do with the algorithms.

Exam Cheating

Exam cheating is less common than homework cheating, but the penalties are far more severe. While homework cheating will usually result in a loss of points on the homework, a possible grade deduction, and an AIV; exam cheating will almost surely result in guaranteed course failure and a more severe AIV that could get you suspended or expelled from the university.

In general, exams must be completed without any form of collaboration between students and without consulting any external resources. Most students will take the exams at the usual scheduled time, but some students will take the exams at different times due to accomodations or other approved conflicts. After taking an exam, you must not share any information whatsoever with another student who has not yet taken the exam. This includes specific details about the problems but also covers anything high level. For example, you must not imply anything about the topics covered, even vaguely, so you should not mention to someone yet to take the exam that you "wished you had studied minimum cuts more", as this would give away a topic on the exam. To be safe, after taking an exam, we suggest not discussing the exam with anybody else in the course until after grades and solutions have been released.

Sharing or receiving problems or solutions from past semesters

You are forbidden from sharing any information about homework or exam problems (including practice exams) or their solutions (either our reference solution or your own solution) with anyone outside of the class. For example, you must not post homework or exam problems or their solutions online, or share them with another student who takes the course in a future semester. You must also not share your code solutions to the programming assignments in a public place, e.g., in a public Github repository or a blog/website or otherwise. This policy applies even after you have completed the course, and even after you graduate. AIVs can be filed retroactively, resulting in letter grade penalties even after you have already completed the course or graduated. In the most severe cases, the university also has the right to rescind a degree from a graduated student. Conversely, you must not solicit information about past homework or exams from students who previously took the course. For example, do not ask friends who previously took the course to share the exam problems or solutions from their semester with you. Such actions would constitute a violation of academic integrity.

This policy extends in spirit beyond just sharing the actual documents themselves. You must not verbally or otherwise communicate this kind of information with others in any way. For example, after you complete the course, you should not verbally or electronically describe the exam problems or their solutions from your semester with a student who takes the course next semester.

Not securing your work

In general you are responsible for the security of your work. Do not leave your work in a place where another student could steal it or copy it. For example, do not leave your laptop unlocked in a public place while you go to use the bathroom. Similarly, try to avoid using public shared computers to complete your work, or, if you must, ensure that you completely log out of all services that would grant others access to your work before you leave. Do not store your code in a public place (e.g., a public Github repository). If another student happens to copy your work, even without your knowedge or permission, you will be deemed responsible for sharing it with them.

Consequences

Penalities for academic integrity violations vary depending on the severity of the offense and whether it is a first-time or repeat offense. In general, expect to at minimum recieve a grade penalty on the assessment. More severe violations may result in a letter-grade penalty to your final course grade, or even course failure. Academic Integrity violations will be reported to the Office of Community Standards & Integrity (OCSI). Repeat reports to OCSI (including from multiple different courses) can result in suspension or expulsion from the university.

Honesty

Lastly, we wish to emphasize that we highly value honesty when it comes to academic integrity violations and we do account for this when deciding on penalties. OCSI also places a strong emphasis on honesty and are less likely to suspend or expel students if they are honest than if they try to lie their way out of the situation. The sooner that you come clean about it, the better the outcome will be for you. If you commit a violation during a momentary lapse of judgement and you wish to confess to it before we have even caught it, we will generally be happy to give a substantially reduced penalty compared to what you would recieve once we catch it.