Computer Science and Software Engineering Academic Integrity Expectations for Individual and Group Problem Solving Assignments

The Department of Computer Science and Software Engineering is committed to maintaining strict standards of academic integrity. The department expects each student to understand and comply with the University’s Policy on Academic Integrity and the undergraduate student handbook and graduate student handbook. Students may direct questions regarding academic integrity expectations to their instructor or to the department chair. All work submitted must be original for that class. Submitting the same project for two different classes is grounds for charging a student with academic misconduct unless prior written permission is received from both instructors.

“Problem Solving Assignments” are assignments that involve programming, math, proofs, derivations, and puzzles.

The purpose of a problem solving assignment is for you to develop the skills necessary to solve similar problems in the future. \To learn to solve problems you must solve the problems and write your solutions independently.

It is worth reiterating that the important aspect of the assignment is that you actually create the solution from start to finish; simply copying a solution and then understanding it after the fact is not a substitute for actually developing the solution.

The notion of academic integrity can be confusing in courses with substantial problem solving because certain forms of collaboration and investigation are permitted, but you are still required to complete your assignment independently. The following scenarios are meant to help distinguish between acceptable and unacceptable levels of collaboration and research, but are not all-inclusive:


  • Consulting solutions from the current course textbook, but not from other published sources.
  • Seeking help on how to use the programming environment such as the editor, the compiler, or other tools.
  • Seeking help on how to fix a program syntax error or how a certain language feature works.
  • Discussing strategies with a fellow student on how to approach a particular problem. This discussion should not include significant sections of completed work or source code (including printouts, email, viewing on a monitor). Discussions should begin with a clean sheet of paper and end with conceptual drawings and/or pseudo-code.


  • Looking at another solution including those written by current students, past students, or outside sources such as code or solutions found on the Web, or in publications other than the current class textbook.
  • Using another solution as a starting point and then modifying the code or text as your own work.
  • Providing a copy of your solution or a portion of your solution, in any form (electronic, hard copy, allowing another student to view your code on a monitor), to another student.
  • Giving or receiving code fragments to fix a problem in a program.

If you are stuck on a problem and you are tempted to search for a solution on the Web or to look at another student’s solution STOP and email or ask your instructor for help.