Academic misconduct (or: ‘is this kind of help appropriate?’)

We have looked at using version control (i.e., using it on the command-line and using web interfaces like GitLab).

One of the things that you’re going to quickly find out is that there’s a lot of source code that’s published publicly on the internet. Sometimes that source code is published (for example) as part of a programming language. You can find source code for the JDK on GitHub. You can find source code for Python on GitHub. You can also find source code that implements many algorithms in a variety of programming languages on GitHub.

Unfortunately, just because you can find these projects publicly posted on GitHub doesn’t mean that you have been given permission to include that code in the code you write that’s being assessed as part of your university courses.

Sometimes it’s a legal issue: the code that’s posted on web sites like GitHub is copyrighted by the person who wrote the code. That person may grant a broad open source license for other people to use their code, but that doesn’t grant you permission to use that code in your own code.

Regardless of whether or not it’s a legal issue, including source code that’s not your own (you did not think about the solution, then write it yourself) is an issue of academic integrity.

Source code is copyrighted, but may also be licensed. Some software licenses are proprietary (you’re not allowed to re-use or re-publish that source code in any way, shape, or form unless you pay for a specific license); some software licenses are open source (you’re allowed to re-use or re-publish that source code in your own projects, provided you include the license); some are public domain (you’re free to do whatever you want, however you want with the source code and you’re not required to include the original license).

When you are in a position of licensing your software (which you may not be right now!), a site like Choose an open source license can help you decide what kind of license you want to use when you publish your source code for the world to use.

Academic misconduct is an issue that can affect you, and one that you should take seriously.

The learning outcome in this topic is for you to identify whether or not certain situations would be considered academic misconduct, specifically in the context of Computer Science and software development, so we’re going to show you some specific situations, give you a chance to think about those situations, and then tell you about why or why not something is considered academic misconduct.

Situations

Situation 1

Michael and Rob are both working on their assignment for COMP 1020. Rob is having a bit of trouble, so asks Michael if they can talk for a while on Discord about the assignment.

Michael and Rob work together on the assignment for a while, but Michael never shows Rob any of his code. Michael and Rob only talk about the assignment, make general design suggestions, or suggestions on which data structures to use.

Have Michael and Rob committed academic misconduct?

Situation 2

John and Franklin are both working on their assignment for COMP 2140. Franklin is really struggling with the assignment and asks John if they can meet over Discord. Franklin and John both talk about the assignment for a while, but John is starting to think that Franklin is really in over his head.

John suggests that he share his code by screen sharing so that Franklin can have a better idea about how to link together two nodes in Java. Franklin agrees and reads John’s code. Franklin then writes his own implementation.

Have John and Franklin committed academic misconduct?

Situation 3

Franklin and Heather are both working on their assignment for COMP 2160. Franklin is really stuck trying to figure out how the first part of the assignment works. He asks Heather if they can meet on Discord, but Heather is not available to help. Instead, she e-mails Franklin her partial implementation that includes how she set up the assignment.

Have Franklin and Heather committed academic misconduct?

Situation 3 (a)

Franklin copies and pastes some of the code that Heather shared with him, but he doesn’t tell Heather. Franklin submits that code as part of his own assignment.

Have Franklin and Heather committed academic misconduct?

Situation 4

Franklin is getting really desperate. He just can’t figure out how to find the length of an array in C. While Franklin is looking for help on the internet, he finds some code that looks a lot like it’s supposed to be a solution for the assignment that he’s working on, and may in fact be the sample solution provided by the instructor in previous terms..

Franklin reads the code and it helps him figure out how to find the length of an array in C. He doesn’t copy any code.

Has Franklin committed academic misconduct?
Situation 4 (a)

Franklin copies and pastes a small fragment of the code that was in the file he found (maybe a single function).

Has Franklin committed academic misconduct?
Situation 4 (b)

Franklin submits the entire file he found with enough modifications to satisfy the current assignment description.

Has Franklin committed academic misconduct?

Situation 5

Franklin managed to get the assignment done for COMP 3430 (barely), and he handed it in at the very last second. In his rush to hand in the assignment, he forgot to include a part of the report that was listed in the assignment requirements section. This part of the report isn’t itself essential for the code to work, but is essential to help confirm the results/conclusions that Franklin is writing about in the report.

Has Franklin committed academic misconduct?
Would Franklin be at risk of being accused of academic misconduct?

Some additional scenarios to consider:

  • Franklin’s instructor has given some code in the assignment.
  • Franklin’s instructor has pointed Franklin at a web site that has code on it.
  • Franklin posts his code on GitHub (privately).
    • Nobody finds it.
    • Somebody finds it and uses it.

Further reading

You’ve seen some specific examples, but academic integrity is a pretty big topic.

You can find more information about academic integrity: