"Always two there are; a Master and an Apprentice" -- Yoda
It's a lot what Luke went through on Dagobah ... except he didnt have to turn in a properly formatted thesis document.
You did see Star Wars didn't you!!!
This is what should resonate in your mind when you think of the relationship between you and your advisor. Your
success is as important to you as it is to him/her if he/she is a good advisor.
0. Whats the difference between a 'thesis' and a 'project'?
There are two different ways to get an EECS master's degree here: by doing a thesis and a project. With a thesis
it is your ideas that are central to the degree, while in a project it is what you create (software or hardware)
that is central. In both cases you must make a contribution to the existing body of knowledge / experience. For
the project you take more courses, in the thesis you do more research and have a more formal presentation at the
end. Basically a thesis subsumes a project. A thesis uses a project as a proof of concept, but also describes what
is conceptually novel and how this work fits into the context of existing work in the field.
If you ever intend to do a PhD you must do a thesis.
The official EECS requirements are posted here:
http://www.eecs.uic.edu/graduate/msrequire.htm
Why do a thesis? A master's degree makes more of a contribution to the field than a project. If you want to
do more than spend your life writing code for other people, a thesis can be a good way to demonstrate that you
are capable of collecting and organizing the material to survey an area, define a novel contribution, and then
make that contribution.
1. Decide if you want to do a thesis to get through your Masters as quickly as possible or to do a thesis in
an area that you are truly passionate about.
If you are choosing something that you just want to get through as quickly as possible, ask your advisor for a
well defined thesis with specific requirements.
If you are choosing something that you are truly passionate about then fantastic! This is as it should be. If you
are stopping with a MS degree this will be your last chance to do anything that you truly enjoy. After that when
you get out in the "real" world you will be assigned projects and deadlines that you may not care about.
So value this time because it will be the most enjoyable time of your life where you can really make the most impact
in the world.
2. Area review: begin by looking through conference proceedings, journals, online, books, etc. Xerox relevant
papers AND any papers that interest you. Sometimes what you are looking for may lead you to find something that
you had not intended but may be more interesting. Papers are fuel for your ideas. This is your chance to discover
what the rest of the world is doing. This is an important step because it gives you a broad view of your discipline.
Read all the papers you've found (or as many as you can) and after reading each one enter it into an ANNOTATED
BIBLIOGRAPHY.
This is a bibliography that contains a full reference of the paper and a 2 paragraph summary of the paper. Pay
special attention to write personal notes like "this is a good paper", "I liked it because..."
This will also be valuable because it will form your bibliography when you get to writing the thesis.
Furthermore this summary is important because it will make up the "Background Research" part of your
thesis as well as any papers you'd like to publish.
Talk to your advisor about what you are reading. He/She should be able to point you towards other resources. Use
the WWW. If you find an interesting paper then look at the author's web site and see what links are there. What
new projects is he/she working on? What new papers may have been published?
EVL has accounts on the ACM and IEEE digital libraries.
www.acm.org and www.computer.org. Use "maxine" as the login and "evl123"
as the password.
After your first term here you should have a rough idea what you are interested in. During the second term you
should do the area review, so that at the end of your first year here you are ready for #3 and #4 below.
3. Choosing the Thesis Area: Choose one that hopefully interests you and ideally one that you are also funded
to do. This will let you devote more time to your thesis.
Once you've chosen an area you need to think carefully about what its contribution is. In general a thesis is a
new contribution to the field you are studying. You cannot simply duplicate work that has already been done. You
need to make an improvement. Sometimes it is useful to draw a table with authors on one axis and what they do in
the other axis. This will allow you to see what areas are still new and have not been addressed yet.
Another way to find new thesis areas is to look at the Future Work sections of papers. Many times the future work
sections include work that the author will never get to because there are simply too many things to work on.
4. Discuss your thesis idea with your advisor: This will allow you to stake a claim on an area so that some
other student can't pick your area. Also tell your friends what you're thinking as a thesis area. Get so they don't
spend time choosing the exact same area. At the same time while they were doing their literature search they may
have read a paper or seen something in a related area that might be useful to you.
Any EECS faculty member can be your advisor but here at EVL the more likely faculty members are: Andy, Tom DeFanti,
Tom Moher, and Bob Kenyon.
Your advisor will also suggest possible members of your thesis committee
who can also give you suggestions. For MS you need a total of 3 people in your committee.
For PhD you need a total of 5. You can also have non-EECS faculty members on these
committees so Jason and Dan are good additions. If there is someone from another
department, or from Argonne, or NCSA that you would like to have on your committe
then talk to your advisor about it.
There is no official policy for choosing an advisor. When you register for credit
for EECS 598, you should take those credits with your chosen advisor. Every term
that you take thesis credit you will need to hand in a 1-page description of the work
you have been doing during that term. You can register for at least 8 and up to 12
credits of EECS 598, and you will probably do this during the last year of your degree.
The exact EECS requirements for a thesis-based masters degree can be found here:
http://www.eecs.uic.edu/graduate/msthesis.htm
Try to be as specific as possible about what you want to achieve in your thesis. This is for your benefit as well
as your advisor because coming up with a 'contract' of what is expected of you will avoid any nasty surprises in
the future.
5. Try and articulate the following for your thesis committee:
6. Perform a Feasibility Study: Try and implement a few ideas on the computer to "concretize"
your thesis ideas. Once you are confident that you can implement your thesis, confirm this with your committee
members. Ie make sure they agree that this is a good and viable thesis to pursue. Of course you should already
have been talking to your committee members during this feasibility study process.
7. Implement the thesis: If it is a program or algorithm use the techniques you learned in software engineering
to design, build and document your system. Remember the purpose of a thesis is a product that generations after
you can use and improve on. In fact you may consider at this point to write a paper for a conference. The process
of writing a technical paper always forces you to think rationally about your thesis; to find its good points and
its weaknesses. Feedback from conference reviewers can sometimes be useful too.
8. Demostrating that your system works and is GOOD: The way to do this depends on your thesis. Here are
some suggestions:
Writing your thesis. Start writing 6 months before you plan to graduate. You should already have much of information
you need from the information you have been previously gathering.
9. Writing your thesis. Here is an example of a thesis outline:
Introduction:
a summary of the problem you are trying to solve and your approach.
Problem Statement:
describe in detail the problem you are trying to solve.
Background Research:
describe the field in general and how others have tried to solve this problem.
The Approach:
describe your approach to solving the problem. Describe any potential weaknesses of your approach.
The Implementation:
describe how you implemented your approach. If it is a software system give diagrams, relevant algorithms etc.
Evaluation:
describe how you evaluated to show that your approach was successful. You may need a methods section, a results section and a conclusion section.
Conclusion:
summarize your thesis again as in the introduction. Describe how your evaluation revealed that your system is successful. Describe future work in this area.
EVL maintains a collection of past Master's Thesis in Maxine's office. Take a
look at several of them. They cover a wide range of projects and will give you the
best idea of what is expected in the writeup.
10. Schedule a time to do your defence. Do this at least 2 months in advance. Your thesis committee members
travel a lot and it is often very difficult to schedule a time that they can all meet. 1 month before your defence
give all of your committee members a copy of your thesis to read.
This written draft allows your committee to bring up any major criticisms / additions
that they feel are necessary now, before you get to the defense. You do not want to have
to deal with them during step #11 below.
Make sure you have a handle on all of the departmental paperwork you need to fill out.
11. Defending your thesis: Use the guide on how to give good EVL presentations to prepare for your defence
(www.evl.uic.edu/cavern/seminars/evlpresent.ppt - this is a Powerpoint file). Your defence will usually last at
most an hour in which you must do a talk and a demonstration. Rehearse this well because failing this presentation
will usually mean failing your thesis.
Talk to your advisor about the presentation. Show him/her your slides. He/She has done many presentations and can
point out any obvious problems.
If you haven't done many presentations, you should probably gather a group of your
friends together a couple days before your actual presentaion and go through your entire presentation and demonstration
with them in the actual room with the actual slides and
the actual time constraints. Tell your friends to be brutal in their criticism. Its better to find all of the problems
now with your friends.
While you are working on steps #1-10 above, go to ALL of the Masters or PhD defenses associated with the lab. See
how other people present their work. Listen to the questions that are asked. Watch for what works and what doesn't
work.
Your defense is a public event open to anyone who wants to come. These are usually held in the I-Wall room and
will be attended by your committee and many students from the lab. Once you have presented there is a time for
public questions by the audienced or your committee. After that, you and the audience will be excused and your
committee will discuss your work in private for about 15 minutes. At that point they will decide if you have satisfactorally
completed your degree and will tell you so. You may need to make some modifications to the thesis or do some additional
work before the committee will sign off.
12. There is no #12. Please do not ask us to sign your forms before you have completed
all of the requirements. We will not sign off on incomplete work.
That's pretty much it! This is a journey you will not forget and by the end of it you WILL have matured greatly.
The way you think and solve problems in the future will change because of this.
"May The Force Be With You"