Topic Fair

The computer science curriculum offers several opportunities to explore research at the undergraduate level. In addition to an individual directed studies course (COSC 448), you can complete:
COSC 449 (6) Honours:
This is an opportunity to explore research at the undergraduate level, and see if you like it. It is a must if you plan to pursue graduate school or if you are not sure yet.
COSC 490 (3) Student-directed seminar course:
This is a new course that has been offered for many years on the Vancouver campus. It allows students to learn a topic that is not offered in any regular course, or special topic in a seminar-like format. Ask questions if there is a topic you and other fellow students would really like to learn more about, but is not offered in any course on campus. It also gives more responsibility in your learning, and is a great experience if you are considering a career involving teaching in an academic or corporate environment. Enrolment is strictly restricted to 8-15 students per section. Contact Professor Yves Lucet if you are interested.
COSC 447 (3) Directed Studies in Software Maintenance:
This is an opportunity to get experience building a software over a full term. (Maintenance of a large software system including prioritizing requests, modifying the design, implementing new features, fixing bugs, and regression testing. The student will undertake the maintenance of an existing project.)
COSC 448 (3) Directed Studies in Computer Science:
This is an opportunity to deepen your knowledge on a specific topic. (Supervised reading, participation in a seminar, and one or more programming projects.)
NSERC Undergraduate Student Research Awards:
This is an opportunity for undergraduate students in the natural sciences and engineering to get research experience by working with professors on their research projects.
Undergraduate Research Awards:
This is an opportunity to pursue innovative and original research as part of undergraduate students' learning experience.

The following professors are interested in supervising you on the following topics. Email each professor directly to get more information on the topic, and to discuss your fit with the project. All professors' emails are
Serious games for healthy nutrition education Ifeoma Adaji
My research is in the general area of behavior change for the good of individuals and that of society. I am currently looking for students who have interest in working on social media projects in the following areas:
  1. Training deep learning models for misinformation detection in social media in areas such as health, climate change, politics, etc.
  2. Identifying what makes a reel/post persuasive on social media. For example, is it the presence of an influencer or the specific product? Is it the text that accompanies the product or the size/placement of the text/product etc. Does this differ by culture, gender, age etc. How can we develop AI models to quantify the persuasiveness of posts?
  3. How accurately can we detect deepfakes? What is the persuasive power of deepfakes in health or political messaging? Can we build a lightweight deepfake detector for mobile users?
I am also looking for students who have skills in the area of application development who have interest in the following:
  1. Developing a dynamic dashboard for visualizing emotions and sentiments of reviews on the Google play store.
  2. Improving WISEC - a mobile application to prepare for wildfires in the city of Whistler.
  3. Developing a Chrome extension for misinformation detection in social media posts.
  4. Exploring Trust in AI-Powered Health Suggestions for Women from Marginalized Communities. The focus could be on explainability, fairness and inclusive design.
