Below is a list of faculty members and the types of projects that they typically supervise. Please contact the professor who works in the area you are interested in to see if they are willing to supervise you. If you do not have any success in finding a supervisor, you will not be able to take COMP4905 nor COMP4906.

AbdelRahman Abdou

My research focuses on Internet systems. Projects may include understanding the security of networks and devices connected to the Internet, what attacks are they vulnerable to, and how to protect them. Project topics can also cover analyzing the extent of malicious Internet usage, and building Internet security systems. With the ongoing development of 5G networks, wireless security becomes an integral part of Internet security research, which I am also interested in.

Programming and analytical skills will most likely be required, in addition to genuine motivation to understand the complexities of the Internet.

Michel Barbeau

Projects in the area of wireless communications and networking which usually pertain to:

  • Wireless Protocols: Development of protocols for media access, routing and transport of data in a wireless network. Evaluation and testing on real wireless networks. Kernel or user-level implementation.
  • Software-Defined Radio (SDR): Creation of software defined receivers and transmitters using SDR tools. Development and evaluation of SDR components such as (de)modulator, framer and error corrector. Graphical user interfaces for SDRs. Interception and analysis of signals.
  • Underwater Sensor Networks: Modeling and analysis of acoustic wave propagation in the underwater environment. Study of underwater communications in Arctic-like conditions. Software-defined hydro acoustic communications. Development, implementation and evaluation of communication protocols for underwater communications and networking. Design of algorithms for surveillance underwater acoustic networks.
  • Quantum Communication and Networking: Design and implementation of secure wireless communication using quantum effects and weak laser pulses. Software defined quantum communications. Design and evaluation of protocols for multi-hop transfer of quantum information.
  • Ad hoc Networks: Design of protocols for wide area ad hoc networks. Protocol elements for neighbor discovery and link-state routing. Evaluation and testing on real ad hoc wireless networks.
  • Network Management: Design and implementation of protocols and strategies for network management, including classical in-band and out-of-band network management protocols and bio-inspired approaches. Design and implementation of management information bases. Software-defined networks.
  • Voice over IP in Wireless Networks. Call processing. Features such as call recording. Voice over IP over ad hoc networks.
  • Wireless Communication Security: Authentication, confidentiality and intrusion detection in wireless networks. Attacks modeling, implementation and mitigation.
David Barrera

Projects involving security and privacy aspects of Internet of Things (IoT) devices. Project topics can include:

  • Network traffic analysis of one or more IoT devices to identify bugs/vulnerabilities/privacy leaks.
  • Design of IoT security management tools for home hubs (e.g., Home Assistant, OpenHAB, Domoticz, HomeKit, etc.)
  • IoT operating system modification to reduce attack surface.
  • IoT authentication (both user to device and device to cloud).
  • Transparency and control of IoT networks – Design of tools for non-expert users to assist in management of their smart home.

Typical projects require development of a software-based tool followed by an experimental evaluation.

Olga Baysal

Projects related to the area of software engineering and software analytics typically related to the following areas:

  • SE empirical studies
  • Mining software repositories
  • Data science
  • Software maintenance and evolution
  • Human aspects of software engineering

Possible projects might focus on developing methods and techniques to improve software development processes (e.g., code review, bug triage, etc.), developing recommender systems (e.g., summarization of informal online documentation such as StackOverflow, API-related analytics for developers), building prediction models (e.g., developer expertise, bug resolution time, etc.), developing applications to help developers with their daily tasks (e.g., analytics for developers: dashboards, personalized tools, awareness systems, etc.).

Robert Biddle

Projects in the areas of:

  • Human factors in computer security
  • Visual analytics for better understanding of complex information

These projects might involve software development, or empirical analysis, or both. Knowledge of frameworks for information visualization or statistical methods will be useful.

Prosenjit Bose

Projects related to algorithms, which may be of a theoretical nature or practical/experimental nature. Various projects may be done related to the material from COMP 1805, COMP 2804, COMP 3804 and COMP 4804. Professor Bose is open to discussing other possible projects as long as your idea has a significant algorithms/data structures component.

On the theoretical side, a typical project will entail learning about an advanced algorithm or data structure and then seeing if you can improve the algorithm or data structure. The deliverable would be a report that gives an overview of the algorithm/data structure that was studied and a review of some of the attempts that were made to improve the algorithm/data structure.

