Part 2 : Planning your thesis Part 3 : Setting up your writing, programming, and research environment for success Part 4 : Tips for writing your thesis

What I learned from an AI masters degree - Part 2 (Setting up your writing, programming, and research environment)

Setting up your programming environment

If you are a programmer, this part might not be something you are particularly afraid of. But if you are not as comfortable with programming, it would help you to set up your environment before you start. This might include things like creating a GitHub repository, installing all the packages that you need, making sure that you have the resources that you might require (such as a GPU) etc. In future parts of the article, I will try to detail as much of this as I can based on my experience. (Depending on when you are reading this, these parts of the article might be already posted, so refer to them.)

Setting up your writing environment

A thesis is a rather long document, but by this point, you hopefully have written enough assignments to be comfortable with writing technical articles. If you have not, or you are reading this before doing a Master, it would serve you to be a little familiar with LaTEX. It’s took me about a few hours to get everything set up and running, but it might take you longer. (Refer to a detailed guide in future articles.)

Programming your idea

Not every thesis would require a lot of programming. Depending on what you’re doing, you might have to spend more time writing analysis scripts instead. In my case, I created a solution from scratch and also wrote the analysis scripts so it definitely took me a lot of experimentation and time. But to be honest, it took me longer because I hesitated quite a lot, and did not spend enough time trying to refine what I already had.

Running experiments/studies

Again, depending on the kind of thesis, you are working on the time taken for you to run, experiments or studies might differ considerably. If you are running experiments where you collect data yourself, from different systems or from human studies, it might take you a lot longer. In my case, I used datasets that were already available but since I ran a lot of experiments, the running took longer.

Analysing the experiments/studies

Just like the previous one, analysing your results might take you longer. I personally found it useful to have the analysis scripts written as early as possible. I started writing the scripts around the same time that I started programming my solution. This allowed me to be able to run quick experiments just to make sure that my code was working and saved me quite a lot of time in the long run. It also meant that as my code changed, and I thought of new things, I could add them directly to my analysis without having to wait till I was finished running my experiments.

Actually writing the thesis

So, you made it to having your experiments and data and literature survey now you actually want to start writing the thesis. I will warn you though, it will probably take more time than you think it would. No matter how good you are at writing long form, there will be many things that will crop up that you did not probably think of. It took me probably the longest to write my thesis compared to every other step. But, although it took a long time, it was not very painful as I had planned ahead and made preparations. Many of the little things such as making notes while reading papers, setting up the environments, beforehand, etc significantly cut down the mental effort it would have required otherwise. As for all the parts that helped me out, there will be detailed articles about the same. Depending on when you read, this, you could probably refer to them already.

Changes

Another thing that you probably should be warned about is having to change things. Like any project, a thesis is not straightforward. There will be many times when you need to redo a part of the project or rewrite a section. This may take a decent amount of time as well. You might also get a lot of feedback that you need to implement as you go along. Before I started my project, I made sure that I had systems in place that would let me quickly change things if required. This article would be too long if I also listed them, so future parts will follow up on these.

As you can tell by now, none of these steps are linear. There are many things that you need to go back and forth between. But now that you know what to expect, it will be quite a lot easier for you to plan the same.

Checkpoints

I think it’s important to have checkpoints along the way to help guide you and make sure that you are on the right track. The process of finding these checkpoints was quite a bit of trial and error on my part, but perhaps they may come easier to you. These checkpoints are like deciding a day when you want to complete your literature survey or have a prototype ready etc. They might also be ones where you update your supervisor on your progress or take a little break. I admit these are a bit hard to plan for until you are sure of where your project is headed, but it is nice to keep it in mind.

Recovery time

There are a million articles on how to do your thesis. If you went looking for them, you probably found some more. But what I don’t see a lot of them talking about is recovery. Doing a thesis is hard. For many of us (including me), it is the first time we have had to do such a long project without any external motivation. It’s your project, after all. Unless you choose a company internship, in which case you will have stricter deadlines, of course. There are bound to be days, sometimes even weeks, where you have literally 0 motivation to even look at your thesis. And while that is pretty normal, I think many of us don’t factor that into our plans. Make sure you keep some extra time on hand for these days because you will really need them.

Supervisor

What can you expect from them

Updating

Extra tips