Faculty Profile

John MacCormick

Professor of Computer Science (2007)

Contact Information

jmac@dickinson.edu

Tome Scientific Building
717-245-1626

Bio

John MacCormick’s work in computer science spans several sub-fields, including computer vision, large-scale distributed systems, computer science education, and the public understanding of computer science. He is the author of four books, including Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers and Thinking AI: How Artificial Intelligence Emulates Human Understanding. Dr. MacCormick holds 19 US patents on novel computer technologies and is the author of numerous peer-reviewed articles; his Nine Algorithms book has been translated into eight languages. Dr. MacCormick was a research fellow at Linacre College, Oxford from 1999-2000, a research scientist at HP Labs from 2000-2003, and a computer scientist with Microsoft Research from 2003-2007. He joined the Dickinson faculty in 2007.

Education

  • B.A., University of Cambridge, 1993
  • M.S., University of Auckland, 1996
  • Ph.D., University of Oxford, 2000

2026-2027 Academic Year

Fall 2026

MATH 121 Elementary Statistics
An introduction to the science of collecting, organizing, analyzing, and interpreting data. The focus is on data presentation and statistical reasoning based upon the analysis of data sets. Topics include the study of sampling methods, observational and experimental studies, graphical and numerical summaries of data, probability, sampling distributions, significance testing, estimation, and simple linear regression. Does not count toward the major or minor in mathematics.Students cannot take this course concurrently with 225. Students who have received credit for 225 cannot take this course for credit. Offered every semester.

COMP 190 Tools & Techn Soft Develop
An introduction to the Unix command line environment, shell scripting, system administration, debugging tools and version control. Skills developed will be applied in the context of a Humanitarian Free and Open Source Software (HFOSS) project. Case studies of social, legal and ethical issues raised by computing and computing for the greater good will complement the technical skill development. Prerequisite: 132, may be taken concurrently. One-half credit. Graded CR/NC. 75 minutes of classroom per week. Offered every fall.

COMP 364 Artificial Intelligence
A survey of techniques for applying computers to tasks usually considered to require human intelligence. Topics include knowledge representation and reasoning, search and constraint satisfaction, evolutionary and genetic algorithms, machine learning, neural networks, and philosophical questions. Prerequisites: 232 and MATH 211. Offered in even numbered fall semesters.

Spring 2027

COMP 130 Introduction to Computing
An introduction to computer science as a scientific discipline. The key elements of computer programming will be introduced, using the Python programming language. This leads to techniques for solving problems and conducting scientific investigations via computation. Core topics include: programming constructs such as conditionals, loops, functions, and parameters; data structures such as arrays and dictionaries; libraries and objects; algorithmic techniques such as recursion; and software engineering techniques such as testing and debugging. Additional topics include social, legal and ethical issues raised by computing and computing for the greater good.Students may not take this course for credit if they have already received credit for COMP 132 or COMP 232.

COMP 393 Agentic AI
A study of the theory and practice of artificial intelligence systems that act as independent agents. Readings in the cognitive, philosophical, and ethical aspects of agentic AI will be complemented by study of the tools and skills needed to effectively employ agentic AI systems. One credit. Pre-req COMP 190.