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

M. Brian Blake
Blake, M. Brian

Nina Henderson Provost and Distinguished Professor of Systems and Software Engineering

Software engineering approaches for integration of Web-based systems

Mark Boady
Boady, Mark

Assistant Teaching Professor

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

David Breen
Breen, David E.

Associate Professor

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

Matt Burlick
Burlick, Matthew

Assistant 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

Associate Professor; Associate Department Head of Graduate Affairs

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

Bruce Char
Char, Bruce


Symbolic mathematical computation, algorithms and systems for computer algebra, parallel and distributed computation, computer science education, use of computing for STEM education.

Vasilis Gkatzellis
Gkatzelis, Vasilis

Assistant Professor

Algorithmic mechanism design, multiagent resource allocation, approximation algorithms

Photo Unavailable
Gordon, Colin

Assistant Professor

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

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

Geoffrey Mainland
Mainland, Geoffrey

Associate Professor

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
Medlock, Adelaida Alban

Associate Teaching Professor

Introductory programming, computer science education

William Mongan
Mongan, William

Assistant Professor

Service-oriented architectures, program comprehension, computer systems and architecture, computer science education, signal processing, data fusion

Kyzysztof Nowak
Nowak, Krzysztof

Associate Teaching Professor

Fourier analysis, partial differential equations, image processing, wavelets, asymptotic distribution of eigenvalues, numerical methods and algorithms, computer science education

Santiago Ontanon
Ontañón, Santiago

Associate Professor

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

Tammy Pirmann
Pirmann, Tammy

Assistant Teaching Professor

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

Jeff Popyack
Popyack, Jeffrey


Operations research, stochastic optimization, computational methods for Markov decisions processes, artificial intelligence, computer science education

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 of Research and Operations

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

Brian Stuart headshot
Stuart, Brian

Associate Teaching Professor

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

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