Analyzing reviews of apps on the App Store and Google Play Store Ifeoma Adaji
Exercise and nutrition apps hold promise as interventions for encouraging people to live active lifestyles and adopt healthy eating habits. Despite the many apps on the App Store and Google Play Store, research suggests that there is low engagement and adoption of these apps. User experience and usability have been identified as factors that affect the adoption and use of apps. This project aims to determine the experience of users who use these apps and to identify the perceived usability of these apps from the reviews of users. After-sales reviews are a good way of getting feedback from users about a product or service. By analyzing the reviews of users who have downloaded exercise and nutrition apps, using machine learning algorithms, this project aims to identify the main themes of the reviews, strengths, weaknesses, design issues and gaps of these apps. The reviews are continuously being collected from the App Store and Google Play Store, thus, the project will not include web scrapping. Results from this study can provide feedback to designers of apps in the exercise and nutrition domain.
Cartoon Avatar Generation from In-the-Wild Images (Computer Vision/Computer Graphics/Deep Learning) Shan Du
Virtual/digital humans serve as the interfaces through which we engage with others in the digital realm. Often, individuals may avoid displaying their actual, photo-realistic faces due to privacy concerns. A viable alternative involves utilizing stylized, cartoon-like avatars that retain recognizable facial features. Traditionally, this task has necessitated the expertise of artists, making the production of diverse cartoon 3D avatars both time-consuming and expensive. This project proposes to use deep learning techniques to automate the generation of cartoon 3D faces, primarily leveraging 2D images as the training data. The project encompasses data gathering, preprocessing, and training sophisticated deep neural network models. Participants will gain valuable skills and practical experience in the fields of computer vision, computer graphics, and deep learning. Furthermore, the project's outcomes can support artists in rapidly developing new cartoon character prototypes. Candidates with proficient programming abilities, especially those familiar with deep learning frameworks like PyTorch, are highly preferred.
Spatially Situated Data Visualization Barrett Ens
Augmented Reality (AR) allows information to escape the confines of flat screens and to be overlaid on the physical world, allowing information to be presented on the go, when and where it is most useful. One currently open problem involves understanding where, when and how to place data visualizations and other real-time information in dynamic real-world environments. This complex problem is related to a wide range of potential projects, including the design of new visualization methods and interaction techniques, optimization of 3D display layouts, AI-based tools to support human data analysis, empirical studies on human perception, physiological sensing of human emotion and cognition, and using robots to provide real-time haptic feedback. Students will work with the latest wearable display technologies such as Hololens 2, Oculus Quest 3, and Apple Vision Pro. Experience with Unity and programming in C# or Java is preferred but not essential.
Algorithmic Decision Making and Network Science Yong Gao
My research focuses on computational problems and phenomena in algorithmic decision making systems, including those in traditional AI applications, machine learning systems, and social/biological/information networks. Honours projects and undergraduate summer research projects (such as those supported by USRA, URA, and IURA) are designed to be an integral component of my research program. Depending on your interests and strength, a project may focus on concrete tasks (implementation, data analysis, or theoretical analysis) in one of the following topics:
  1. Deep representation learning on graphs and networked data
  2. Deep learning technique in games, bioinformatics, and combinatorial optimization
  3. Graph-theoretic problems in network analysis and social media
It is also an interesting Honours project to improve and/or revitalize the gaming modules of a gaming server used in our COSC 322 (AI) class.
New Interaction Capabilities on Smart Devices Mohammad Khalad Hasan

Designing Hand-Based Navigation Solutions for Virtual Reality:
Moving around in virtual reality (VR) can be difficult, especially when users need to teleport accurately over long distances. Traditional controller-based navigation often relies on pointing a ray with a joystick or trigger to select a destination, which can feel unintuitive and imprecise. This project explores new hand-based teleportation methods that leverage natural hand movements to help users land exactly where they want. We aim to design a hand-based navigation solution that is easier, faster, and more accurate than traditional controller-based approaches. The overall goal of the project is to develop simple and effective navigation solutions that enhance the naturalness and accessibility of VR movement.

Designing Augmented Reality User Interfaces for Walking Scenarios:
Designing effective AR user interfaces (UIs) for walking is challenging due to user movement, shifting attention, and the need to maintain real-world awareness. This project aims to investigate key design questions, including where to anchor AR content (world-anchored vs. body-anchored), how to determine optimal window or viewport sizes, and whether UI elements should appear on-body (e.g., hand, wrist) or in mid-air. By developing prototypes and conducting user studies, this project aims to evaluate usability, safety, and user experience, creating guidelines for AR UIs that remain intuitive and non-intrusive while users are walking.
Deep learning for software analysis Fatemeh Hendijani Fard
We conduct several cutting edge research focusing on trustworthy inclusive AI for software developers at Foundational AIware Research and Development (FARD) Lab. We develop tools and technologies that focus on parameter efficiency of the models and knowledge transfer, with an emphasis on large population of developers who do not benefit from AI and automated tools, and removing hallucinations and factual checks of the models. Our research is at the intersection of AI and Software Engineering, and students will learn NLP and AI techniques, agentic flows and LLM-based agents, and different aspects of software engineering, depending on their project. This research is highly in demand and an active research of several companies including Google, Meta, Microsoft, and Uber. I recruit students for projects in the following categories. However, as the AI field is advancing rapidly, the details of the project will be discussed with the students closer to the start of the new academic year.

