- Computer Science
- Research Areas
Research Areas
The Graduate Center is a national and international center of learning and research. The rich research culture is prominent throughout the Computer Science program.
Computer Science faculty members are internationally recognized for their research contributions in the following specializations:
View faculty associated with each research area on the Faculty and Committees page.
An algorithm gives the sequence of steps to follow to find the solution of a specified problem. So whenever we know the properties the solution should have, but we do not know how to find it, we need to design an algorithm to solve the problem. Once an algorithm has been designed, central questions are its correctness or approximation quality, its complexity (runtime), and its generality—on what set of possible problem instances does the algorithm have the specified quality and complexity properties. Core algorithms topics among the Graduate Center's faculty interests are algorithms for graphs, strings, and scheduling; computational geometry, algorithmic game theory, and combinatorial optimization; numerical algorithms, and parallel and distributed algorithms.
Courses
C Sc 70010 Algorithms (4 credits)
C Sc 80030 Network Algorithms
C Sc 80040 Combinatorial Algorithms
C Sc 80050 Digital Geometry Algorithms
C Sc 80060 Advanced Data Structures
C Sc 80070 Modern Approximation Algorithms
C Sc 80080 Advanced Algorithms
C Sc 80200 Seminar in Algorithms (1 credit)
C Sc 80210 Topics in Algorithms
C Sc 86100 Algebraic and Numerical Algorithms
Artificial intelligence (AI) develops programmed agents (systems) that match or outperform people's abilities to make decisions, to learn, and to plan. To do so, AI develops algorithms and methodologies that sense a system's environment, decide what to do given that data, and effect its chosen actions in its environment. AI demands fast and clever search heuristics, thoughtful ways to represent knowledge, and incisive techniques that support rational decision making. Our faculty interests include machine learning, data mining, knowledge representation and belief, constraint satisfaction, genetic algorithms, and reasoning mechanisms (including cognitive architectures, and logical and probabilistic inference), natural language processing and computer vision. Current active application areas include knowledge discovery, logic programming, bioinformatics, medicine, human-machine dialogue, recommenders, assistive technologies, and robotic navigation.
Courses
C Sc 74010 Artificial Intelligence
C Sc 74020 Machine Learning
C Sc 74030 Computer Vision and Image Processing
C Sc 74040 Natural Language Processing
C Sc 84000 Advanced Natural Language Processing
C Sc 84010 Knowledge Representation
C Sc 84020 Human and Machine Problem Solving
C Sc 84030 Big Data Analytics
C Sc 84040 Data Mining
C Sc 84050 Graphical Models
C Sc 84060 3D Photography
C Sc 84070 Constraint Satisfaction
C Sc 84080 Web Information Retrieval and Data Mining
C Sc 84090 Multimodal Sentient Computing
C Sc 84100 Vision, Brain and Assistive Technologies
C Sc 84110 Information Visualization
C Sc 84120 Multimedia Data Compression and Mining
C Sc 84200 Seminar in Artificial Intelligence ( 1 credit)
C Sc 84210 Topics in Artificial Intelligence

With the unprecedented fast development of Communication Networks, Information Technology, and the evolution of Computer Systems from huge computational servers to small hand-held devices, it is fundamental to understand the design principles of modern Communication Networks and Computer Systems. Our courses in Communication Networks and Computer Systems discuss advanced topics in the field and stimulate inventive research among the students. Current faculty interests span through physical communication channel characterizations; advanced routing mechanisms for classic and modern networks such as mobile and sensor networks; advanced network applications such as social networks, P2P networks, cloud computing and network of things; distributed operating systems; database systems; big data management; parallel and high performance computing; and emerging mobile systems.
Courses
C Sc 72010 Computer Networks
C Sc 72020 Distributed Operating Systems
C Sc 72030 Database Systems
C Sc 82005 Advanced Computer Networks
C Sc 82010 Wireless Communication Networks
C Sc 82020 Network Forensics
C Sc 82030 Distributed Network Algorithms
C Sc 82040 Social and Cultural Computing
C Sc 82050 Big Spatial Data Management
C Sc 83060 Software Engineering and Static Analysis
C Sc 82070 User Interface Design and Accessibility
C Sc 82200 Seminar in Networks and Systems ( 1 credit)
C Sc 82210 Topics in Networks and Systems

Computational biology is diverse and spans research areas in machine learning, artificial intelligence, systems biology, string and graph algorithms, and combinatorial optimization for biological and biologically inspired problems. Specific research activities of our faculty include structural prediction of molecular interactions, understanding the mechanisms of drug action, identification and classification of DNA repeats, simulation of cell signaling, modeling heart disfunction, molecular dynamics and neural systems, phylogenetics, personalized cancer treatment, and respiratory care informatics.
Courses
C Sc 84300 Computational Biology
C Sc 84310 Systems Biology
C Sc 84400 Seminar in Computational Biology ( 1 credit)
C Sc 84410 Topics in Computational Biology
Computational Science encompasses the use of computing resources to simulate physical systems and predict their behavior, the development of models and simulation of new systems or non-physically accessible systems, and the analysis of the results of experiments or collected data. Our faculty research includes high performance computing, big spatial databases, algebraic and numerical computation, modeling of biological processes, detection of abrupt changes, simulation, Monte Carlo methods, stochastic optimization, statistical simulation, operations research, applications in diagnostic medical imaging, electron and x-ray microscopy, and structural biology.
COURSES
C Sc 76010 Parallel Scientific Computing
C Sc 86100 Algebraic and Numerical Computation
C Sc 86110 Parallel Computation with GPUs
C Sc 86120 Modeling and Simulation
C Sc 86130 Stochastic Optimization by Computer Simulation
C Sc 86140 Stochastic Processes and Computer Simulation
C Sc 86150 Quickest Detection of Abrupt Changes
C Sc 86160 The Science of Finance
C Sc 86170 Sequencing and Scheduling
C Sc 86200 Seminar in Computational Science ( 1 credit)
C Sc 86210 Topics in Computational Science

Computer and Network Security has become an increasingly central research area in Computer Science, due to the rising number of threats and vulnerabilities of our large and networked cyber-infrastucture. Our faculty research includes Cryptography and Applied Security. Cryptography is the mathematical science of communication in the presence of adversaries. Topics of research include the mathematical foundations of secure encryption and authentication, schemes for anonymous and deniable communication, secure protocols for network computing and the theory of algebraic cryptography. Applied Security includes topics such as operating system security, penetration testing, and digital forensics, biometrics security and privacy.
Courses
C Sc 73010 Cryptography and Computer Security
C Sc 83010 Cryptographic Protocols
C Sc 83020 Algebraic Cryptography
C Sc 83030 Modern Cryptography
C Sc 83040 Internet Security
C Sc 83050 Digital Forensics
C Sc 83060 Penetration Testing
C Sc 83070 Biometric Security and Privacy
C Sc 83200 Seminar in Cryptography and Network Security (1 credit)
C Sc 83210 Topics in Cryptography and Network Security
The focus of Data Science is to advance the core scientific and technological means of managing, analyzing, visualizing, and extracting useful information from large, diverse, distributed and heterogeneous data sets to: accelerate the progress of scientific discovery and innovation; lead to new fields of inquiry that would not otherwise be possible; encourage the development of new data analytic tools and algorithms; facilitate scalable, accessible, and sustainable data infrastructure; increase understanding of human and social processes and interactions.

The rapid digitalization of the world in recent decades has made various kinds of data available whose depth and breadth is steadily increasing. The interdisciplinary field of data science aims to derive knowledge or previously hidden insights from usually vast amounts of this new data, both structured and unstructured, by applying and extending methods of statistics, machine learning, data modeling, data mining, data visualization and other fields. In doing so, it applies domain knowledge, often to solve specific problems in business such as fraud detection or marketing optimization but also in other fields like medicine or security. To obtain a dataset that they can work with, data scientists also develop and apply concepts for large-scale data collection, storage and preparation. Our courses in Data Science covers all fundamental concept and techniques of the field as well as latest developments, and prepare students to engage in research of their own. Current faculty research interests include machine learning, pattern recognition, knowledge discovery, modeling and simulation, large complex systems, distributed computing, data mining, data visualization, and more.
Courses
3D Photography
Advanced Data Structures
Algorithms For Big Data Analysis
Artificial Intelligence
Big Data Analytics
Big Spatial Data
Combinatorial Algorithms
Computer Vision And Image Processing
Data Mining
Data Visualization
Database Management Systems
Graph And Social Network Analysis
Graphical Models
Machine Learning
Machine Learning In Quantitative Finance
Modeling and Simulation
Natural Language Processing
Parallel Scientific Computing
Pattern Matching
Programming Massively Parallel Systems
Quickest Detection and Applications
Analysis of Social and Cultural Data
Text Mining and Classification
Vision, Brain and Assistive Technologies
Logic and computability theory were present at the birth of Computer Science. Today logic unites fundamental research and practical developments across a broad range of areas within computer science. Among these are typed theories and languages, logic programming, automated deduction, computer-aided reasoning and verification, knowledge representation and maintenance, fundamentals of epistemic reasoning, logical models of rationality, decision theory with impacts in robotics, data bases, game theory and many other areas. Current faculty interests include computational logic and constructive reasoning, automated theorem proving and verification, theory of typed languages, logics of knowledge and justification, social software studies, epistemic game theory, foundations of computability.
COURSES
C Sc 75100 Logical Fundamentals of Computer Science
C Sc 85310 Knowledge and Games
C Sc 85320 Epistemic Logic and its Applications
C Sc 85330 Proofs and Computation
C Sc 85340 Justification Logic
C Sc 85350 Game Theory and Social Choice
C Sc 85360 Modal Logic
C Sc 85400 Seminar in Computational Logic (1 credit)
C Sc 85401 Seminar in Logic and Games (1 credit)
C Sc 85410 Topics in Logic

