Professor Blais's research interests are in the areas of algorithms and complexity theory. His research is concerned with the following question: what tasks can algorithms accomplish when they are only allowed to examine a tiny fraction of their input? This question is particularly relevant given the massive datasets generated by new data collection technologies in many scientific areas; in this setting, any efficient algorithm must run in time that is sublinear in the size of this input data, and so it only has time to examine some of the data. This research also has applications in many other areas of computer science, including property testing, locally decodable error-correcting codes, machine learning, compressed sensing, and complexity theory. Much of the recent work of Professor Blais has focused on the situation where the algorithm's input represents a Boolean function and the algorithm seeks to determine if the function is "simple" or not, according to some appropriate notion of simplicity. This general situation captures many fundamental computational tasks. By combining algorithmic design methods with tools from the analysis of Boolean functions and extremal combinatorics, this research has shown that many such tasks can be done efficiently with algorithms that inspect only a constant number of bits of the input.