Research in the Computer Science department concentrates on foundational problems with real-life applications. Our faculty actively engages in and lead large-scale interdisciplinary research projects in analysis of networked information, data science and stewardship, bioinformatics, ecology and environmental conservation. We seek to develop principled solutions to problems and illustrate our solutions with working prototypes.

Network Science and Social Networks

Research in network science and social networks links together top social scientists, neuroscientists, and cognitive scientists with leading physicists, computer scientists, mathematicians, and engineers in the search to uncover, model, understand, and foresee the complex social interactions that take place in today's society. All aspects of social networks, from the origins of adversarial networks to gauging the level of trust within vast social networks, are investigated. More generally, network dynamics, network synchronization, resilience of infrastructure networks and networks in general are also studied.

Semantic Web and Data Infrastructure

This research focuses on the emerging area of Web Science and specifically the evolving web and related semantic technologies. Active areas of research include: Semantic Web technology, knowledge graphs and cognitive computing, provenance and explanation; data integration and analytics; cyberinfrastucture for data integration, particularly for science data; ontology development; and the ethical, policy, and social aspects of Web use and usability.  Research in this area also focuses more broadly on data cyberinfrastructure, including policy, social and technical infrastructure needed for data stewardship and preservation.

Machine Learning, Data Mining, Artificial Intelligence

Our research tackles the theoretical and applied sides of extracting knowledge from data.  Within the Big Data arena, we emphasize efficient, scalable, and parallel algorithms for data mining and data management tasks (association rules, classification, clustering, sequence mining, etc.). For small data sets, the emphasis is on robust learning systems (supervised, unsupervised and  reinforcement). Prior and current projects touch several application areas, which include: computational biology (bioinformatics, computational genomics); biomedical engineering; public health informatics; cheminformatics, web mining; geographic information systems; computational finance; natural language processing, and, multi-agent social data aggregation into informed actions (such as in recommendation systems like Yelp and TripAdvisor).

Theory of Computation and Algorithms

Research in this area provides the foundation needed for effective computing. The theory group at Rensselaer's Computer Science Department brings together researchers in many areas of Computer Science to develop novel approaches and solutions to computational problems. Our research at RPI includes networks of all kinds (computer networks, social networks, information networks, sensor networks); machine learning and data mining; distributed algorithms; graph algorithms; algorithmic game theory and computational economics; independent and strategic agents; voting and social choice; computational finance; security; and bioinformatics.

Graphics, Robotics and Vision

Research in computer vision in the Department of Computer Science is focused on applications in ecology and environmental conservation (www.ibeis.org), including finding and counting animals, identifying individual animals, and species labeling for everything from large ungulates to microscopic plankton.  In order to help make robots more autonomous and dexterous, research in the robotics laboratory focuses on grasping and manipulation, simulation, and planning and control for working in unstructured environments. Faculty and students in the graphics research group are studying digital sculpting, photo-realistic rendering, algorithms, and use of modern hardware for applications in games, building architecture, and terrain modeling.

Pervasive Computing and Distributed Systems

Researchers investigate computer networks and their protocols, with emphasis on sensor networks and high performance computing. In sensor networks, the focus is on information processing and analytics under communication and energy constraints where both the network and the environment are dynamically changing. In high performance computing, the focus is on computational environments in which task allocation, migration, and fault tolerance are supported automatically and on application of such environments to computations relevant to different scientific disciplines.

CyberSecurity

Cybersecurity is called upon to answer some of the most pressing questions of our digital society. Researchers in the CyberSecurity group are interested in security problems both from a theory perspective and at the systems level. Specific problems of interest include malware analysis and reverse engineering, program obfuscation, covert channels, discovering hidden networks in social networks; network camouflaging; privacy protection in data mining systems; foundations of cryptography and provable security, secure (multi-party) computation, fault-tolerant distributed protocols, intrusion detection, game-theoretic cryptography, cryptocurrencies and e-voting.

Programming Languages and Software Engineering

The Programming Languages and Software Engineering research group develops programming models, languages, and tools to improve software reliability, performance, security, and programmer productivity.

Recent efforts have focused on Android security, concurrent software verification, data analytics in cloud environments, and open source software practices.