The School of Computer Science offers several courses that mainly consist of research projects. While these courses are offered at several levels, including undergraduate, Honours, and (coursework) Masters courses, they are all similar. The aim of this page is to provide some advice to students who want to undertake such projects under my supervision. Some of the information may also be useful for postgraduate students.
Before you start a project, we need to agree on a topic and set the expectation. My interests are in system security and cryptographic engineering, with particular focus on the security implications of the interface between the hardware and the software. You can find some proposed topics in the School of Computer Science's projects page, but this list is not exhaustive and other project topics are available. I am also happy to consider topics outside my direct area.
Compared to the more common lecture-based courses, project-based courses tend to be much less structured. While there are some milestones built into the program, these are much less defined than those in lecture-based courses. Many students find the more flexible and less well defined character of these courses challenging. In particular, time management seems to be a common issue.
According to the University's Coursework Academic Programs Policy, the workload for each 3 units of course is 156 hours. Project courses are 6 or 9 units, hence the workload for them is 312 or 468 hours per semester, which translates to 26 or 39 hours per week. Of these, at most two hours per week are spent on meetings with supervisors and with the course coordinator. I expect you to spend the other 24 or 37 hours per week on the research project. Within these hours, in each week you should allocate some time for reading and for experimentation. Additionally, you should make some time to prepare the formal deliverables.
Reading: A review of related literature is an important part of the project. Reading the related literature is essential for preparing a literature review. At the start of the project, I will provide you references to one or two relevant papers. Your task is to find more related papers and read them. Two good sources for relevant papers are the references in papers you are already familiar with, and Google Scholar's list of citations of these papers. As a ballpark figure, I expect you to read a minimum of two papers in each of the first six weeks of the project, and one paper in each of the remaining weeks.
Experimenting: Experience shows that a significant number of students tend to delay the technical work on the project. This could be because those students find the project complex and hope that reading and learning more will make the task less daunting. Another possible reason is that the early formal deliverables for the course do not seem to require any technical work. Irrespective of the reason, this approach is wrong. To ensure sufficient progress, you should allocate at least half of the project time to technical work.
Formal deliverables: During the semester you are required to submit some documents and make some presentations. I am, usually, vaguely aware of what needs be done, but I do not keep track of those. It is your job to remember those and to make sure you submit them on time. I do require that you give me a complete draft for review at least one week before the submission deadline. I will then make some comments to allow you to improve the document before submitting to the course coordinator. All reports should be prepared with LaTeX and submitted as PDF files.
During the semester, we will meet on a weekly basis. In those meetings we will discuss your progress and address any issues you may encounter. To help me prepare for the meeting and to ensure that you keep track of your progress, you should submit a progress report by Friday each week. The report should contain a short summary of what you have done in the week, a list of aims for the following week, short summaries of the papers you have read, and any issues you may want to discuss in the meeting. Progress reports format is email messages. Do not send them as PDF attachments.
Multiple Supervisors: In the case that there is more than one supervisor, all communication should go to all supervisors. This includes all progress reports, questions, notices, etc. Learn where the Reply All button is! Also, when listing supervisors on any document, use alphabetical order (by surname).
Srinivasan Keshav, How to Read a Paper
Gernot Heiser, Tips and Guidance for Students Writing Papers and Reports
Julian Togelius, The differences between tinkering and research