I'm taking the undergraduate capstone design course in electrical engineering at a university in the U.S. and I've been receiving some programming help from a friend who is not, nor ever has been, a student at the school. I understand that a certain amount of professional assistance is acceptable, however, there was a significant programming snag that I encountered that I would not have been able to solve on my own without this person's help. I have not asked my professor directly about this yet (there's still time, though!) since I've been afraid of self-incriminating and that I may be asked to remove the code which would put me back to my major snag that I can't solve. At this late point in the course, this solution is essential as removing it would likely force our group to alter direction/scope. This is a design project and not a programming project (I'm currently using plenty of acceptable open-source code from GitHub) and I feel my group has legitimately created original design work. Obviously, I have no problems at all citing any sources I used for the project as my goal is to avoid cheating.

My question is this:

Can I use code that was created specifically for my capstone design project by a knowledgeable person (with my assistance) without cheating if I cite the source? Would it make it more acceptable if this person posted this same code to GitHub as well since other GitHub resources have already been deemed acceptable?

  • 6
    You have to ask your professor, no way around it. Suppose that people here say "yes, it's fine" but it turns out that your professor disagrees. Guess whose opinion prevails? "The Internet said it was okay" will not be a defense when you're charged with cheating. Commented Nov 6, 2018 at 23:12
  • @NateEldredge, that sounds like a pretty definitive answer. Why not make it a formal one?
    – Buffy
    Commented Nov 6, 2018 at 23:25
  • But how great would it be to one day say out loud to a professor, "The internet said it was okay!" You're right though and I have already set up a meeting with my prof. I suppose my question is more circumstantial than I realized and a broader inquiry on authorship and citation is probably not possible. Thank you everyone for your feedback!
    – melonhouse
    Commented Nov 7, 2018 at 15:20

1 Answer 1


I have not asked my professor directly about this yet (there's still time, though!) since I've been afraid of self-incriminating and that I may be asked to remove the code which would put me back to my major snag that I can't solve.

There is not a lot of guidance that we can give you on this question as outsiders. Your professor is the one who has set the assignment, and he/she is the proper person to determine what level of assistance is allowed while meeting the learning/assessment goals of the assignment. In cases like these, where you have doubt over the allowable scope for assistance, you need to speak to your professor for guidance. Since you have already received assistance, this conversation will involve disclosure of previous assistance, so you should be open to the possibility that you may have to discard some of that work.

The other issue here is the importance of learning how things work. If you have been provided with code by an outside professional that solves some problem in your assignment, then you need to take the time to understand how and why that code solves the problem. You say that if you are asked to remove the code then that will put you back to a point where you can't solve the problem. This suggests to me that you don't actually understand what that code is doing, and so it is not appropriate for you to use it in your assignment. The best approach here would be to take the time to learn the reasoning behind the code that was used, and why it works to solve your problem. Once you understand this, it should not be a major problem if you had to remove that code and write your own replacement code in a different form.

  • I completely see where you are coming from in the first paragraph and can't argue it. However, I suppose I wanted my question to address a broader inquiry on intent. I.e. where do the boundaries generally lie in the world of open-source programming when it comes to coauthorship (unacceptable for this project), referencing, and acknowledging (both acceptable for this project)? Obviously, that isn't how I worded the question so I'm accepting this answer as sufficient to my stated question.
    – melonhouse
    Commented Nov 7, 2018 at 15:07
  • @melonhouse: With respect to the broader issue, I would say that there is a definite line between finding and using existing open-source resources that assist in an assignment (which would sometimes be allowed) versus having an expert program new resources specifically for the purpose of advancing the assignment. I think the latter would generally be regarded as usurping the learning goals of the assignment, and would therefore probably not be allowed. The former may be allowed in many cases (with proper attribution, referencing, etc.) so long as the use of those resources is not excluded.
    – Ben
    Commented Nov 7, 2018 at 22:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .