For an upcoming project I have to get into a new topic of research which is not similar to anything I have worked so far. Furthermore, this project requires learning new programming language(s) and simulation environments. And in the end a software implementation and a final report has to be written

About the topic

The whole topic is about wireless mobile communication, the basics of communication technologies which are used in this topic are the same with the usual mobile wireless technologies I've learned before. However, the dynamics of the mobility are fairly different. The clustering algorithms used are not typical.

The essential question

How do I tackle such a situation, where multiple new things have to be learned before the final results are delivered. I separate the things I have to learn into

  • Prerequisites: programming languages, simulation environment, relation between them and the topic basics
  • Main work: learning the essential elements of the topic and becoming fluent in them

Past experiences

In the past I have usually worked on research topics which I have fulfilled the prerequisites for. So, I would tackle the topic following these steps:

  1. Read broader literature: Surveys
  2. Read literature about the specific problem
  3. Implement if there is something to be done
  4. Write final report

In this case I am a bit lost. I don't know where should I start from. That's why I need help from more experienced researchers. Compared to the list I provided above, step 3 is quite more complicated in this case, as I am not familiar with the programming language.

What I plan to do

I want to follow the following steps in order to get into this topic

  1. Fulfill the prerequisites: get familiar with the required programming languages and simulation environments. Coupling between them etc. Do some exercises until I feel confident.
  2. Start reading broad literature: Surveys
  3. Focus on the specific problem: Read specific literature
  4. Start implementation
  5. Write the final report

I am not quite sure if these steps are OK. Sometimes I get confused and I want to move 4 -> 2, 2 -> 3, 3 -> 4 and maybe parallelize something there with step 5.

Any suggestions would be greatly appreciated. I feel so overwhelmed by this topic and need urgent help :(.

  • What did your Principal Investigator say?
    – 410 gone
    Aug 25, 2014 at 11:39
  • not much, I didn't talk to him about the difficulties I might face. it was my own choice to get into the field Aug 25, 2014 at 12:00
  • It is confusing to me that people imagine they'll get up to speed in a "new area" in a short-ish time, some weeks, some months. Methodologically and sociologically, is this plausible? What about all the other hundreds or thousands of equally smart, far more experienced people presumably interested in the same issue? Are they fools? Or is "research" just "keeping busy" or "generating data"? I certainly don't intend to discourage anyone from pursuing interests, but I worry that people think that effective entry into "new fields" has essentially no cost. Not years? Well, ok, good, maybe, ... ? Aug 26, 2014 at 1:19
  • 1
    @paulgarrett should we stay in the comfort zone all the time? Aug 26, 2014 at 16:16
  • I'm not at all advocating staying in a comfort zone. Quite the contrary. Just noting that not everything can be "mastered" in as short a period of time as one might wish, and to make plans that depend strongly on that would be misguided. Aug 26, 2014 at 19:19

3 Answers 3


While your concern is perfectly valid (been there myself more than a few times), you should probably consider and accept that this is the way you are going to learn new things for most professional endeavors. This is how things work out of college; e.g. think about this: are you able to foresee what technologies and concepts are going to be required for your next project? And even if you could name them, could you set aside enough time for mastering them to be prepared for the next assignment?

As I see it, you already have a sound plan, I would stick to it. I would, however, recommend that you not get too engaged in just familiarizing yourself with the new environment. Sure, take some time to get some grip on it, but once you are got the basics, I suggest proceeding with your plan. One major asset of your assignment is going to be your new acquired skills, but that mastery will come in small portions along the whole road of the project. I find it unlikely (for students and professionals alike) to be able to learn a new paradigm in a reasonable time, without some means to guide the effort, e.g. class projects, so, instead of trying to get to the bottom immediately, get the basics and learn the rest along the way.

Other than that, as I said before, your plan is sound, just don't let the fear of the unknown overwhelm you into panic.

  • Not waiting for mastery is a great point. Best practices are there for a reason, and following them will make easy to refactor the things if at a later day you need to.
    – Davidmh
    Aug 25, 2014 at 17:04

In my (albeit limited) experience, depending on where you are in your career, you may want to search for a collaborator. When I was graduating, I had a project on the backburner that I didn't know how to tackle, so when I had a certain audience in job talks I'd try to send out dog-whistles about certain aspects of the research project to see if they could give me something back or be interested by the remarks.

In the end, I got a brand-new collaborator (an expert on what I wanted to do) who really started to enjoy the project and is finding new things about the technique in which he's an expert. And the results ended up better than I ever could have hoped! Perhaps your PI may have friends that she/he trusts not to scoop you that you can confide the project in and then consequently have a new collaborator.

Learning this new topic "on the street" as it may be would make this the most efficient way for you to learn and retain what you need for your research. This way you don't have to learn everything from the ground up which would take forever and your collaborator can tell help you figure out what you need to learn.


Learning a new programming language is probably the most straightforward part of this. Unless it's a really obscure language, there will be tutorials online and books to help you. If you already know one or two programming languages, learning a new one will usually not be difficult, and you can probably estimate for yourself how long it will take. However, if you're coming from a procedural programming background like C/C++, Java, Perl, PHP, VB, or most of the "familiar" languages, it will take more time to learn a functional programming language like Haskell.

Make sure your learning is very focused. Don't try to learn the entire language (unless you want to), just learn enough to accomplish what you need to. I usually read a chapter or two of the book, then try to code up a bit of the functionality I need. When I get stuck, I read a bit more. Lather, rinse, repeat.

Learning about the simulation environment may be easy or hard, depending on how well documented it is. If there isn't much documentation, but you can get a sample bit of code or configuration, then you can try making tiny changes to see what effect they have.

As for learning about mobile/wireless communication, have you considered talking to a company in this field? Large telecomms companies usually have some connection to academia. If what you're doing has business potential for them, they may fund your research, lend you equipment, or at least offer some mentoring. Or if your project isn't relevant to traditional cellular networks, maybe think about what sort of business might benefit from this technology, and then ask them for some support.

You must log in to answer this question.

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