Machine learning is a branch of artificial intelligence, concerned with the construction and study of systems that can learn from data. Learning means to make accurate predictions or useful decisions based on past observations and experience. Machine learning has matured to be a highly successful discipline with applications in many areas such as natural language processing, speech recognition, medical image analysis, document image analysis, computer vision, or predicting properties of drugs and genes. The anthropomorphic term learning of the machine learning phrase means being able to predict some unobserved components of the data given some observed components of the data. Other terms related to machine learning are pattern recognition and big data analysis. The data used in machine learning may be numeric or symbolic and typically has the form of an N-tuple, a graph, network or relation.
Courses
List of courses to come.
The Natural Language Processing group focuses on theoretical issues in computational linguistics, in particular, efficient algorithms and data structures for parsing and machine translation, linear-time algorithms, and grammar formalisms. This group also studies structured learning theory (esp. under inexact inference) and online learning theory (esp. online approximations of SVM and parallelizing online learning), and tries to scale them up for big-data in practice. Their work is at the intersection of NLP with compiler theory and programming language, psycholinguistics, theoretical computer science, and computational biology. The group also conducts research into how speech communicates information, with a particular focus on computational approaches to understanding prosody, intonation and how deception operates in spoken communication.
COURSES
CSc 74040 Natural Language Processing
CSc 84000 Advanced Natural Language Processing
Linguistics 73600 Methods in Computational Linguistics I
Linguistics 83800 Methods in Computational Linguistics II
Linguistics 83600 Language Technology

An inverse problem is one of converting observed measurements into information about a physical object or system in which we are interested; for example, in computerized tomography (CT) we need to estimate the density distribution within the human body from multiple x-ray projections. Inverse problems are some of the most important and well-studied problems that arise in many branches of computer science and its applications; including computer vision, natural language processing, machine learning, statistical inference, medical imaging, remote sensing and nondestructive testing. One particular set of inverse problems in computer science comprises those in image analysis, where we wish to extract meaningful information from multidimensional images by means of digital image processing techniques. Image analysis contains the fields of computer or machine vision and medical imaging; it makes heavy use of pattern recognition, digital geometry, and signal processing.
Courses
C Sc 86300 Reconstruction From Projections
C Sc 86310 Inverse Problems in Imaging
C Sc 86320 3D Microscopy Reconstructions
C Sc 86330 Video Target Detection and Tracking
C Sc 86340 Multimodal Sentient Computing
C Sc 86350 Image Analysis
C Sc 86360 Analysis of Image Sequences
C Sc 86400 Seminar in Image Analysis (1 credit)
C Sc 86410 Seminar in Inverse Problems (1 credit)
C Sc 86420 Topics in Image Analysis
C Sc 86430 Topics in Inverse Problems
Theoretical computer science is a division or subset of general computer science and mathematics that focuses on the more abstract or mathematical aspects of computing. It rigorously studies various models of computations such as deterministic and probabilistic, discrete and analogue, sequential and parallel, classical and quantum, biological and chemical. Its main goal is to understand what can be efficiently computed, as in the famous "P vs NP" problem, and how to cope with problems, that are not algorithmically or efficiently solvable. This includes the theory of computation, solvability and unsolvability, logic of programs, formal language theory, and concepts of timing. Current faculty interests include computational geometry, recursion theory, applied logic, and computational complexity.
COURSES
C Sc 75000 Formal Language Theory
C Sc 85100 Computability Theory
C Sc 85110 Computational Geometry
C Sc 85120 Group Theory, Finite Fields, Linear Algebra
C Sc 85130 Graph Theory
C Sc 85140 Infinitary Computability
C Sc 85150 Solving NP-Complete Problems
C Sc 85160 Formal Methods
C Sc 85170 Computable Model Theory
C Sc 85200 Seminar in Theory (1 credit)
C Sc 85210 Topics in Theory