Sorry, you need to enable JavaScript to visit this website.

Research Areas

Research Areas

Faculty members in the department are actively engaged in research in the areas listed below. There are many opportunities for both undergraduate and graduate students to participate in these activities toward thesis or project work and independent study.

Computer Science Education

Explorations into the pedagogy of Computer Science focusing on new methods and paradigms for the teaching of the CS curriculum.

Computer Graphics and Visualization

This area provides the technical foundations for studies in Computer Graphics. Areas for advanced study include Advanced Graphics Programming, Image Synthesis, Computer Animation, Virtual Reality, and Data Visualization.

Data Management

Studies foundational data management and knowledge discovery challenges prevalent in design, analysis and organization of data. This area can be applied in a variety of domains including data management in resource constrained environments, enterprise and multimedia databases, active and secure databases and knowledge discovery algorithms.

Distributed Systems

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

Artificial intelligence encompasses the study of algorithms and architectures that enable effective decision making in complex environments. Researchers in this area include faculty, undergraduate and graduate students working on projects in computer vision, robotics, virtual theatre, sensor networks, data mining, document recognition, and the theoretical foundations of decision-making (e.g. Markov chains and the properties of voting protocols).

Languages and Tools

The Languages and Tools area studies language design and implementation together with architecture and use of software development tools.


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.