ICS 31 • DAVID G. KAY • UC IRVINE
Collaboration and Independent Work
Part of being a professional is following the profession's norms of accepted behavior. One thing we care about in academia is giving people credit for their own work and ideas (and not getting credit for someone else's work and ideas). In an academic setting you may not turn in someone else's work as your own. "As your own" is the key phrase: If you use code from the textbook or from your TA, you should include a comment indicating where the code came from. This is perfectly permissible unless an assignment explicitly restricts what code you may use. Joint work may be allowed or required by an assignment, as we are doing with pair programming. However, using code from students other than your partner or from sources outside of the course is not permissible in ICS 31 except when an assignment explicitly allows or requires it.
As a general principle, we expect you to do your own independent work in all parts of this course. On exams, that's you alone (plus any questions the instructor answers during the exam). On lab assignments, that's you and your official partner (whom you choose and register for each assignment in the Partner App), plus the instructor, TAs, and lab tutors. That's a lot of sources of help, but it does not include getting code or solutions from other students who aren't your designated partner for that lab.
There even are circumstances when you may discuss lab assignments with other students, but they do not include sharing more than a couple of lines of code; more code than that is too much and can lead to trouble. In this course it is always permissible, even desirable, to talk with your classmates about the conceptual course material or the requirements of an assignment (though the instructor or TA will be most reliable for this). It is always permissible to get help from anyone about using the programming environment or other system details, help with minor syntax errors, or suggestions of possible test cases for your programs (though when an assignment requires it, you must write your own description of your test plan). It is never permissible (except if an assignment explicitly allows or requires working in groups) to copy another student's solution (whether code, prose, or math). A good rule of thumb is this: Any time you find yourself writing down code that is part of someone else's solution (on paper or by copy/paste, Email, or other electronic means, or by having someone dictate code to you line by line), you are copying impermissibly. Never ask someone to Email you their code; never let someone help you by reading their Python statements to you line by line as you copy them down, or let them copy their code for you. And never post your solutions to class assignments on online open-source sites like GitHub and CourseHero; you may be proud of your work, but if you post it some other student may find it and submit it themselves, even in a future quarter, and that could embroil you in an investigation (which is unpleasant and inconvenient even if you're eventually found to have done nothing wrong).
Turning in another person's work as your own violates the honesty policies of ICS and UCI. The School of ICS takes academic honesty very seriously. Current campus policies require that every incident be reported to the Campus Office of Academic Integrity and Student Conduct; they will investigate and may impose serious penalties on students who violate the guidelines. Detected violations may result in a lower course grade (perhaps all the way to F), a record being kept, and other benefits and privileges being removed. Second offenses are treated even more severely. We do check for academic dishonesty both manually and automatically. It is an unfortunate fact that nearly every quarter, some students in ICS classes are found to have violated these policies; to protect the privacy of the guilty, violations are not made public, but sadly, they do occur. No matter how much pressure you feel from deadlines or other sources, no matter how inconceivable it is to you that you might not complete an assignment on time, never take the shortcut of turning in someone else's code. Compared to the consequences of academic dishonesty, one low assignment score is a minor disadvantage. If you feel as if you're falling behind or have other difficulties, see your TA or the instructor; we will help you work around your trouble.
We do encourage all students to help their classmates with the course material and the labs, within these limits. Helping someone else doesn't hurt your grade; we don't have any quota on how many As or Bs we can give. It is even permissible in ICS 31 to let someone else look over your code to get an idea of how you organized it. However, you should not let anyone copy your code, either on paper or electronically. In fact, you should always keep your code in your own possession; if you give or Email a copy to someone else, even if it's just "for reference," that person might be tempted to copy portions of your code; then you could be accused of academic dishonesty. This has happened, and it's very unpleasant for the person who was "just trying to help." Getting tangled up in a case of copying, even if your partner did the copying, may still have consequences like interfering with your enrollment in the next course. In fact, you should never send an electronic copy of your code to anyone besides your partner or TA. Every quarter, some student turns in code they received from someone else—sometimes leaving the actual author's name in it—and even though they claim they submitted the wrong code by mistake, they shouldn't have had a copy of that code in the first place. If someone asks you to send them a copy of your code, just say no; you'll save everyone (including yourself) a lot of trouble.
Most importantly, realize that getting "the answer" is only the last part of each assignment. Equally important is the process of getting the solution—including the false starts, bugs, misconceptions, and mistakes—because the learning occurs in the doing. Completely apart from the ethical issues, copying a solution deprives you of the whole point of the assignment.