Dalhousie's Faculty of Computer Science offers competitive funding to qualified graduate students and is committed to promoting excellence in research and teaching.
We have a diverse group of award-winning professors working in interdisciplinary research across five core areas: Big Data Analytics, Artificial Intelligence & Machine Learning, Human-Computer Interaction, Visualization & Graphics, Systems, Algorithms & Bioinformatics, and Computer Science Education.
We are pleased to highlight a few of this year's fully-funded fellowship opportunities available to incoming Master of Computer Science and PhD students.
Advanced Algorithm Design for Inferring Evolution
Phylogenetic “family trees” are a primary tool used for studying evolution such as the spread of antibiotic resistant bacteria or transmission of COVID-19. As we collect more and more sequencing data we need better algorithms to infer and compare phylogenetic trees. The successful applicant will develop new software based on graph theory or statistical models and apply this software to analyze real biological datasets. The ideal candidate has a strong interest in algorithm design and analysis, graph theory, or bioinformatics.
Algorithms & Data Structures
Algorithms and data structures play a central role in the design of efficient information systems which process huge amounts of data. This research project thus explores fast and space-efficient algorithms and data structures, including succinct data structures, string algorithms and text indexing, I/O-efficient algorithms, implicit data structures, and adaptive algorithms.
Evolutionary Optimization and Learning
Evolutionary algorithms are stochastic approaches to derivative-free optimization. Our projected research aims at the design of techniques for the robust optimization of constrained problems, improved efficieny through the use of surrogate modelling techniques, and the use of evolutionary algorithms for optimization problems in machine learning.
Creative AI / Computational Creativity
Jointly offered with the Vector Institute: A fellowship for a student who has a combination of demonstrated scientific (e.g. mathematical, programming and/or physics) and artistic (music/visual/text) backgrounds interested in doing state-of-the-art research combining these strengths. Through the Vector institute, these positions include access to significant compute resources and additional funding opportunities. More information on my research lab and positions is available here.
Machine Learning and Neurorehabilitation
Jointly offered with the Vector Institute: A fellowship for a student to work on a collaborative project involving machine learning and neurorehabilitation. In addition to a demonstrated strong mathematical and/or signal processing background, interested are encouraged to identify experience they might have in one or more of the following areas: biomechanics, kinesiology, movement analysis, video/motion capture/processing, signal processing, and music or audio processing. I am looking for someone creative who will take initiative in problem solving. Through the Vector institute, these positions include access to significant compute resources and additional funding opportunities. More information on my research lab and positions is available here.
Educational Data Mining and Learning Analytics in Programming
Given the challenges in scaling up affordable access to online instruction in computer science, there is a need for automated solutions to assessment and formative feedback. This research project examines the use of analytical approaches to assess, analyze, and visualize computer programming processes, that is, the way code evolves over time while students make progress towards solving problems. The broader implication is to create tools for students and teachers to promote robust understanding of what it means to know a programming language.
Intelligent Tutoring Systems for Programming Education
Intelligent tutoring systems have been shown to be effective in helping to teach students how to code. This research project aims to develop, implement, and evaluate user-modeling solutions in the context of programming tutors in terms of facilitating skill acquisition and transfer. The broader implication is to gain novel insights into individual differences in how students gain programming skills and knowledge using intelligent systems as both research and training platforms.
Agile Methods + Human-Centred Design = Dual Track Development
Most software is not very well-designed. Buggy. Unfriendly enterprise systems, insecure websites, predatory mobile games, hate-amplifying social networks, racist AI, and carbon-spewing cryptocurrencies cost us billions, make us miserable and exacerbate the climate crisis. The successful applicants will work with our industry partners to envision and validate better techniques for software design.
Crisis Software Engineering / Pandemic Programming
Little is known about how crises, disasters, emergencies and pandemics affect software projects. Yet, many software projects are critical to overcoming crises. The successful applicants will investigate both how crises affect software development and how software professionals can mitigate these effects.
Sustainable Software Engineering
The role of software development in sustainability is vastly understudied. Software profoundly affects all three pillars of sustainability: Environmental, Social and Economic. Inversely the three sustainability pillars apply to every software project. The successful applicants will not only investigate the relationship between software engineering and sustainability but also develop and empirically evaluate tools or practices for improving software project sustainability.