After defending my thesis in December, I completed the rest of my graduation papars and will receive my Masters Degree in Computer Science. I don't have to expound any further to express how excited I am to be finished with the whole process.
Most Masters programs take around 30 credit hours of graduate course work and thesis research to complete. If you are a full time student, you can typically complete this coursework at the rate of about 6-9 credit hours per semester and you can expect to be finished with your degree in approximately two years.
I was lucky enough to have access to a program that allows graduate students to take their classes in the evenings and from various locations around the state. In this way, I was able to complete my degree while working full time and not living around the school. I took a couple semesters off while we moved. In addition, I had a couple of semesters where I was feeling overloaded and only took one class. In the end, it took me about 4 years to complete my degree. The amount of work required, however, should be pretty close for many programs and the time it takes should be dependent on how fast you can do the work.
So just how much work is it to complete a thesis anyway? Most thesis work is 6 credit hours, which can be completed over two semesters. It took a little longer than that for me so I've included below what I learned. Perhaps you can learn from my experience to complete your thesis faster.
Choose a topic
My Experience: For me, this was one of the most difficult parts of the whole process. It literally took me an entire semester, working with my professor, to narrow exactly what problem I was going to solve. I met with the professor and we discussed various technologies I was interested in and possible problems that I could work on. After that, I had to read a lot of papers and check what existing works were available and how I could make some contribution. In the end, I still had to work a lot on the problem statement to be able to actually complete the writing portion of my thesis.
I recommend: I wish I had understood exactly what the problem statement was supposed to be. My professor helped me most when he outlined a few questions that the introduction of my thesis was supposed to answer. I've included them here for your consideration. The answers to these questions eventually became the introduction of my final paper.
- What is the setting of the problem? This is, in other words, the background. In some cases, this may be implicit, and in some cases, merged with the motivation below.
- What exactly is the problem you are trying to solve? This is the problem statement.
- Why is the problem important to solve? This is the motivation. In some cases, it may be implicit in the background, or the problem statement itself.
- Is the problem still unsolved? The constitutes the statement of past/related work crisply.
- Why is the problem difficult to solve? This is the statement of challenges. In some cases, it may be implicit in the problem statement. In others, you may have to say explicitly as to why the problem is worthy of a BTech/MTech/PhD, or a semester project, as the case may be.
- How have you solved the problem? Here you state the essence of your approach. This is of course expanded upon later, but it must be stated explicitly here.
You don't have to be able to answer completely how you have solved the problem before you start your thesis, but you better know that you are able to solve the problem so you'll be able to finish your thesis. It would have helped me to answer these questions more thoroughly before I spend as much time doing research. It would help to consider topics and think about possible thesis work a little earlier in your graduate work.
Complete your research
My Experience: I'm pretty good at writing code when I have a problem to solve. I set out to write code that would accomplish what I had in mind. In the end, I had a working FireFox plugin that shared URLs between clients and suggested patterns that users might be interested in. It took a couple months to hack out the program, a couple more months to make it more solid and workable, and a few months to collect enough data to write about.
I recommend: During the research process, it's not a bad idea to spend a little more time writing than I did. When you figure something out and get it working, take a moment to write a paragraph (or two or three) about it. You don't need to worry about where it will fit in your thesis later. Just make it good enough that you can include it if you want. I spent a lot of time going back and figuring out how I had run certain tests and what I was thinking about in the past because I left a lot of the writing for a later date.
My Experience: I used Latex to format my thesis. I posted a few latex tips after I finished to help out with that aspect. Latex has some really nice advantages over traditional word processors.
- It formats everything independently of your writing. You don't have to worry about paragraph fonts, sizes or indents while you are trying to explain a concept.
- It takes care of all of you references ordering, figure labels and numbers, section numbers, page numbering and any other labels you need to keep track of. I don't think I have to explain how much of a pain it would be to add a new reference at the start of your references and have to go through the paper and renumber every reference you'd already added.
- It is free and available for pretty much any platform.
I recommend: Latex is pretty easy if you are computer savvy, but can be intimidating to those used to Word or OpenOffice. If your school publishes a Latex Style guide, it is highly worth the effort to learn how to format your thesis with Latex. In that case, the work is mostly done for you already. If not, you may want to evaluate Latex, but it definitely be a lot of work to make one of the existing styles fit your schools requirements. USU had an extremely strict format I had to adhere to and I had to do quite a bit of tweaking on a customized style in order to finally have it formatted correctly. If Latex isn't right for you, I recommend learning your word processors advanced features for reference databases. Also, try seeing if you can use a multiple document format with a master document to control your sections and then sub documents to control their content. It'll be a lot easier in the long run to move things around and reorder content if necessary.
Defend your thesis
My Experience: Once you get your thesis approved for defense, you'll have to make a presentation in front of a committee. I imagine that different schools have different requirements for this. I was instructed to present for about 25 minutes and then answer questions for the remainder of the time. My defense was surprisingly easy. The professors only asked me a couple questions after my presentation.
I recommend: Give yourself plenty of time to prepare before hand. Make a nice presentation with PowerPoint or OpenOffice that outlines and details the process you went through. Try to answer a lot of questions with this presentation. Go through it enough times that you don't have to read any of the content on the slides.
On the day of your defense, dress nicely. Arrive early enough to make sure your presentation works. If you've prepared well, you ought to be able to do just fine. Be confident and smile. If you don't know the answer to a question, don't be afraid to admit that you haven't considered something. Don't try to BS your way through an answer.
In retrospect, it was a lot of work to get my thesis done but it wasn't a lot of work that was too hard to complete. I kept telling myself that I'd just complete a little bit, or take a small step when I had some time to work on it. It definitely did take some determination though. Eventually, all those small steps paid off and I finished.