Research area 1:
Large Language Models (LLMs) are widely used in several software engineering tasks, including code generation and code documentation. Though there are many studies that focus on popular programming languages such as Python, there is less work done on low-resource languages—i.e., languages for which there is no/little training data available. Examples of such languages are R, Ruby, and Rust. Previous research has shown that LLMs are performing poorly on code generation for these languages, compared to other high-resource ones. The specific syntax or coding practices of programming languages such as R, affect the performance of the current models, emphasizing the need to develop new techniques to enable executable code generation. We recruit new members to conduct experiments towards this goal.

Research area 2:
The application of LLMs in software engineering (SE) is well known to software developers and students, including code generation, program repair, code clone detection, and code documentation. We conduct several research to enhance the capability of the models in several SE tasks. For example, code generation using the contexts of several files in a repository, automatically repair/fix programs using knowledge graphs and retrieval augmented generation (RAG) techniques, generating code summaries using file contexts, and detecting code clones using LLMs. There are several topics in this category that we can investigate, from empirical studies to developing tools.
Contact me if you are interested and you will choose among the projects based on your interest.
AI in Education Bowen Hui
My work is mostly considered as using AI techniques in education. Current projects include computational thinking, team analytics, gamification, machine learning techniques, and mobile educational game design. Depending on the phase of the project, some of them involve more programming than others (which would be more suited for a directed studies), and some are more research oriented (which would be more suited for an Honours thesis). For more details, you can read more about the projects at https://cmps-people.ok.ubc.ca/bowenhui/projideas.html. If you are interested in these topics, you can email me directly at bowen.hui@ubc.ca.
User Interfaces for In-Situ Computing Pourang Irani
Our computing needs are extending away from the desktop and into the physical world, where we often interact with current systems to carry out real-world tasks, in-situ. Yet, current mobile devices, including smartphones or tablets, do not adequately address the user experience needs for in-situ computing. Our lab is developing end-user interfaces on wearable devices to facilitate ease-of-access to information while carrying out every day physical activities. Such interfaces further open new opportunities for exploring interaction while on-the-go, such as imagining the future interface of semi-autonomous vehicles. Students will gain exposure to a range of skills, including technical skills in software development, prototyping, augmented/virtual reality and UI evaluation. Ample opportunities will be available for students to advance their professional skills in team work, written and oral communication as well as in research ethics.
In-situ guidance on recycling Patricia Lasserre
Recycling contamination is a significant issue in waste management, which occurs when materials get placed in the wrong bins. A recent report by Recycle BC revealed that Kelowna has a high contamination rate, more than double that of the allowable level of 3% . This issue is already prominent at UBCO and as an ever-growing diverse community, UBCO is at a high risk of increasing recycling contamination significantly, which is detrimental to the environment and the cost of recycling (due to additional triage). We aim to design an augmented-reality application for in-situ decision-making support on recycling. With the solution, a person would scan the item of disposal, and the application would specify the closest correct bin for disposal. The focus for now will be on items most commonly misplaced (e.g. Coffee Cups – In Garbage instead of Recycling, Liquid (coffee left in coffee cups etc. ) in Recycling, Napkins - In Recycling instead of Garbage or Compost,…). A first application has been developed for this application. The focus is now on developing a large dataset for the commonly misplaced objects and implement deep learning algorithms for the detection and recognition of those objects.
Digitization of Cree documents Patricia Lasserre
OCR plays a crucial role in preservation and documentation efforts. Historical manuscripts which connect past to present can be used to document language evolution. These are often written in pre-standardized orthography which contain valuable information from when the languages were in broader use. Moreover, OCR can also aid Machine Translation efforts. OCR monolingual data can improve machine translation for low-resource languages when used in back-translation and can also be integrated in the machine translation pipeline. This project consists in digitizing scanned newsletters from the Sacred Heart Church of the First Peoples located in Edmonton, AB, Canada, which were loaned to by the University nuhelot'įne thaiyots'į nistameyimâkanak Blue Quills for this purpose. This project requires the use of deep learning algorithms for text detection (finding syllabics in the page), syllabic recognition and digitization, and document analysis (reconstructing the page as presented in the scanned document).
Database Applications in Artificial Intelligence and Environmental Sensors Ramon Lawrence
If you're interested in databases, data analytics, or practical technology applications, contact Ramon Lawrence at ramon.lawrence@ubc.ca. Current research focuses on two key areas:
1. Databases in Artificial Intelligence: This area explores integrating databases with AI, including vector databases, retrieval-augmented generation, and the intersection of databases and generative AI. Projects may involve creating AI-powered tools for student support, assessment, and question answering using chatbots and other software solutions.
2. Environmental Sensor Networks for Agriculture: This area involves building sensor networks and a data analysis platform for agriculture and viticulture, in collaboration with Agri-Food Canada and vineyards. If you enjoy hands-on coding, this project includes work with embedded devices, C programming, and web development to collect and analyze sensor data.
For more details on projects, see Dr. Lawrence’s project page.
Road design Yves Lucet
I am looking for students for a Honours to implement algorithms for an approximation problem that arises in road design. We have been working with an industry partner for more than 15 years (we received the EURO Excellence in Practice Award 2019). The company wishes to approximate survey data with curves. There are several approaches in the literature, and the Honours will focus on implementing several and comparing them. Beside reading research article and implementing algorithms, the work will involve optimization, e.g., hyperparameter tuning. Machine learning will be considered if appropriate. Honours positions are open for 2025-2026 until Aug 2025. Contact me for more information at yves.lucet@ubc.ca.
Computer Science Education Abdallah Mohamed
Investigate and develop methods and technologies to enhance the learning experiences of students in higher education, with a specific focus on computer science education. This includes: 1) Generative AI in Education, e.g., using ChatGPT as a Tutor, 2) Educational decision support systems, e.g., development of tools to help students make decisions about their courses and study plans, or tools for optimally allocating TAs to courses, 3) Educational web development, e.g., gamified learning platforms and personalized programming exercises. To learn more about my work, see: https://cmps-people.ok.ubc.ca/abdalmoh
Analyzing mentor-mentee relationships in Open Source Software (OSS) Gema Rodríguez-Pérez
Growing a healthy and sustainable community around an Open Source Software (OSS) project is not trivial, as it depends on individuals taking the initiative and developing their pathway to contribute to a project. Also, not all individuals have the same motivation to contribute to OSS projects and the role that they eventually play in a project varies. Therefore, their experiences during OSS development might vary and without the right support, newcomers might leave the OSS projects which negatively impacts the sustainability of OSS. To avoid this situation, OSS communities have been using a mentor-mentee approach to overcome the initial barriers that newcomers have when contributing to OSS projects. This approach allows newcomers to learn from other members of the community to sharpen the necessary skills for their successful participation in the project. The goal of the project is to use mining software repositories techniques to analyze and characterize the mentor-mentees relationship in OSS. We will use this information to feed recommendation models that can help growing a healthy and sustainable community around an OSS projects.
Understanding how software developers use AI-based Code Generation Tools Gema Rodríguez-Pérez
Just in the past year, many code generation tools became available: Amazon CodeWhisperer, DeepMind AlphaCode, Facebook InCoder, GitHub Copilot, OpenAI Codex, Tabnine, Replit GhostWriter, etc. For a particular input prompt, these tools suggest matching source code. The suggested code is based on a set of large language models (LLMs) trained with millions of lines of source code and, optionally, natural language texts. These code-generation tools are examples of existing generative machine learning tools for text, image, video, and audio generation. These AI code generation systems are positioned to revolutionize software engineering practice. More than 1.2 million developers used a popular AI-based code generation system in the last year, and they wrote nearly 40% of their code in popular programming languages. These tools will have a significant impact on software development practices. Therefore, this study aims to understand how software developers use them to complete programming tasks.
Autonomous Drones with Computer Vision and Deep Learning Mohamed Shehata
This project is dedicated to exploring deep learning-based computer vision in the development and operation of autonomous drones (UAVs). Currently, our research lab (LEAVES@UBC: https://mshehata.ok.ubc.ca/ ) has three state of the art RTK-3000 industrial drones equipped with different sensors, cameras, and on-board processing cards. Starting with the fundamentals of deep learning, we investigate its applications in computer vision algorithms to enable drones to perceive and understand their environment. This, in turn, allows for more efficient and accurate navigation, object detection, and tracking. The potential impact of our research spans various industries, including oil and gas, disaster response, infrastructure inspection, and environmental monitoring. Through novel research, we aim to improve the capabilities of autonomous drones and explore new areas of application that can significantly improve efficiency and safety in multiple domains.