This is a description of the process for completing a thesis under my supervision.
The first question you may want to ask is, should I do a Thesis? And what are the advantages of doing a thesis? You might even know what are the disadvantages. Here are some resonson.
The Thesis I course is where you determine what you thesis will be about and propose the scope of your thesis.
The very first draft, in overleaf, within the first quarter of the semester should have:
Should determine between halfway through semester and before final draft submitted. Need to have at least two CS graduate faculty. Third member can be anyone with graduate faculty status (on campus or off). The committee should be determined before you oral propsal so that they can hear your presentation. Once the committee is determined you can fill out Form A. Form A must be filled out before you can register for Thesis II.
The final draft, in overleaf, within two weeks of the end of the semester should have:
(10 Minutes) Will be announced by MS program coordinator. Usually on or near Reading Day. About 1 minute per slide, so around 10 slides plus title slide. An outline similar to:
The Thesis II course is where you complete your thesis work.
Typically when one talks about a thesis, they are talking about the thesis writeup. This is where you take your thesis research and put it down in written form. This is a written description of your work. The purpose of the writeup is to inform others of your work so that they can duplicate it and or learn from it. In the terms of the Thesis II class, the writeup shows the committee that your work is strong enough to award you a masters degree. The committee will use this to determine if the work is in fact publishable.
There are many ways to present the research work that you have done. You are telling a story of your work. You need a beginning, a middle and an ending. The story should make sense and flow well, and should be complete. You need to motivate why you did the work as well as explain how you did the work, and why the work is good.
When writing your thesis, you should understand how someone will read your thesis. The will probably look at your abstract, your opening, the problem statement, and your contributions, then possibly the conclusions, the results, the section titles, and then finally read portions of it. At any point they may decide they don't want to spend any more time on this work. So the things at the beginning of this list, need to get a lot of attention when you write, if you want anyone to read your work.
I typically recommend you tell the story similar to the following:
This is one of the most important parts of your thesis. This is the hook that will draw in readers. If you don't spend much time on this, few people will read your work.
The introduction motivates why you are doing the work. You will describe the problem you are working on, possibly the motivation for it, why it is an important problem to work on, the objectives of the work etc. The thesis of the work. That is what you will describe, demonstrate, or prove in your work. You also need to descirbe the novel contributions you make. These can be a proof, a system, an algorithm, an implementation, etc. You will often also describe what it to come in the following chapters. It is possible that you would tease out some results here (i.e. show and image with cool results).
Background contains anything needed to understand the problem or your solutions (may not need) which will include any major theory. Anything a typical CS graduate student would not be expected to be familiar with, needs to be explained.
Prior Work describes the important work by other solving the same problem or using the same technique on a different problem. Here you should describe the top 3-5 competitors to your solution and draw distinctions between the solutions. If you used method X on a new domain and no one has solved this problem before, then you would describe other uses of method X. But method X would be described as part of the background. Another possibility is that you have strung together the work of many prior works, each relating to a piece of your solution or to the theory and you would describe several. This is effectively your literature survey and you will show the audience that you are familiar with the current literature.
It could be you do this in two chapters. It might make sense to do the background theory later in the chapter where you describe your solution. Think about the story you are telling and what will make it the easiest for someone to follow what you have done.
Here you describe your solution or system or algorithm or methodology or whatever makes sense. Start with an overview that describes the parts/modules/subparts then describes each in detail possibly in their own section. Again, what makes sense for your story. The audience should have a good understanding just how you solved the problem. You would describe any math in detail, and any algorithms in detail. It is often useful in your diagram to show how data flows through the system and how it is changed/processed as this makes it easier to get a high-level view of the system. You would present algorithms in psuedocode. If you needed to put code, you might put it in an appendix. Places where you have choices (parameter values, algorhtms/methods to emply, filters, etc.) you would defend why you made those choices and describe how they affect the system. Don't keep things secret.
Here you describe the results and analyze them. Often you will have conducted some experiments to show the effectiveness of your solution, so describe them. This is not the same as debugging the code, but you are verifying that your method/algorithm/solution actually solves your problem/meets your requirements. You will also describe the metrics that you are using, this can be done here or while you present results. Typically metrics will be quantitative as that makes it much more easy to compare with other results.
Present the results of your analysis of the data from your experiments. Typically, you would be comparing your system to prior solutions to show why yours is better. Something could be better because it takes less resources or it is more accurate. It could be simpler, more stable, etc. How your solution compares will be mention in your contributions.
It is possible that results and analsysis and experiments are in separate chapters. Again, whatever tells the best story.
Typically you would give any conclusions from your results, i.e. "we have created a system that produces wonderful results that are 10% more efficient than the best system out there ...". Typically the conclusion will mirror your contributiosn but will be worded differently. You also would summarize the results or contributions or the work in general here. You will also iterate future work (potential improvements to your work). These are some good next steps that could be taken by your or someone to follow. Things that you wish you had time to complete. Things that may go in a journal version that makes the work more complete. These may be somewhat simple, or equivalent of another thesis or more.
It may be that you have these in separate chapters. Again, whatever makes sense. The conclusions shouldn't be very short, and the future work shouldn't be too short. Give some thought to things.
Here's a similiar guide from Ryerson you can look at.
Here is yet another way to look at a thesis in Computer Science.
This chapter contains a discussion of the general area of research which you plan to explore in the thesis. It should contain a summary of the work you propose to carry out and the motivations you can cite for performing this work. Describe the general problem that you are working towards solving and the specific problem that you attempt to solve in the thesis. For example, the general problem may be finding an algorithm to help an artificial agent discover a path in a novel environment, and the specific problem may be evaluating the relative effectiveness and efficiency of five particular named approaches to finding the shortest path in a graph where each node is connected to at most four neighbours, with no knowledge of the graph except that obtained by exploration. This chapter should also explain the motivations for solving each of the general problem and your specific problem. The chapter should end with a guide to the reader on the composition and contents of the rest of the thesis, chapter by chapter. If there are various paths through the thesis, these should also be explained in Chapter 1.
This chapter contains a specialized overview of that part of a particular field in which you are doing M.Sc. thesis research, for example, paramodulation techniques for automated theorem proving or bubble figure modelling strategies for animation systems. The survey should not be an exhaustive survey but rather should impose some structure on your field of research endevour and carve out your niche within the structure you impose. You should make generous use of illustrative examples and citations to current research.
This chapter outlines your proposed solution to the specific problem described in Chapter 1. The solution may be an extension to, an improvement of, or even a disproof of someone else's theory / solution / method / ...).
This chapter describes your implementation or formalism. Depending on its length, it may be combined with Chapter 3. Not every thesis requires an implementation. Prototypical implementations are common and quite often acceptable although the guiding criterion is that the research problem must be clearer when you've completed your task than it was when you started!
This chapter should present the results of your thesis. You should choose criteria by which to judge your results, for example, the adequacy, coverage, efficiency, productiveness, effectiveness, elegance, user friendliness, etc., and then clearly, honestly and fairly adjudicate your results according to fair measures and report those results. You should repeat, whenever possible, these tests against competing or previous approaches (if you are clever you will win hands down in such comparisons or such comparisons will be obviated by system differences). The competing or previous approaches you compare against must have been introduced in Chapter 2 (in fact that may be the only reason they actively appear in Chapter 2) and you should include pointers back to Chapter 2. Be honest in your evaluations. If you give other approaches the benefit of the doubt every time, and develop a superior technique, your results will be all the more impressive.
This chapter should summarize the achievements of your thesis and discuss their impact on the research questions you raised in Chapter 1. Use the distinctive phrasing "An original contribution of this thesis is" to identify your original contributions to research. If you solved the specific problem described in Chapter 1, you should explicitly say so here. If you did not, you should also make this clear. You should indicate open issues and directions for further or future work in this area with your estimates of relevance to the field, importance and amount of work required.
Complete references for all cited works. This should not be a bibliography of everything you have read in your area.
Appendices include technical material (program listings, output, graphical plots of data, detailed tables of experimental results, detailed proofs, etc.) which would disrupt the flow of the thesis but should be made available to help explain or provide details to the curious reader.
Your oral defense needs to be scheduled for 90 minutes. It will consist of a 45 minute presentation followed by about 15 minutes of questions all open to the public. The 45 minutes includes any demos. After that, there will be a closed meeting that may include more questioning of the student. The purpose of the oral presentation is for you to 1) convince the committee that you did the work and you understand it, 2) justify choices made 3) tell the story of your contribution to the audience.
There is no one way to present your work, but the following is a good overall description of an oral presentation.
Your full name, your committee, and the date
Discuss your problem desciption, motivation, objectives, etc., whatever makes sense for your thesis.
It is possible that you would tease out some results here (i.e. show and image or animation).Background contains anything needed to understand the problem or your solutions (may not need) which will include any major theory. Anything a typical CS graduate student would not be expected to be familiar with, needs to be explained.
Prior Work describes the important work by other solving the same problem or using the same technique on a different problem. Here you should describe the top 3-5 competitors to your solution and draw distinctions between the solutions. If you used method X on a new domain and no one has solved this problem before, then you would describe other uses of method X. But method X would be described as part of the background. Another possibility is that you have strung together the work of many prior works, each relating to a piece of your solution or to the theory and you would describe several. This is effectively your literature survey and you will show the audience that you are familiar with the current literature.
Here you describe your solution. Start with an overview that describes the parts/modules/subparts then describes more detail. The audience should have a good understanding just how you solved the problem. You would describe any math in detail, and any algorithms in detail. It is often useful in your diagram to show how data flows through the system and how it is changed/processed as this makes it easier to get a high-level view of the system. Then describe each major part in detail based on how complex/important that piece is. Places where you have choices (parameter values, algorhtms/methods to emply, filters, etc.) you would defend why you made those choices. If you ran any experiments to choose paramters you would describe. An effective method is to start with some input data, say an image, and show how that image is changed/processed in each section as you describe it.
Here you describe the results and analyze them. Often you will have conducted some experiments to show the effectiveness of your solution, so describe them. This is not the same as debugging the code, but you are verifying that your method/algorithm/solution actually solves your problem/meets your requirements. You will also describe the metrics that you are using, this can be done here or while you present results. Typically metrics will be quantitative as that makes it much more easy to compare with other results.
Present the results of your analysis of the data from your experiments. Typically, you would be comparing your system to prior solutions to show why yours is better. Something could be better because it takes less resources or it is more accurate. It could be simpler, more stable, etc. How your solution compares will be mention in your contributions.
Could show a demo here.Typically you would give any conclusions from your results, i.e. "we have created a system that produces wonderful results that are 10% more efficient than the best system out there ...". Typically the conclusion will mirror your contributiosn but will be worded differently. You will also iterate future work (potential improvements to your work). This is also a good place to mention any publications resulting from this work, or potential venues to show your work is publishable.
Completing a thesis is done over the course of two semesters taking COSC 5389 in the first and COSC 5399 in the second. If you fail to complete the work required on one of those course, you will have to repeat that course.
Submit a journal version of your work by the last day of classes, the article should be completed in overleaf.com. You will take your Thesis and mostly just reformat by changing the style file and adjusting formatting. May need to shorten some sections.