James Cohoon headshot

James P. Cohoon

Associate Professor
Unit: School of Engineering and Applied Science
Department: Department of Computer Science
Office location and address
Rice 424
85 Engineers Way
Charlottesville, Virginia 22903
B.S. ​Ramapo College of New Jersey, 1976
M.S. ​Pennsylvania State University, 1978
Ph.D. ​University of Minnesota, 1982

Jim Cohoon received his Ph.D. in Computer Science from the University of Minnesota and is an Associate Professor at the University of Virginia. He is an Associate Chair for its Department of Computer Science and Director of its undergraduate BS program. He is a former Fulbright Scholar and winner of the IEEE Computer Science Taylor L. Booth Education Award. He has been a member of ACM Council and the ACM SIG Governing Board Executive Committee, and is a past chair of the ACM SIG for Design Automation. Jim Cohoon has co-authored several programming language textbooks. His research interests are swarm algorithms and models, probabilistic search, routing, and Computer Science education and broadening participation. He and his students produce state-of-the-art tools that are practical as well as theoretically interesting. In Computer Science education Jim Cohoon is a proponent of continuous active learning, continuous active student recruiting, and regular outreach.

Increasing Diversity and Engagement in Undergraduate Computing with Enhanced Collaborative Learning
Source: U.S. NSF - Directorate For Ed. & Human Resources
August 15, 2017 – July 31, 2022
EN-ES Collaborative Research: Lighthouse CC: Professional Development for Community College Computer Science Faculty
Source: U.S. NSF - Directorate For Ed. & Human Resources
September 01, 2014 – February 28, 2022
Tapestry workshop
Source: University Of Texas
August 01, 2018 – August 10, 2018
BPC-LSA: Training High School CS Teachers to Attract More & Diverse Students
Source: U.S. NSF - Directorate Computer & Info. Sciences
September 01, 2010 – August 31, 2017
CS 1112: Introduction to Programming
Credits: 3
A first course in programming, software development, and computer science. Introduces computing fundamentals and an appreciation for computational thinking. Prerequisite: Students must have no previous programming experience. Note: CS 1110, 1111, 1112, 1113, and 1120 provide different approaches to teaching the same core material; students may only receive credit for one of these courses.
CS 2501: Special Topics in Computer Science
Credits: 1–3
Content varies, depending on instructor interests and the needs of the Department. Taught strictly at the undergraduate level. Prerequisite: Instructor permission; additional specific requirements vary with topics.
CS 3240: Advanced Software Development Techniques
Credits: 3
Analyzes modern software engineering practice for multi-person projects; methods for requirements specification, design, implementation, verification, and maintenance of large software systems; advanced software development techniques and large project management approaches; project planning, scheduling, resource management, accounting, configuration control, and documentation. Prerequisite: CS 2150 with a grade of C- or higher.
CS 4710: Artificial Intelligence
Credits: 3
Introduces artificial intelligence. Covers fundamental concepts and techniques and surveys selected application areas. Core material includes state space search, logic, and resolution theorem proving. Application areas may include expert systems, natural language understanding, planning, machine learning, or machine perception. Provides exposure to AI implementation methods, emphasizing programming in Common LISP. Prerequisite: CS 2150 with grade of C- or higher.
CS 4980: Capstone Research
Credits: 1–3
This course is one option in the CS fourth-year thesis track. Students will seek out a faculty member as an advisor, and do an independent project with said advisor. Instructors can give the 3 credits across multiple semesters, if desired. This course is designed for students who are doing research, and want to use that research for their senior thesis. Note that this track could also be an implementation project, including a group-based project. Prerequisite: CS 2150 with a grade of C- or higher
CS 4991: Capstone Technical Report
Supports the writing of the technical report component of the fourth-year thesis, credit for which is given in STS 4600. Students will write the report assuming a non-technical audience. The course is part of the CS 4XXX elective option in the fourth-year CS thesis track. BS CS 4th years (both first & second majors) and pre- or co-requisite STS 4500
CS 4993: Independent Study
Credits: 1–3
In-depth study of a computer science or computer engineering problem by an individual student in close consultation with departmental faculty. The study is often either a thorough analysis of an abstract computer science problem or the design, implementation, and analysis of a computer system (software or hardware). Prerequisite: Instructor permission.
CS 4998: Distinguished BA Majors Research
Credits: 3
Required for Distinguished Majors completing the Bachelor of Arts degree in the College of Arts and Sciences. An introduction to computer science research and the writing of a Distinguished Majors thesis. Prerequisites: CS 2150 or CS 2501 topic DSA2 with a grade of C- or higher, and BSCS major
CS 6890: Industrial Applications
Credits: 1
A graduate student returning from Curricular Practical Training can use this course to claim one credit hour of academic credit after successfully reporting, orally and in writing, a summary of the CPT experience to his/her academic advisor.
CS 7993: Independent Study
Credits: 1–12
Detailed study of graduate course material on an independent basis under the guidance of a faculty member.
CS 7995: Supervised Project Research
Credits: 3
Formal record of student commitment to project research for the Master of Computer Science degree under the guidance of a faculty advisor.
CS 8897: Graduate Teaching Instruction
Credits: 1–12
For master's students who are teaching assistants.
CS 8999: Thesis
Credits: 1–12
Formal record of student commitment to thesis research for the Master of Science degree under the guidance of a faculty advisor. May be repeated as necessary.
CS 9897: Graduate Teaching Instruction
Credits: 1–12
For doctoral students who are teaching assistants.
CS 9999: Dissertation
Credits: 1–12
Formal record of student commitment to doctoral research under the guidance of a faculty advisor. May be repeated as necessary.

IEEE Computer Society Taylor Booth Education Award for outstanding efforts to transform introductory computer science education

University of Virginia School of Engineering and Applied Science Harold S. Morton Award for Teaching