On the practical/experimental side, a typical project will entail implementing a number of different algorithms from a given area and then comparing the algorithms experimentally to see which ones perform better in practice. The deliverable here would include the implementation, as well as a report outlining the implementation and summarizing the experimental results/findings.

Sonia Chiasson

Projects related to usable security:  the intersection of human-computer interaction and computer security. Recent projects have involved exploration of:

  • usable privacy and security for mobile devices
  • usable privacy and security for collaborative multi-touch surfaces
  • user authentication
  • security visualizations
  • improving mental models of security
  • persuasive educational games to improve security behaviour of end-users
  • usable security and privacy interfaces for vulnerable populations (e.g., children, older adults)
  • phishing and trust of web interfaces
  • collaborative security code reviews

Typical projects include some combination of the following methods: prototype design, implementation, and evaluation; user studies of new designs or of existing systems; quantitative and qualitative data analysis for usability and security, statistical analysis, thematic analysis.  Projects nearly always involve evaluation with actual users.

Robert Collier

Projects are not currently being supervised by this faculty member.

Jean-Pierre Corriveau

Projects in the areas of:

  • software testing of large-scale distributed systems
  • scenario modeling and test generation for large-scale distributed systems
Jim Davies

Projects are not currently being supervised by this faculty member.

Frank Dehne

Projects involving the performance of data analytics software for business intelligence and computational biochemistry. You would be implementing fast parallel computing methods for multi-core processors, GPUs, processor clusters and clouds. Projects are usually in teams consisting of PhD and Master level students together with honors project students. Current teams that you can join include:

  • Real-time online analytical processing (OLAP)
  • Protein-protein interaction networks
  • Auto-tuned parallel software
Dwight Deugo

Projects are not currently being supervised by this faculty member.

Ahmed El-Roby

Projects that target solving data management problems. More specifically:

  • Data Integration: data acquisition, data wrangling, data transformation, information integration
  • Question Answering over Structured Data: using structured data to answer natural language questions
  • Mining of Structured Data: mining structured data (e.g., relational tables, or RDF) to extract useful and interesting information (e.g., rare facts about entities of interest)
  • Data Cleaning: cleaning heterogeneous structured data to detect and fix errors in different data sets
  • Blockchain Data Management Problems
Audrey Girouard

Projects are not currently being supervised by this faculty member.

Yuhong Guo

Projects that solve a problem in the following areas:

  • Machine Learning
  • Computer Vision
  • Natural Language Processing
Darryl Hill

Projects related to the areas of:

  • Computational Geometry
  • Algorithms
  • Data Structures

Projects may be theoretical or implementation based. For instance, implementing and testing an existing algorithm, or designing a new algorithm. Examples to consider are problems in the areas of path planning and/or graph navigation (e.g. autonomous robot exploration, or Uber-eats delivery path planning, etc). These projects could be theoretical or applied in nature. Any interesting project would be considered.

Jason Hinek

Projects are not currently being supervised by this faculty member.

Matthew Holden

Projects related to data analysis and machine learning with the application of improving outcomes in interventional healthcare (e.g. surgery). Projects may involve the following topics:

  • Action segmentation and recognition
  • Trajectory analysis and classification
  • Time-series forecasting and prediction

Projects may also include implementations related to surgical navigation or computer-assisted surgery.

Doug Howe

Projects related to:

  • Programming languages
  • Automated reasoning
  • Formal methods in software engineering
Majid Komeili

Projects involving Machine Learning and data analysis often with an emphasis on health. More specifically, projects related to the following topics:

  • Design and development of a web portal for remotely collecting specific health data
  • Real-time face detection and tracking, tracking eye-movements
  • Video-based Affective computing
  • Speech and language processing for detecting signs of dementia or other cognitive disorders
Evangelos Kranakis

Projects that involve areas related to (but not limited to):

  • Algorithmics
  • Distributed and Computational Biology
  • Distributed and Mobile Agent Computing Networks (Ad Hoc, Communication, Sensor, Social)
  • Cryptographic and Network Security
Wilf Lalonde

Projects related to:

  • Shaders for gaming
  • Shaders for augmented reality

