Home » Departments » Computer Science and Engineering » Computer Science and Engineering Research

Computer Science and Engineering Research

Woman reading lines of code on computer screen

Algorithms, Logic, and Complexity

The goal of pragmatic computer science is to develop systems that fully exploit the capabilities of current computer technology. The goal of theoretical computer science is to understand the underlying principles of information processing, principles that are invariant with respect to technological change. Some of the areas we are investigating are described below.

An algorithm with exponential asymptotic running time is of limited practical value regardless of future advances in hardware technology. Members of the faculty are searching for efficient, practical algorithms to solve problems in coding, scheduling, logic, computational geometry, information retrieval, and programming-language optimization. We are also studying the approximation properties of NP optimization problems and developing methods for establishing both positive and negative approximation results for such problems.

Faculty: Seshadhri Comandur, Luca de Alfaro, Ioannis Demertzis, Daniel Fremont, David Helmbold (Emeritus), Phokion G. Kolaitis (Emeritus), Alexandra Kolla, Allen Van Gelder

Close up of computer chip

Computer Hardware: Architecture, VLSI (Chip Design), FPGAs, and Design Automation

Computer hardware research at UCSC centers around the Hardware Systems Collective with several related areas: computer architecture, VLSI (chip design), FPGA design, and design automation. UCSC researchers in these areas publish in conferences such as ASPLOSDACICCADISCA, and MICRO. Computer hardware research has gained interest for hardware acceleration and custom architectures for machine learning, signal processing, and other compute-intensive algorithms. Computer architecture research spans the gamut from edge devices like phones to data-center scale computing and includes topics such as high-performance computing (HPC) and low-power design. VLSI (Chip Design) creates new circuits and design styles using emerging technologies to improve power, performance, and reliability of future computer systems. FPGA design investigates methods for fast prototyping, verification and hardware acceleration. Design Automation investigates Electronic Computer-Aided Design (CAD) to improve designer productivity and optimize large-scale design problems.

Faculty: Scott Beamer, Alexandre Brandwajn (Emeritus), Matthew Guthaus, Richard Hughey, Sung-Mo Steve Kang (Emeritus), Tracy Larrabee, Heiner Litz, Sagnik Nath, Dustin Richmond, Jose Renau, Martine Schlag, Tyler Sorensen, Anujan Varma (Emeritus)

Research labs: Hardware Systems Collective

Computer screen with lines of code

Computer Security and Privacy

Current research interests at UCSC include secure file systems, language-based security, information flow control, authorization logic, systems and network security, decentralized systems, IoT security, and differential privacy.

Faculty: Martin Abadi (Emeritus), Owen Arden, Alvaro A. Cardenas, Ioannis Demertzis, Ethan L. Miller, Darrell Long, Chen Qian

Cables plugged into servers

Cyber-Physical Systems

Faculty in Cyber-Physical Systems work at the intersection of the cyber and physical worlds. Their research span a wide range of areas in CS, CE, and EE including algorithms, networks and their protocols, control, and physical hardware (sensing, actuation, and computation) to enable automated systems to perform a variety of tasks. This includes research in Internet of Things, pervasive computing, applied control applications, navigation, sensor fusion, security, UAVs, UGVs, ASVs, satellite systems, flexible and deformable robots, soft robotics, hybrid control, medical devices and applications, and embedded systems.

Faculty: Alvaro A. Cardenas, Gabriel Elkaim (ECE), J.J. Garcia-Luna-Aceves, Patrick Mantey (ECE), Dejan Milutinovic (ECE), Katia Obraczka, Chen Qian, Ricardo Sanfelice (ECE), Mircea Teodorescu (ECE)

Abstract wires and lights

Distributed Systems

The field of distributed systems studies the design, implementation, and behavior of systems that involve independent components that communicate by passing messages to one another over a network. In addition to the usual challenges of concurrency, distributed systems may involve unbounded latency between components and independent failure of components, making distributed systems difficult to reason about and debug. Distributed systems research at UCSC spans a range of subjects, from the theoretical to the applied.

Faculty: Peter Alvaro, Lindsey Kuper, Heiner Litz, Patrick Mantey (ECE), Ethan L. Miller, Dejan Milutinovic (ECE), Alexander Wolf

Network of lights overlayed on cityscape

Database Systems

The database research at UCSC is working on the areas of data provenance, annotations, archiving, data integration, scientific databases, database query languages, combinatorial optimization of database problems, and succinct data structures for applications on networks, distributed storage, and bioinformatics.

Faculty: Peter Alvaro, Ioannis Demertzis, Lise Getoor, Phokion G. Kolaitis (Emeritus), Chen Qian

Abstract representation of a brain

Machine Learning and Artificial Intelligence

Machine learning (ML) and Artificial intelligence (AI) address the challenging task of developing systems whose behavior may be learned by machines and termed intelligent. AI techniques have been applied to problem domains including natural language processing, robotics, expert systems, automatic programming, combinatorial problem solving, perceptual problems, computer vision, image processing, and geo-spatial visualization. Despite the diverse nature of these domains, they all benefit from AI methodologies developed for knowledge representation, efficient search, deduction, and learning.

