The available cluster areas are listed below. To see a list of Computer Science faculty associated with each cluster, click on the cluster links. Students are allowed to design their own cluster, with the consent of a faculty advisor and the graduate director.
The Graphics and Visualization Cluster provides the technical foundations for graduate studies in Computer Graphics and Image Understanding. Areas for further study include Graphics Programming, Rendering and Image Synthesis, Computer Animation and Virtual Reality, Image Processing and Analysis, and Data Visualization.
The Data Management Cluster studies the foundational data management and knowledge discovery challenges prevalent in design, analysis and organization of data. The courses cover general database issues, including database design, database theory, data management and data mining.
This area studies systems formed from multiple cooperating computers. This includes the analysis, design, and implementation of distributed systems, distributed middleware, and computer networking protocols, including security.
Artificial intelligence encompasses the study of algorithms and architectures that enable effective decision making in complex environments. Courses in this cluster cover computer vision, robotics, virtual theater, sensor networks, data mining, document recognition, and the theoretical foundations of decision-making (e.g. Markov chains and the properties of voting protocols).
The Languages and Tools cluster clusters language design and implementation together with architecture and use of software development tools. Students specializing in this cluster can gain a broad understanding of theoretical and applied knowledge.
The Security area spans topics from networking to cryptography to secure databases. By choosing different domains in which to study security students can gain a broad understanding of both theoretical and applied knowledge.
The Theory area studies the fundamentals of computation. These fundamentals include complexity theory to determine the inherent limits of computation and communication and cryptography and the design and analysis of algorithms to obtain optimal solutions within those limits.