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:
- 1. Determine a Topic
Your thesis can be on any topic but must demonstrate computer science skills. Your thesis may be practical (involving the writing of software) or theoretical (involving the design and analysis of an algorithm). If you do not have a thesis topic in mind, you can browse through the Online Project Repository to get some ideas, or you can click here to find out what areas of projects/theses faculty members have been supervising. If you are still unsure as to what to do, think back to courses that you liked and try to come up with an idea. Perhaps there is a topic that has always intrigued you, but you did not have an opportunity to look into that area of computer science. An Honours Thesis can provide an opportunity for you to investigate that area more in-depth. Remember that this is a 4th-year thesis. Your thesis topic must have sufficient complexity in order to be an acceptable topic, but your supervisor can help you with that (see next step).
- 2. Find a Supervisor
You need to find a supervisor who is willing to supervise your thesis. If you cannot find a supervisor willing to supervise you, then you cannot take COMP 4906. Start looking the term prior to taking the thesis so that you have plenty of time to find a supervisor. Contacting them by email is best. Choose a faculty member who is working in an area of research that is closely related to your thesis topic. See the Finding a Supervisor page to read more about thesis areas that various faculty members are involved with). Choosing the right supervisor will ensure that you get proper guidance along the way and that your thesis is marked by someone who is well qualified to grade a thesis in that area. Once you have identified a potential supervisor, contact that faculty member (i.e., usually make an appointment via email) and then discuss the thesis with them and ask if they are willing to supervise you. You do not have to have all the details of the thesis worked out before you meet the faculty member. The faculty member may be able to help you fine-tune your idea into a well-defined thesis that has enough “meat” to it.
Your supervisor must be a member of the School of Computer Science. There have been rare occasions in which students have had a secondary supervisor (i.e., a co-supervisor) who was external to the school. It is ok to have an external co-supervisor. In this case, the external supervisor and the co-supervisor must both decide upon a grade for your final thesis.
- 3. Prepare a Pre-proposal
The pre-proposal is usually a two-page document that defines the scope and schedule of the thesis. It represents a commitment between you and your supervisor in regards to what is expected of you. The pre-proposal should be prepared BEFORE the term that you plan to register into COMP 4906. This will ensure that you have a thesis plan clearly in mind before the term begins.
You will need to put some careful thought into your pre-proposal, which may involve some exploratory research into the topic. It is good to prepare the pre-proposal within a day after you meet with your supervisor so that the details are fresh in your mind. The pre-proposal should give a clear and concise overview of the thesis, indicating the motivation, main objectives, equipment requirements and expected deliverables. You may include a diagram or two if it helps to explain. If you will begin the thesis work with existing software, code or framework that has already been developed, make sure to indicate exactly which portion of the overall framework you will actually work on (as opposed to what has already been completed). At the time of the pre-proposal, all thesis details are not always clear, and it is not easy to foresee all potential obstacles that you may encounter. It will be necessary, though, to be specific about which features you plan to implement and which ones “may” be added depending on how much time you have remaining. However, you must be careful in what you write because your grade will depend on the features that you actually “do” implement, not on the ones that you “wanted to” implement.
As part of the pre-proposal, you MUST prepare a bi-weekly schedule that indicates thesis milestones throughout the first term. The first term will be used to do research, which will involve the investigation of previous work in that area. You will need to allocate time for surveying previous work and for determining how best to approach the problem being solved. You may need to reserve time for experimenting with various algorithms, developing proofs, or perhaps implementation/experimentation/analysis of some existing algorithms in the area. Make sure to reserve a couple of weeks for writing up your full thesis proposal report, which is due at the end of the first term. Ultimately, you will need to determine a course of action as to what you will do during the 2nd term. This may not be clear at the time of writing the pre-proposal, but you will be writing this in your full proposal, in which you must provide a bi-weekly schedule explaining what you plan to accomplish during the 2nd term.
Prepare your project proposal with your supervisor. Keep in mind that your supervisor may require you to make a few changes to the proposal before it is finalized.
- 4. Register for COMP 4906
Submit your finalized thesis pre-proposal to your supervisor (by logging in and filling out the COMP4906_ProposalForm) before the registration deadline. You will need to include a PDF file of your finalized pre-proposal in order to complete the form. Once you submit the form, it will be sent to your supervisor for their approval and then they will forward the form and proposal to the Undergraduate Advisors so that a spot can be opened for you to register into COMP 4906. Once the spot opens up, you must then register yourself into COMP 4906.
- 5. Work on Your Full Thesis Proposal
Try to follow the schedule that you prepared in your pre-proposal. Make sure to give constant feedback to your supervisor throughout the term (usually via email) to inform them of your progress so far. If you have problems or obstacles along the way, make sure to get some advice from your supervisor. Make sure to keep all of your testing data and perhaps make written notes about various algorithms and coding decisions along the way, even if they were failed attempts or did not produce desirable results, as you will likely include this in your written proposal report later. Make sure to get feedback from your supervisor by sending them observations, ideas, algorithms, results, or conclusions throughout the term.
- 6. Submit Your Full Thesis Proposal
You should submit a draft of your full proposal report to the Online Repository at least a week before the final due date. Keep in contact with your supervisor and agree upon a date for sending them a draft version of your report because some supervisors may be away or very busy during the end of a term and may have a small window of time during which they are able to read your report and give you feedback. You MUST submit your thesis proposal before the deadline to the Online Repository, your supervisor will then grade your proposal. Depending on your grade from this full proposal (worth 40% of your final grade), you may decide to continue the thesis into the 2nd term or withdraw from the course altogether in order to avoid a poor grade at the end of the 2nd term. If you withdraw from this course, you may decide to register for COMP4905 in the winter term and perhaps salvage some of the work that you have already completed and use it towards an Honours Project. However, you may need to change supervisors.
- 7. Work on the Thesis
During the 2nd term, you should work on your thesis by following the plan set out in your full thesis proposal that was submitted to your supervisor. Make sure to maintain communication with your supervisor throughout this 2nd term.
- 8. Submit the Final Thesis
You should submit a draft of your final thesis report to the Online Repository to your supervisor at least a week before the final due date. Keep in contact with your supervisor and agree upon a date for sending them a draft version of your final report. You MUST submit your project before the deadline into the Online Repository. You will submit a pdf version of your report, as well as a zip file containing all of your code/testing data/video files etc. Your supervisor will then grade your report.
Share: Twitter, Facebook
Short URL:
https://carleton.ca/scs/?p=2613