Projects may include duplicating recent technological developments in advanced shaders or new ways of implementing better known techniques (scour the internet for such ideas). In the augmented reality area, projects need to make use of wireless head-mounted devices with cameras possibly augmented with other sensors. An example of such a device is the Impression Pi  (not yet available) or Android/iPhone based headsets. The idea is for the camera to pick up what you see in the world in front of you, then have it processed it via shaders on the device, and finally have it displayed so that you see only the processed view of the world. For example, if you used a cartoon shader, everything you looked at in the world would appear cartoonish. Alternatively, if you were looking through fog and the shader was designed to fog-subtract, you might be able to see the world more clearly. If you used an ambient occlusion shader, you could make the world appear as it does in the game “Borderland”. If one of the cameras were infrared or ultraviolet based, you would see the world in infrared or ultraviolet (bees can see in ultraviolet). But this input could be additionally processed by the shaders and superimposed with what the normal camera provides to see way better than a standard infrared camera even in daylight.  In ultraviolet, for example, the veins in a person can be specially processed to visibly stand-out.  How would you like to see the world?

Mark Lanthier

Projects related to the combined areas of:

  • Robotics
  • Artificial Life
  • Computational Geometry

Projects may include the use of robotic (or sensor) hardware to perform some real-world task. You may do a simulation-based project (i.e., no real robot hardware) in which multiple robots interact in some specific way to solve a problem. Often the solution involves the use of computational geometry and/or artificial life strategies. You project will involve performing experiments that take into account a variety of parameters, showing how each plays a role in the validity and usefulness of your problem solution. Often, various algorithms and heuristics are compared to determine which ones perform best in particular types of environments.

Christine Laurendeau

Projects are not currently being supervised by this faculty member.

Mengchi Liu

Projects related to:

  • Databases
  • Semantic Web
  • Intelligent Information Systems
Anil Maheshwari

Projects in the areas of:

  • Computational Geometry
  • Graph Algorithms
  • Data Structures
  • Classical Algorithms in various computational models (sequential, parallel, memory hierarchy, streaming, succinct, etc.)

Projects are typically implementation-oriented, but may be theoretical if it matches one of the areas above.

Ava McKenney

Projects related to:

  • Web services and intelligent search
  • Applications of AI and machine learning
  • Social network analysis
  • Recommender systems
  • Financial computation. 
Nadine Moacdieh

Projects related to human-computer interaction and interface design. Projects may involve:

  • Display clutter
  • Interruption management
  • Healthcare informatics
  • Eye tracking
  • Adaptive displays
  • Multimodal interfaces

Projects typically include designing and conducting an experiment with actual users, statistical analysis, qualitative data analysis, and prototype design and evaluation.

Pat Morin

Projects on algorithms and data structures, including:

  • Design of asymptotically fast algorithms and data structures
  • Design of practical algorithms and data structures
  • Performance testing
  • The impact of computer architecture on algorithms performance
  • Algorithms engineering

The most interesting projects involve optimizing algorithms to take advantage of modern microprocessor features including caching, prefetching, pipelining, branch-prediction, predicated instructions, instruction-level parallelism, memory-level parallelism, and SIMD instructions. Understanding how these processor features interact to affect the performance of an implementation is often non-trivial, even for the simplest algorithms.

David Mould

Projects that typically fall into one of three categories:

  • Procedural modeling – building a system that will automatically create some object of interest, usually natural scenery such as trees, clouds, and mountains.
  • Image stylization – using image processing techniques to remake an input image in the style of a traditional artwork, such as a painting or pencil drawing.
  • Computer games – investigating some new idea for an interaction technique, NPC behaviour, or automated content creation system.

In all cases, be prepared to read some papers, do some math, and write quite a bit of code.

Doron Nussbaum

Projects related to the areas of:

  • Computer Graphics
  • Computer Gaming
  • 2D and 3D Modeling
  • Medical Computing
  • Graph and Transportation Algorithms

Projects are either theoretical or applied and usually involved implementation. Students will work on a variety of problems related to the above topics. Projects can vary from implementation/comparing of algorithms or techniques to exploration and development of new ideas.

Andrew Runka

Projects are not currently being supervised by this faculty member. 

Jörg-Rüdiger Sack

Projects involving algorithms for Geographic Information Systems (GIS) and other geometric tasks.

You would be implementing algorithms that are theoretically interesting and of high practical value. Projects are usually in teams consisting of PhD and/or Master level students together with honors project students.

Nicola Santoro

Projects are not currently being supervised by this faculty member.

Alina Shaikhet

Projects are not currently being supervised by this faculty member.

Michiel Smid