Faculty: Luca de Alfaro, Jeffrey Flanigan, Lise Getoor, Leilani Gilpin, David Helmbold (Emeritus), Phokion G. Kolaitis (Emeritus), Yang Liu, Suresh Lodha, Narges Norouzi, Ira Pohl (Emeritus), Allen Van Gelder, Marilyn Walker, Xin Eric Wang, Cihang Xie, Yi Zhang, Yuyin Zhou

Lights with bokeh effect, and lines connecting dots

Natural Language Processing

The field of Natural Language Processing (NLP) develops computational models of the language that humans speak and write in all its forms, such as news, social media and conversation. Because human language is everywhere, there are a large range of theories, techniques and applications. Research in NLP incorporates aspects of machine learning, data science, and linguistic knowledge because of the large volume and types of NLP data and wide range of human languages, and the associated challenges with being able to understand and generate language across these many different settings. NLP applications include search, information retrieval, knowledge extraction from text, causal models, biomedical informatics, conversational modeling, customer care, dialogue systems, sentiment analysis, recommender systems, speech recognition, narrative understanding, machine translation, and the summarization and generation of text.

Faculty: Jeffrey Flanigan, Lise Getoor, Marilyn Walker, Xin Eric Wang, Yi Zhang

Network of points and segments

Networks

Computer network research at UCSC covers a variety of topics, including design, implementation, analysis, evaluation, testing, and deployment of protocols at different layers of the network stack, network security, software defined networking, network measurement and management, wireless and sensor networks, pervasive computing, network function virtualization, cloud and data center networks, Internet of Things, and network economics.

Faculty: Martin Abadi (Emeritus), Alexandre Brandwajn (Emeritus), J. J. Garcia-Luna-Aceves, Patrick Mantey (ECE), John Musacchio, Katia Obraczka, Chen Qian, Ricardo Sanfelice (ECE), Brad Smith, Anujan Varma (Emeritus), Alexander Wolf

Woman wearing and interacting with VR headset

Pervasive Computing and Human-Computer Interaction

The pervasive computing and human-computer interaction research at UCSC focuses on improving the experience of using computing resource in human life and providing convenience of computing to people with special needs. We study the technologies of computer vision, wireless sensing, RFID systems, and cross-technology data fusion.

Faculty: Roberto Manduchi, Chen Qian

Abstract representation of language learning model, showing collections of words

Programming Languages

Research in this area is concerned with the semantics, design, implementation, and analysis of programming languages. This research includes investigations of core topics, such as type systems, compilers, and program analysis, and also deals with applications in software engineering and security. It combines theory (often based on methods from logic) and experimental work (often overlapping with software engineering).

Faculty: Martin Abadi (Emeritus), Owen Arden, Cormac Flanagan, Daniel Fremont, Lindsey Kuper, Charlie McDowell (Emeritus), Ira Pohl (Emeritus), Jose Renau, Tyler Sorensen, Allen Van Gelder

Research Laboratories: Languages, Systems, and Data Lab

Game pieces arranged in networks

Social Computing

Computers make inferences from the noisy data produced by the people. How can we ensure that people collaborate productively, and that reliable information is produced as the result of the collaboration? How can we model and predict the dynamics of crowds exposed to flows of information they can reshare and comment on? This research area encompasses reputation systems, crowdsourcing, social computing, game theory, social choice and behavioral incentives, and the study of the dynamics arising from modern means of information transmission and resharing.

Faculty: James Davis, Luca de Alfaro, Lise Getoor, Leilani Gilpin, Yang Liu, Suresh Lodha, Xin Eric Wang, Yi Zhang

Close up of computer chip and hardware

Storage Systems

Improving the performance, reliability, security, and usability of storage systems is a major research area in the Computer Science and Engineering Department. Our research in storage fits broadly into several categories: investigating the use of next-generation storage devices such as non-volatile memory; improving the performance of existing storage systems; improving the reliability and security of storage systems; and design and implementation of scalable storage systems for data centers and high-performance computing. This research is applied to both active data and archival storage, and is applied to levels of the storage stack ranging from the hardware level through the operating system level to applications.

Faculty: Peter Alvaro, Scott Brandt, Heiner Litz, Darrell Long, Ethan L. Miller, Chen Qian

CSE Professor Alex Pang's hands holding shoreline monitor camera

Visual Computing: Computer Vision, Visualization and Graphics

The science of analyzing and processing visual information (images, videos, 3D data streams) is important if compute systems are to interact with or understand the real world. Producing visual data is important if humans are to interact with or understand what is being computed. The vast majority of the bits analyzed, processed, or streamed in any modern computing system originated in a camera or are destined for human eyeballs. Self driving cars need to see and understand the world. Augmented reality requires tracking the current position of the goggles or mobile phone. The results of analyzing a mountain of data need to be visualized in a way humans understand. Research at UCSC spans from fundamental technologies to applications. Example applications include using a phone camera to assist blind users, analyzing webcam footage to detect ocean rip currents, or helping organize internet photo collections. Example fundamental technologies include text detection in images, improving the quality of time-of-flight 3D data, and building new kinds of 3D sensors.

Faculty: James Davis, Suresh Lodha (Emeritus), Alex Pang, Roberto Manduchi, Allen Van Gelder, Xin Eric Wang, Cihang Xie, Yuyin Zhou