An Honours Thesis (COMP 4906) is a full-credit, two-term thesis that demonstrates your ability to look into a major computer science problem and develop a solution to that problem.

During the first term, you will make an in-depth investigation into the problem, making a comparison of known solutions to the problem (or similar problems). You will analyze the problem to devise a novel solution and propose a plan to solve the problem in detail. A formal proposal report must be written and submitted by the end of this first term, which explains (1) the problem that is being solved, (2) what previous work has been done to solve the problem by others, (3) how you propose to solve the problem, or improve upon previous work, (4) what you expect as a result from your solution, and (5) what your plan of action is for the second term. This proposal will be graded and will carry a weight of 40% of the final grade in the course.

During the second term, you will follow the plan of action that you outlined in your proposal. If the problem being solved is practical, you will likely develop an implementation or prototype, properly test the solution (using modelling, simulation or experimentation) to show that it solved the problem, and then analyze and evaluate the performance of your solution. If the problem being solved is more theoretical, you will likely develop, analyze and produce proofs for one or more algorithms to show that it solves the problem theoretically and how it improves upon previous work done in that problem area. You will be required to write a final thesis report that describes the entire thesis. This final report will carry a weight of 40% of the final grade in the course.

At the end of the 2nd term, you will be required to present and defend your solution via an oral presentation, which will be worth 20% of your final grade.

Below are the steps towards completing an Honours Thesis: