Computer Science encompasses both theoretical and practical aspects of design, analysis, and implementation of computer systems, as well as applications of computing to numerous other fields. Core research areas include: (1) artificial intelligence and machine learning, (2) bioinformatics, (3) computer architecture, (4) embedded systems, (5) graphics and computer vision, (6) database systems and information management, (7) multimedia and gaming, (8) networks and distributed systems, (9) programming languages and compilers, (10) security, privacy, and cryptography, (11) design and analysis of algorithms, and (12) scientific computing.
The dominant research theme in our group is algorithm design, studied from several diverse viewpoints: combinatorial optimization, approximation, online, randomized and parallel algorithms, graph algorithms, and algorithmic game theory. A second theme is computational complexity theory, with an emphasis on studying new complexity classes, such as those used for establishing intractability of economic and game-theoretic solution concepts. Other areas of theory studied include computational geometry, data structures, geometric graph theory, quantum computing, spectral graph theory, theory of deep learning, cryptography, and online and matching-based market design.