Projects related to the areas of:

  • Computational Geometry
  • Algorithms
  • Data Structures
  • Randomized Algorithms

Projects can be of a theoretical nature (design a new algorithm or provide a better analysis of an existing algorithm) or of an applied nature (implement an existing algorithm, possibly by modifying it to make it more practical, and test the implementation on real-world input data). Projects are usually done in the Computational Geometry Lab.

Anil Somayaji

Projects primarily in the area of computer security. Past projects have been in the areas of:

  • intrusion detection
  • software diversity for security
  • operating systems security
  • web security
  • network security

As biological systems inspire my work in computer security, I sometimes also supervise projects related to artificial life (a-life).

Note that students do not need to have a specific project in mind before contacting me; instead, students should review my publications and identify areas of interest. Specific project topics are normally chosen after a series of conversations.

Elizabeth Stobert

Projects related to usable security, human-computer interaction and computer security. Project topics might include:

  • usable authentication (for mobile devices or for IoT)
  • password sharing
  • recovery authentication
  • password managers
  • security education
  • security in healthcare

Projects usually involve aspects such as: designing and implementing prototypes, usability evaluation, or user studies of existing systems. Studies are typically done with actual users, and experience with HCI methodology and data analysis methods are a plus.

Alan Tsang

Projects related to:

  • Social Networks (Opinion Dynamics, Information Graphs)
  • Economic Game Theory (Voting Theory, Fair Division)
  • Graph Theory

I am interested in projects that explore how people make decisions in complex environments such as social networks. “People” is abstract, and could well also be robots / organizations / groups. More than that, how does the flow of information affect behaviors, and how does that information spread within networks?

A typical project may involve gathering and analyzing data from social media platforms (what do people think of covid / the US election / the latest TikTok fad?), or constructing models on how behaviors evolve on them.

The pandemic has dramatically altered how we interact with each other. Opportunities abound for projects that gather, analyze, and model data about these unprecedented changes, so we may better understand these events as they unfold.

If you have an interest in data visualization, I have some ideas that we can explore on visualizing how social networks vary / evolve over time. This type of project will involve testing different data visualization frameworks or building your own.

Oliver van Kaick

Projects related to the area of computer graphics. The projects can include topics such as:

  • 3D content creation (developing methods for the automatic creation of shapes, scenes, and virtual worlds)
  • Facilitating the interactive modeling of 3D shapes
  • Acquisition of 3D geometry (3D scanning and surface reconstruction, or reconstruction from images)
  • 3D printing
  • Computer animation
  • Game development

A project typically involves the study of a specific research problem followed by a programming-based implementation and experimental evaluation.

Paul Van Oorschot

Projects involving issues related to computer security, software security and internet authentication & identity management (including server authentication and user authentication to both local devices and to remote web sites). Recent research projects have involved:

  • Internet security infrastructure and related protocols (e.g., SSL/TLS)
  • Secure software installation
  • Internet geolocation
  • Device fingerprinting
  • Federated identity systems and web single sign-on (SSO)
  • OAuth 2.0 delegation/authentication and authorization
  • FIDO identification technologies (UAF, U2F, CTAP)

Every year countless new mechanisms are proposed as “better means for authentication” – if you wish to propose one of these, professor Van Oorschot would expect not only a working prototype, but a comprehensive comparison and analysis against known alternatives (“new” is good; but something that is “new” but not better than alternatives is generally less interesting).

Junfeng Wen

Projects related to machine learning in general, including but not limited to:

  • Reinforcement learning: Techniques that improve sequential decision making. Applicable to many real-world problems such as self-driving cars, recommendation systems and gaming AI.
  • Transfer learning: Apply information gathered from one domain to another domain. Suitable for building prediction models from one user to another, or adjusting language models for sentiment analysis across categories in social networks.
  • Federated learning: Without violating user privacy, aggregate information from millions of digital devices such as cell phones to predict user behaviours. Collaborative modelling across medical/financial institutions such as hospitals or banks
Lianying (Viau) Zhao

Projects related to the following areas about computer security:

  • Trusted computing (e.g., involving TXT/SGX/TrustZone)
  • Platform/systems security (e.g., OS, VM and hardware/firmware)
  • Ransomware mitigation
  • Privacy preservation and authentication in general, as far as it concerns a systems solution (as opposed to purely user applications)

Other projects that fall at the intersection with the aforementioned topics can also be considered on a case-by-case basis.