Computer systems research at URCS spans a range of topics, including program analysis and compiler technology; parallel, distributed, and mobile computing; cluster-based server technology; low-power hardware and software; processor and memory architecture; concurrency and synchronization; programming environments; and programming language design.
Theoretical computer science research at URCS focuses on algorithms, computational complexity, and randomness/pseudorandomness, and on their connections to and applications in a wide range of fields: combinatorics, computational social choice theory, cryptography, economics, Markov chains/counting, security, and much more.
Artificial Intelligence research at UR includes work on knowledge representation and reasoning, machine learning, dialog systems, statistical natural language processing, automated planning, AI-based assistive technology, and computer vision. We collaborate with the departments of linguistics and brain and cognitive sciences. We participate in the Center for Language Sciences, the Center for Visual Science, and The Goergen Institute for Data Science.
Human-Computer Interaction (HCI) is concerned with the study, design, construction and implementation of human-centric interactive computer systems. Work in the Rochester HCI group (ROCHI) includes human nonverbal behavior analysis, social skills training, applied machine learning, educational technology, accessible computing, ubiquitous computing. Visit the HCI website.