Computer Science Faculty




Dave Augenblick
Augenblick, David

Associate Teaching Professor

Introductory and object-oriented programming, data structures and database systems, computer application project management, applications to engineering

Mark Boady
Boady, Mark

Associate Teaching Professor

Computer algebra, data structures, computations theory, automatic grading, using gaming in education

David E. Breen
Breen, David E.

Professor & Associate Department Head of Graduate Affairs, Computer Science

Computer-aided design, biomedical image informatics, geometric modeling and self-organization

Matt Burlick
Burlick, Matthew

Associate Teaching Professor

Machine learning, computer graphics, data structures and algorithms, discrete structures, computer vision; multi-sensor, multi-model fusion; computer vision and biomedical imaging; unsupervised dynamic class discovery; spatio-temporal tracking and classification

Yuanfang Cai
Cai, Yuanfang


Formal software design modeling and analysis, software economics, software evolution and modularity

Preetha Chatterjee
Chatterjee, Preetha

Assistant Professor Pronouns: she/her/hers/herself

Software engineering, machine learning and natural language processing applications to software engineering, software data analytics, mining software repositories, empirical software engineering

Trip Denton
Denton, Trip

Assistant Teaching Professor

Vasilis Gkatzellis
Gkatzelis, Vasilis

Associate Professor Pronouns: he/him/his/himself

Algorithmic mechanism design, multiagent resource allocation, approximation algorithms

Colin Gordon
Gordon, Colin

Associate Professor Pronouns: he/him/his/himself

Programming languages and formal methods, type systems and program verification for concurrent programs

Sean Grimes
Grimes, Sean

Assistant Teaching Professor

Swarm intelligence, biologically inspired AI, multi-agent systems, software system design

Scott Haag
Haag, Scott

Assistant Research Professor

Shahin Jabbari
Jabbari, Shahin

Assistant Professor Pronouns: he/him/his/himself

Machine learning, algorithmic fairness, game theory

Jeremy Johnson
Johnson, Jeremy

Professor & Department Head, Computer Science

Computer algebra, design and analysis of algorithms, programming languages and compilers, automated performance tuning, algorithms for DSP, parallel processing, and high-performance computing

Constantine Katsinis
Katsinis, Constantine

Teaching Professor

Computer Security, network security, parallel computer architectures, mobile computing, information assurance, fault tolerant systems, image processing and pattern recognition

Ehsan Khosroshahi
Khosroshahi, Ehsan B.

Assistant Teaching Professor

Computational cognitive modeling; AI; machine learning and data analysis.

Edward Kim
Kim, Edward

Associate Professor

Computer Vision, Sparse Coding, Neuromorphic Computing, Medical Image Processing, Computer Graphics, Artificial Intelligence, Game Development

Photo Unavailable
Long, Galen

Assistant Teaching Professor

Geoffrey Mainland
Mainland, Geoffrey

Associate Professor Pronouns: he/him/his/himself

High-level programming languages and runtime support for non-general purpose computation

Spiros Mancoridis
Mancoridis, Spiros

The Auerbach Berger Chair in Cybersecurity
Distinguished Professor of Computer Science

Software engineering, software security, code analysis, evolutionary computation

Adelaida Alban Medlock
Alban Medlock, Adelaida

Teaching Professor & Associate Department Head of Undergraduate Affairs, Computer Science Pronouns: she/her/hers/herself

Introductory programming, computer science education

Brian Mitchell
Mitchell, Brian

Teaching Professor

Software Engineering, Software Architecture, Systems, Cloud Native Computing

Daniel Moix
Moix, Daniel

Associate Teaching Professor

Computer Science Education

Reza Moradinezhad
Moradinezhad, Reza

Assistant Teaching Professor Pronouns: he/they

Generative AI, Human-AI Trust, Ethical AI

Santiago Ontanon
Ontañón, Santiago

Associate Professor

Game AI, computer games, artificial intelligence, machine learning, case-based reasoning

Yusuf Osmanlioglu
Osmanlioglu, Yusuf

Assistant Teaching Professor

Graph theory, combinatorial optimization, approximation algorithms, computational neuroscience, connectomics

Tammy Pirmann
Pirmann, Tammy

Assistant Teaching Professor Pronouns: she/her/hers/herself

Introductory programming, object-oriented programming, game design, mobile computing, computer science education, computer science educator pipeline

Emmanouil Pountourakis
Pountourakis, Emmanouil

Assistant Professor

Algorithmic mechanism design

Jeffrey Salvage
Salvage, Jeffrey

Teaching Professor

Object-oriented programming, multi-agent systems, software engineering, database theory, introductory programming, data structures

Dario Salvucci
Salvucci, Dario


Cognitive science, cognitive architectures, human-computer interaction, human factors, multitasking and interruptions, applications to driving and driver distraction

Kurt Schmidt
Schmidt, Kurt

Associate Teaching Professor

Data structures, math foundation for computer science, programming tools, programming languages

Ali Shokoufandeh
Shokoufandeh, Ali

Professor & Senior Associate Dean for Academic Affairs and Operations Pronouns: he/him/his/himself

Theory of algorithms, graph theory, combinatorial optimization, computer vision

Naomi Sirkin
Sirkin, Naomi

Assistant Professor

Foundations of cryptography

Brian Stuart headshot
Stuart, Brian

Teaching Professor

Machine learning, networking, robotics, image processing, data storage, operating systems, data communications, distributed/operating systems, accelerated computer programming, computer graphics

Nadya Sultanik
Sultanik, Nadya

Assistant Teaching Professor Pronouns: she/her/hers/herself

Eric Sun
Sun, Eric

Assistant Professor

Computer Security and Privacy

Boris Valerstein
Valerstein, Boris

Assistant Teaching Professor

Filippos Vokolos
Vokolos, Filippos

Associate Teaching Professor

System architecture, software engineering, principles of software design and construction, software verification & validation, programming languages, dependable software systems

Kaidi Xu
Xu, Kaidi

Assistant Professor

Deep Learning, Trustworthy Machine Learning

Yue Zhang
Zhang, Yue

Assistant Professor

IoT Security, Mobile Security, Program Analysis