4

I am a working software developer getting a MS in Computer Science. I've really enjoyed the courses -- but I have never done any academic research. Now I have an idea for a graphics-driven iOS application that I would like to build for my upcoming year-long thesis. (It's a variation on a particle simulator). The other students in my program have told me that a thesis is about generating a paper on a new technique or unsolved problem -- not building a polished program or application. They say that the code can simply be a proof of concept or prototype.

With that said, how should I approach building this particle simulator and pitching it to my advisor? Should I focus on underlying structures that would allow me to render complex physics-based graphics efficiently? Is there a name for that area of CS research? Are there papers in a certain area that I would want to start reading?

1
  • A related (but as of yet unasked) question would be "At what point does my academic research project become a practical software project?"
    – mal
    Jul 9, 2014 at 9:59

1 Answer 1

4
  • How should I approach building this particle simulator and pitching it to my advisor?

That depends on your goals. Your advisor should be able to advise you how to approach building this particle simulator. But in short it depends on the goals.

If you want to get funding to do the project, then state how that is going to be useful and profitable for the one paying.

If you want to make research with that, then state how is that research and why it is interesting research that will produce interesting publications.

You may have some other goals not included in these two. Your advisor may also have different goals. Whatever the goals are, try to plan to do whatever is useful for your goals and try to explain to your advisor how what you plan to do is useful for his or her goals.

  • Should I focus on underlying structures that would allow me to render complex physics-based graphics efficiently?

IMHO algorithms are going to be more interesting than structures specially when using parallelism, everybody loves parallelism nowadays. In any case try to check this [1] and possibly this [2].

  • Is there a name for that area of CS research?

Apparently that is computational physics, but simulation may work well too.

  • Are there papers in a certain area that I would want to start reading?

Yes, to find more papers you can:

  1. take the first reference I provided (and possibly the second) this is your set S of all sources.
  2. check the citations in S, add interesting ones to S.
  3. check who cited the references in S (you can try google scholar and other services for that), add the interesting ones to S.
  4. check other papers from the authors of the references in S, add interesting ones to S.
  5. search (e.g. google scholar) for related terms that appear on the papers in S if you think they should be explored further, add interesting references to S.
  6. you have now a lot of references to read, try not to read all of them, check the abstracts and summaries, try to prioritise what to read and how detailed the reading process should be. If you need more, return to 2.

    • At what point does my practical software project become an academic research project?

When you do something new and interesting from a scientific point of view, basically when you face challenges and provide solutions that are worth publishing, because reading about those solutions saves time to people working on similar problems.

E.g. If the solution is very specific (e.g. an implementation in a programming language) then reading about it may be a waste of time for people not using that language. An algorithm in pseudocode will be useful to anyone working on a similar problem if the problem is hard/big enough and searching, finding, reading, understanding and implemented what a paper says pays off in the end. Keep in mind that evaluation is a fundamental aspect in research, either empirically or formally (proof instead of evaluation then).

You must log in to answer this question.

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