[an error occurred while processing this directive]

Skip to Content

James Cohoon

James Cohoon

Associate Professor of Computer Science

Phone: (434) 982-2210
Fax: (434) 982-2214
Email: cohoon@cs.virginia.edu
Home Page: James Cohoon

Department of Computer Science
School of Engineering and Applied Science
University of Virginia
151 Engineer‘s Way, P.O. Box 400740
Charlottesville, Virginia 22904-4740

"Have mind, will travel."

Areas Of Interest

Algorithms, design automation, computational geometry, parallel computing, probabilistic search, genetic algorithms, simulated annealing, and diversity in computer science education.

Biographical Sketch

Jim Cohoon received his Ph.D. in Computer Science from the University of Minnesota in 1982. He joined the University of Virginia in 1983 as an Assistant Professor of Computer Science and was promoted to Associate Professor in 1989. He was a Fulbright Scholar in 1993. He has directed four Ph.D. theses and 20 MS students, and is the author or co-author of five books, three book chapters, and over sixty papers. He served as chair of the ACM Special Interest Group on Design Automation (SIGDA) from 1993-1997, and he received SIGDA's Design Automation Fellowship (1990), Outstanding Member Award (1991), and Leadership Award (1997). In 1997 he also received the McGraw-Hill "Most Successful New title" Award for his best-selling C++ textbook (co-authored with Jack Davidson). He received the Department's first annual Teaching Award in 1998, and the ACM-SIGDA Outstanding Member award in 2004. He served on the ACM Publication Board, the ACM SIG Governing Board's Executive Committee, the ACM-SIGDA Advisory Board, and the ACM Council.


Cohoon investigates application areas such as VLSI design automation, transport scheduling and routing, and Computer Science education. His interdisciplinary approach applies and extends nontraditional techniques such as computational geometry, probabilistic search, genetics, and parallel computing. Together, he and his students produce state-of-the-art tools that are practical as well as theoretically interesting. For example, Spiffy and Upstart form a complete performance-oriented VLSI layout package for FPGAs; and Presto is a new genetic algorithms paradigm and infrastructure that speeds up searches considerably. He also developed tools for rapid prototyping with 3D-FPGAs.

Selected Publications