Honours Project FAQ

Table of Contents

1. UVic Computer Science Honours Project

The Honours Project is a directed studies course where a CSC Faculty Member guides and evaluates the student. For this reason, each Honours Project is different.

Below, I will refer to the faculty member as the supervisor of the project.

The main goal of this course is to design and complete a project. The project is usually defined in consultation with the supervisor. Both the student and supervisor determine the expected deliverable and grading scheme. Usually both will meet regularly during the term. These meetings have two goals: a) to make sure the student is progressing, b) to discuss the current state of the project and seek guidance.

2. How do I find a project?

The topic of an Honours project is usually of interest to both the student and the supervisor. The supervisor and the student will discuss potential ideas and agree on a project.

Note that to get to this point you need to first find a potential supervisor. There is no specific rule on how to do this.

My suggestion is:

  1. Start by looking at the interests of our faculty members. A good place to start is their Web pages. Also, see what publications they have produced recently (use Google Scholar).
  2. I have included a list at the end of this document with the names of some potential supervisors their ideas for honours projects.
  3. Identify your own interests.

At this point you will be have a list of potential supervisors. It is now time to contact them.

Finding a supervisor is a little bit like an interview. Remember, the project should be of interested to the supervisor.

Once you have identify a potential supervisor, contact them.

  1. Introduce yourself.
  2. Explain how your interests and the supervisor's interests intersect. You want to show that you have done your homework and that you know a little about her/his work.
  3. Ask if they are interested in supervising your honours project and ask for an opportunity to discuss it. In this meeting both of you can explain your goals and interests.

In a way, finding a project supervisor has similarities with finding a co-op job. You might want to have several "interviews" and have one or more "offers".

3. Registering for the Honours Project

Once you have a supervisor, and a potential project, you fill the registration form. This form should include a description of the project and the evaluation method (do this in consultation with your supervisor).


Contact our Undergraduate Advising Officer about questions regarding the registration.

4. Some faculty members who have expressed interest in doing honours projects.

I have been collecting a list of faculty members who are interested in supervising honours students:

4.1. Sowmya Somanath

Research has highlighted the need for customization of health related technologies. However, few projects have examined its impact on wearable healthcare devices. In this research project, the student will explore the design of a toolkit to support customization of one such wearable health technology, glucose monitors. The toolkit will consist of both software and hardware elements – the software interface will help end-users to customize their existing glucose meters or create new designs based on personal preferences while also meeting functional requirements; the hardware aspects will include showing a few examples of how the end-user can use the created design to build a final glucose meter protoype. The development of such customization tools can help millions of Canadians who use assistive technologies such as glucose meters in their daily life.

This project will build on our past work on supporting people in making things using technology and more specific early efforts from my group related to DIY glucose monitors. See relevant projects from our group - DiaFit, MakeAware and Documented at http://celab.cs.uvic.ca/publications.html


This project would be ideal for students who are interested in HCI and specific application areas such as Health. An ideal honours student for this project:

  • Must have taken SENG 310 and it would be a big plus if you took advanced HCI courses (e.g., CSC 485E)
  • Must be a strong programmer
  • Has some basic experience with or is willing to learn to use electronics such as Arduino and fabrication techniques such as 3D printing
  • Has some experience with qualitative research methods such as conducting interviews
  • Can write good academic reports (e.g., wrote project reports that were graded highly)

4.2. Ibrahim Numanagic

  • High-performance reimplementation of Python standard library
  • Porting numpy / scipy to Seq language
  • Writing new parser for Seq language

There might be more: we are growing a new language, and can use any help there.


strong Python knowledge, ideally took compiler course (and even better, aced it).

4.3. Neil Ernst

My projects currently are in the area of natural language processing for understanding software design tasks. We are also experimenting with design assistance using bots to narrow design queries.

4.4. Hosna Jabbari

I am interested in supervising one or more honours student on bioinformatics related projects. The students would not need to have biology background but they need to be interested in solving biology related problems.


Good algorithmic background and strong programming skills are the only requirements. For more information about my group and projects they can see my lab website: tiny.cc/COBRA

4.5. Miguel Nacenta

Interested in supervising projects on Human-Computer Interaction, Visualization, Computer Vision for Human-Computer Interaction, and Graphics for Human-Computer Interaction and Visualization.

4.6. Kui Wu

Title: Efficient Communication for Internet of Things with Protocol Buffers


Investigate the benefit of using Google Protocol Buffers for data communication in IoT applications. The benefit that we want to study is mainly on bandwidth saving, i.e., the reduced traffic amount with Protocol Buffers compared to other existing data format such as xml, JSON. In addition, investigate how compression can further save communicated data amount in Protocol Buffers.

4.7. Daniel German

Studies on mining software development software repositories towards a goal of finding new sources of data or innovative ways to present this information. For example, how to extract and visualize information from git, github, stackoverflow, etc.


Ability to write programs to process large amounts of data. Good database management skills.

5. If you have any questions

Please email me at Daniel German at dmg (uvic)

Author: dmg

Created: 2021-11-24 水 16:14