University of Waterloo COVID-19 update

Please see the University of Waterloo’s frequently asked questions for information about COVID-19 and how it has affected university operations.

Please visit the list of modified services if you have questions about university services.

Although the University of Waterloo is closed for in-person events until further notice, many virtual events and presentations of interest to computer scientists are taking place each week at the Cheriton School of Computer Science. Please check out what our students and faculty are doing.

Information retrieval

Information Retrieval Group site

Contact person: Charles Clarke,

Group members:

Charles Clarke, Gordon Cormack, Chrysanne DiMarco, Ian Munro, M. Tamer Özsu, Pascal Poupart, Frank Tompa, Olga Vechtomova (management engineering), Mark Smucker (management engineering)



The study of the design, analysis, and implementation of algorithms is at the heart of computer science. It is difficult to envision any large scale computer application, such as an operating system, compiler, large-scale database system or computer graphics package that does not rely on the use of effective algorithms and data structures.

Researchers in our group explore a variety of algorithm types and areas of application. Applications include computational geometry, graph theory (including graph drawing), bioinformatics (see their separate entry), learning theory, network routing, search engines, database systems, quantum computing, number theory and formal languages. Approaches include the study of randomized algorithms, adaptive techniques, approximation algorithms, fixed-parameter tractable algorithms and the mathematical analysis of the performance of algorithms, as well as issues of implementation. The organization and structuring of data, fundamental to the performance of most algorithms, is a major area of study.

Computational complexity is the study of the inherent limits of efficient computation measured in terms of time, space, and other resources such as randomness. Our group includes researchers in various aspects of complexity theory including Kolmogorov complexity, as well as cryptography.