Research Area


Loosely speaking, an algorithm is a formally defined, finite procedure to solve a problem in a finite number of steps. Algorithms are what make it possible for computers to solve problems. They are at the very heart of computer science and play a key role in most of its areas. Typical algorithm problems include the following: Is there a constructive solution to a given problem? Is there an efficient constructive solution to a given problem (minimizing one or several factors)? How efficient is a given constructive solution? Is it optimal? Is there a good heuristic for a given problem?

The algorithm team works on many different aspects of these questions, developing algorithms to efficiently solve combinatorial optimization problems, algorithms based on graphical representations, algorithms applied to ad hoc and sensor networks, network protocol algorithms, ordered sets manipulation and drawing, algorithms for covering arrays used in software testing, algorithms for mobile agents and algorithms for mobile robots.

Our team’s research can be applied to a wide variety of topics, including design of reliable communication networks, covering schemes for software testing, robotic routing, message routing in wireless networks, design, modelling, analysis and performance evaluation of computer communication network, circuit board production, automatic rendering of complex and large graphs, and construction of test suites for interaction testing.




The Faculty of Engineering of the University of Ottawa encourages the creation of successful partnerships between industry, business, government and our research community. By collaborating with us, your organization can benefit from various funding opportunities listed below and can also receive huge tax incentives!

  • Federal Funding
  • Provincial Funding
  • Connect Canada
  • Other Opportunities

Learn more

Back to top