Hints on writing an M.Eng. thesis

by Jeremy Nimmer (jwnimmer@alum.mit.edu)

May, 2002


[Jeremy Nimmer's M.Eng. thesis “Automatic Generation and Checking of Program Specifications” won the Charles and Jennifer Johnson Thesis Award in 2002.]

(Also see tips on writing a technical paper, by Michael Ernst.)

Submit conference or workshop papers

Trying to start writing your thesis in March is too late. You should try to have something approximating a 10-page conference paper as early as you can. If you started during the spring or summer prior to your graduate year, September (ICSE) is a good goal; others may look towards January (ISSTA), or at worst, early March (FSE).

By having that much text (10 pages two-column is a lot), you have a great start on your writing. More importantly, you have been forced to organize your ideas, focus the problems you are trying to solve, discover what type of evaluation or experiments you want or need, and think about what is missing from your approach.

Get done early

Mike Harder and I both recommend that you try for the thesis award, which means you have to be done about two weeks earlier than everyone else. This is a great way to motivate yourself, and really helps you focus your time. The last 5% is always the hardest, so leaving those "extra" two weeks to finish up is quite helpful.


Masterworks is a good way to focus your ideas and a good opportunity to speak.

The prizes are in part popularity contests. To win a prize, make sure you get faculty members in the room. The organizers don't force professors (except the one "MC") to attend. Faculty members fill out evaluations of your talk, so if they aren't there, nobody can nominate or vote for you!


Of course, run a spell-checker such as ispell on your thesis before submitting (to your advisor or anyone else)! Turning in text with non-existent words is poor form.

Use a grammar checker on your final version. I caught four typos in my "final" version this way! My approach for this was to

  1. turn on draft mode in latex to disable figures (add [draft] before \documentclass{mitthesis});
  2. use ps2ascii to create a text-only version of the thesis; and
  3. import the text version of the thesis into MS Word.


You can get "free" acid free paper from the CSAIL supply room (it gets charged to your research group).

To apply for a thesis prize, you don't need the grade sheet and final acid-free copies. You just need one copy for the reviewer to read.

[Additional notes below here are by Michael Ernst.]

Read other theses

It's not a bad idea to read other theses in order to appreciate what goes into one. It's even more important to read technical papers (they're shorter, there are more good examples, and doing so gives you perspective on the field). When reading others' writing, it's crucial that you read good examples — for example, award-winning theses or papers accepted to a quality conference. Those are the examples that are worth emulating.

Back to Advice compiled by Michael Ernst.

Michael Ernst