Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am in the process of trying to identify a suitable project for my final year at university. How important is it that the project be unique?

I really want to do a project with the Kinect and am eagerly awaiting the official SDK. As yet I am struggling for an idea. However, I have looked at to see what other people have been working on, and a few of these ideas interest me.

Would you think it is ethical to take one of these ideas and implement yourself? Obviously one would try to implement additional functionality on top of what is already there?


share|improve this question
Unless you're doing a thesis you should not expect to be doing new, unique work. It is almost always the case that any work you do for a Bachelor's degree, even a senior project, will not be original. – M. Dudley May 17 '11 at 13:01
@emddudley Even PhD theses aren't entirely new, original work. Most of them - at least in part - involve examining the consequences of adjustments to an existing technique or applying an old method to a new area. Standing on the shoulders of giants, and all that. – Scott May 17 '11 at 13:11
@Scott -- True, +1 – M. Dudley May 17 '11 at 13:18
It only has to be interesting. From there, whether it's unique or not is irrelevant, though there's a strong correlation between the uniqueness of a thesis and how interesting it actually is. – Neil May 17 '11 at 14:54
up vote 7 down vote accepted

It's perfectly ethical to take an idea from somewhere as long as:

  1. You don't try to pass it off as yours.
  2. (Particularly important for university projects) You implement it yourself, or at least give due credit to those you borrowed from (e.g. libraries you used; open source projects you adapted). A good write up would do so anyway, by making it clear what you actually did.

With regards to uniqueness, while that's a good thing for a dissertation topic to have, it's not essential - you can do a perfectly good dissertation by making a relatively small adaptation of an existing project (with the above caveats about avoiding plagiarism) but, as that reduces the amount of implementation work you have to do, you may well be expected to do more evaluation (e.g. "how does this change improve [project]") to achieve the same mark.

In my opinion, it's far more important to choose a project that you're interested in. You're going to have to keep yourself going on the project for at least six months - it's far easier if you're doing something that actually gets you excited.

share|improve this answer
A doctoral dissertation has to have original work, at least in the grad school I was at. There is a real hazard that a doctoral student will be working on something another researcher is working on, and that's the sort of thing advisers are supposed to try to guard against. – David Thornley May 17 '11 at 15:23
@David Thornley True, but this seems to be a final-year undergraduate dissertation (correct me if I'm wrong, OP), which has a much lower standard. Even then, PhD theses aren't always totally unique, as I mentioned in a comment on the question itself. – Scott May 17 '11 at 16:45

Would you think it ethical to take one of these ideas and implement yourself? Obviously try to implement additional functionality on top of what is already there?

It's ethical as long as you credit the source.

Any computer work builds on the work of others. You didn't write the operating system nor the compiler / interpreter.

share|improve this answer

We don't live in an isolated world - everyone is influenced by everyone, so it's OK to reuse and modify other people's ideas. That's how world moves forward - Einstein was influenced by Lorenzo's work on matter contraction, etc.

share|improve this answer

Not unethical , unless you take verbatim code and try to pass it off as your own.

Regarding the unique ideas bit, it is very unlikely that you will conceive something really unique(maybe an app that can read your mind! even MS will give up!). Someone somewhere has probably already thought of it and has implemented it or is halfway towards completing it. So don't trouble yourself with uniqueness. Is it interesting enough for you to put in your best for the project, and not merely complete it because you have to? That should be your test to determine your project.

share|improve this answer

I gotta say it depends on the criteria you were given with the assignment.

A grad school thesis is expected to be a unique work. It can be inspired by other work - such as the work currently noted at, but as you say, you'd have to go beyond it a bit and bring your own inspiration to the table. I'd think that your adviser would have some good advice here on getting through the specific expectations of your university.

That said, a grad school thesis isn't the only time that one may be expected to prove that one's work is the first time through a given hypothesis or project. I had to do similarly for an undergraduate project that qualified us for our writing requirement. In that case, it was one of the bigger projects in my time in university and the requirement for uniqueness was certainly above and beyond a typical assignment - my main point is that this expectation can be levied prior to grad school thesis writing. You have to check with your university and any professors advising you to see what the criteria are, specifically. Sometimes the rules get very specific in ways that no one here could easily guess.

All that blathering aside, there's a difference between copying and being inspired by work described on a website. If you read about someone else's work and get an idea to take it one step farther, then you are adding your own insights and direction to it and I would call that "inspiration", not "plagarism".

share|improve this answer

Uniqueness will never trump significance. Significance is a much stronger super-empirical value to possess in academia as a general rule. It is almost impossible to do any significant work without it being somewhat unique, since whatever you do would already have been done, therefore insignificant. Moreover, if you find something entirely unique, it is fairly likely that you have chosen some topic that really does not matter. This is one of the most foundational principles of modern science. For most of scientific history we thought the goal of science was to learn everything about the natural world. Then at some point someone (actually Thomas Kuhn) had a dialogue that went something like this:

“So can I get a grant to study how many people in the world have blue eyes and also like pizza?” “No.” “Why not?” “Because that is insignificant.”

That was certainly a unique idea, but it was also entirely insignificant. At the same time, you are probably more likely to get a grant the less unique your idea is. Take a look at how many studies have linked Cholesterol to heart disease. Now that there is that body of evidence supporting the theory, there will not be less studies with the exact same idea, but more. Computer Science generally values innovation a good bit more than most natural science, but it certainly carries some of these same quirks.

share|improve this answer

Depends on the degree program. Somebody who is going into his or her final year at the University and is looking for a project isn't going for a Ph.D., so we'll assume Bachelor's or Master's.

Talk to your adviser or whoever's going to be grading the project. Find out how original from there.

It's ethical to use ideas and implementation from elsewhere as long as you document where you got everything. This is standard academic practice, and allows your graders to determine the amount and quality of work you did.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.