On this page

Expectations at a glance

Most courses in Computer Science have academic work that students are expected to complete independently. This could include any kind of work submitted for evaluation, such as assignments, labs, projects, quizzes, tests, or exams.

All individual work must be completed entirely by the student. That is you.

Every line of code in a program, every sentence in a written work, and every step in a mathematical derivation that you submit for evaluation must be composed and transcribed by you. That is, you must determine what to write, and write it yourself, without unauthorized help or prompting.

The individual work that you create to submit for evaluation cannot be shared with anyone else. That is, you cannot show it to anyone except for people like your instructor or TAs, whether to ask for help or to help others.

The purpose of this document is to provide a detailed set of expectations that will apply to most Computer Science courses. The expectations set out here may be modified or strengthened in materials specific to your course, as provided in a course outline, or instructions for course work.

These expectations must be met for all individual work that you submit in your Computer Science Courses.

How to get help

The following only applies to assignments and not other evaluated materials like quizzes, tests, or exams. Those must be done without collaborating or communicating with anyone else and using only explicitly permitted resources.

If you need help with your individual work, you should first ask your instructor, TA, the help centre or check other recommended resources such as official course forums.

If you choose to speak to someone else while working on an assignment, such as another student, or a person outside the course, your conversations must be about topics more general than the problem being solved in the assignment.

  • You can talk generally about the topics you have learned in class or techniques that may help you devise a solution. For example, you could discuss how “while” loops work, or ways to debug an infinite loop. But you cannot talk about the actual solution. You cannot talk about the specific loop or condition you need to write for the assignment or the code that you need to debug to solve the assignment.
  • It may be OK to talk about strategies to solve the problem if they have been discussed by the instructor or are given in the assignment.
  • You have to consider what the assignment is asking you to do. If the purpose of the assignment is to devise a strategy to solve a problem, then you cannot ask others for their strategy, or share yours with others.

If you choose to seek help in other places, such as websites, forums and so on, it is your responsibility to ensure that you are not violating the expectations for individual work. Here are some suggestions.

  • Don’t look for specific solutions to the problem you are working on. Instead, look for ways to help you learn the things you don’t understand.
  • If you come across a source that directly solves part of the problem you are working on, stop, leave it and find a different resource.
  • If you come across a solution specific to your assignment, like a posted copy of it, stop and leave it. You may want to let your instructor know.

If other students ask you for help, remember that you are responsible for making sure that you do not violate these expectations. The penalties for sharing your work with others are just as serious as they are for using someone else’s work.

Learning together with other students

Even though most assignments are individual, learning can still be done with others. You may have in-class or in-lab activities where you can work together with other students. You may also know or meet other students in the course and learn together. Learning can be a lot more enjoyable and effective when it’s collaborative.

Working together to learn the material before an assignment or test is posted is always acceptable. You can talk about the material, solve example problems, share resources and help each other. Learn the skills you need to do your work.

Once the assignment is posted, you can keep learning new material together, or reinforce your learning of existing material, but you cannot work on the assignment with others. You can only communicate about it as much as the rules of the course permit. If there are no more specific rules stated in the course, assume that while collaboration is permitted and encouraged when you are learning and before a test begins, no collaboration is permitted while working on assignments or tests.

One other caution: all of the material that you produce while learning with others isn’t “your” work. That means you can’t reuse it in your assignments or tests. If an assignment or test asks you to do something similar to one of your previous group activities, you must re-write it from what you’ve learned, without consulting it directly.

Other sources of material

Any time you consult a resource outside of your course material, it must be for the purpose of learning the material, and not looking for answers to a specific problem. If you are consulting other resources like websites or books for help with learning, remember that the materials you collect from them are not your own. If you copy an example or text into your notes, that doesn’t make it yours: you can’t re-use it in your own work.

If you are asked to implement an algorithm you are given, then the algorithm isn’t yours, but the implementation must be entirely your own.

Computer Science courses generally don’t allow copying work from any other source, either directly or after editing or rewriting. That is, “paraphrasing” someone else’s code or math doesn’t make it yours. It’s not permitted, even if you cite your sources.

If your professor does permit some limited re-use in your work, such as sample code, ensure that you follow their rules for this re-use. And don’t assume that what is permitted in one class is allowed in another. If you’re not sure, ask first.

Old assignment or test solutions, from a course that either you or someone you know has previously taken, are not a permitted resource. You are not allowed to consult these while working on your own assignments or tests.

When you do need additional resources for help with learning, consider the quality of the sites you visit. You may want to ask your instructor for recommendations. Sites that advertise “help” with university courses like Chegg and Coursehero are not reputable sources. They are filled with unauthorized (and frequently illegal) copies of course material and should be avoided.

Also note that posting your solutions to sites like these, or even to more reputable sites like Stackoverflow or GitHub, is not permitted even after the course is finished. Instructors hold copyright for all materials that they have distributed, like an assignment description or test questions. This includes any part of a solution (such as code) that you may be given to use as a starting point. And for any programming assignments that you complete, copyright is held jointly between you and the University. This code cannot be shared without the University’s permission.

Academic misconduct

What is academic misconduct?

The University requires that all students agree to the principles of academic integrity in the work that they submit for evaluation. In Computer Science courses, this means that you must meet the expectations set out in your course, including those that are described in this document.

If you violate these expectations, you have committed an act of academic misconduct. Some examples of academic misconduct are:

  • Communicating with another student during an individual quiz, test, or exam.
  • Viewing or otherwise using resources that weren’t permitted, during a quiz, test, or exam.
  • Having someone else write all or part of a quiz, test, or exam for you.
  • Helping another student solve an assignment problem by telling them what steps to do next, or by fixing errors in their solution for them.
  • Sharing files or copying and pasting assignment code between students, or from another source. Even if it is edited afterward.
  • Giving your solution to an assignment to someone else, even if they say they just want to see how you did it.
  • Showing your assignment or any part of it to another student in any way, such as in person, as a picture, or by screen sharing.
  • Copying even a single line of code from any source, like GitHub or StackOverflow, into your assignment.
  • The use of any “AI” based system like ChatGPT, StableCode, Copilot, Tabnine and so on, to solve any part of an assigned problem. This even includes using it as a starting point, for ideas, to help fix errors, or for any purpose where its output influences or is incorporated in your submission. If it’s generated for you, it’s not your work.
  • Looking at someone else’s implementation of an algorithm to help you write your own implementation for an assignment.
  • Posting an assignment question to, or visiting an assignment solution on, a site like Chegg or Coursehero.
  • Posting your test or assignment solution on a public site, discussion forum, chat, or private message. Even after the test or assignment is due, another student may still find a way to use it.
  • Consulting a test or assignment solution posted on a public site, discussion forum, chat, or sent by private message, to help produce your solution.
  • Using any part of an old solution to a similar assignment in your own solution.

These are only examples: it is not an exhaustive list. Any violation of the expectations for individual work is academic misconduct. Before you hand in any work for evaluation, you must be able to answer “yes” to the question: “Is this entirely my work?” Except for any parts that your instructor has explicitly permitted you to use, you alone need to have created everything you submit. Furthermore, you must also be able to answer “no” to the question: “Have I shared any part of my work with others?” Any sharing or group work that is not explicitly permitted in a course is considered inappropriate collaboration, which is a type of academic misconduct.

What are the consequences of academic misconduct?

When cases of possible academic misconduct are discovered, they are reported directly to the Computer Science department. This launches an investigation, which can take some time. Until it is complete, results and feedback for the work and possibly the entire course may be withheld. There can be holds placed on student records, which can prevent access to transcripts or registration in courses. The investigation process must follow official University regulations.

If the investigation, once complete, concludes that there was academic misconduct, penalties will be assessed to all students involved in the misconduct. These penalties can range from a zero in the entire submitted work, to an F in the course, disciplinary notation on a transcript and/or suspension from taking courses in the Faculty of Science or the University. These penalties apply equally to students who submit work that is not entirely their own and to students who share their work with others.

Other resources

If you need help with academic concerns, you can start by contacting your instructor. If you need more help than they can provide, you can find resources for more academic advice on the University’s academic supports page.

The university also has resources to help you with all parts of student life, starting with the University’s student supports page.

For more information specific to academic integrity and academic misconduct, please consult the University’s academic integrity page and the Faculty of Science's academic integrity page.

The Student Advocacy Office has a page with more details about academic misconduct investigations.

You can find a more formal definition of academic misconduct in the University of Manitoba Academic Calendar.