From May to October I was busy working on my Bachelor Thesis.
I finally handed it in right on time on the 13th of October. But especially the last 4 weeks were the busiest and hardest of 3 years of studying.
As with everything you do, you have a lot of plans when you start; you make a time schedule, you promise to take notes, you promise to work on it every day.
I broke each and every promise I made before.
Now that I'm done I know that I could have done better and so in the following I will expand on all the things I encountered in these 5 months of work.
The first and most important advice I can give: Start writing from day 1. Whatever you write will probably not end up in the final thesis, your writing doesn't even need to be on topic, but getting 50 pages written is not an easy task if you don't train for it.
Writing technical texts is different from a novel or a short blog post. Work on that.
The next thing: buy a paper notebook dedicated for your notes on the thesis topic. I kept mine with me and actually used it. Keeping meeting minutes, tasks to do for the week, simulation results or general ideas (though most of the stuff was added in the last 4 weeks).
Once you know your topic, start the research. That includes finding documentation, papers and whatever seems necessary for your topic.
Make sure to note down your sources immediately. Read papers and summarize them for yourself and discuss them with your supervisor or other students.
Get familiar with [scholar.google.com][scholar] and other paper search sites. Keep bookmarks to sites you visited and might need.
Consider saving them offline just to be safe.
What helped me a lot in understanding the topic and getting ideas how to write about it was explaining it to other people, especially non-tech people.
People without any background in your topic will be absolutely clueless, they can point out missing pieces or inaccurities in your explanations
and they tend to ask the most basic question, which you would otherwise skip (because _you_ know the answer right away).
Of course this won't help when it comes to the details of your actual topic. For this, find students working on similar topics. Discuss your approach with them.
My supervisor forced us to have a meeting once a week. We were 4 thesis students with the same broader topic.
Even though these meetings tend to be quite long, we often could help each other in nailing down a good solution to an implementation problem.
At the beginning of my thesis I had to hold a talk at the chair introducing my topic and laying out a basic time schedule.
I planned 2 months for the implementation and another 6-8 weeks for the actual writing. In the end I had about 4 weeks for writing, while at the same time I was still chasing bugs in my implementation and kicking of the evaluation runs.
That resulted in really long working days.
My advice: keep track of your time. Note down how long you worked each day and what you did. 12 or more hours working a day don't help. You get much more done in 8 productive hours, with breaks and some free time in between.
I guess no matter what you do, the last weeks will still be busy. What got me most focussed on the task at hand is the Pomodoro technique. 25 minutes of concentrated work, no distractions, no drinking, no eating, no running around. 5 minutes break. Check Twitter, Facebook, Mails, whatever. Then repeat.
I use this technique for 3 years of studying now, and it also works for coding and writing.
I had to write my thesis in English, but I'm far from a perfect English speaker or writer.
I now know that I should practice much more often (and I try to do that by getting more blog posts out).
Together with the first books on the topic I got from the university library I also got a book on proper technical writing.
This small book had a lot of tips on how to phrase things, on typical mistakes, be it grammar or spelling.
And don't forget to use spell checking tools. They can catch simple typos, british/american differences and just wrong words.
If you write at a technical university it is not unlikely you will use LaTeX for your thesis.
Make sure to set up your build chain early. You don't want to deal with weird errors, broken packages and all sorts of layout fuckups 2 days before you need to submit your thesis.
One last important thing: Conferences are awesome. You meet nice people, you learn about a lot of interesting stuff and you most often get great motivation.
But 5 conferences in 2 months, when you should be writing your thesis, might not be the best idea.
I did this. I went to Berlin twice, I was in St. Augustin for a whole weekend and in Cologne for another. I got near to nothing done for the thesis (besides having a great summer :D).
So keep this in mind when planning ahead.
In the end I got my thesis finished and I am now a Bachelor of Science. The last 3 years were a great time and I plan to extend it with atleast another 2 years reaching for a Master's degree.