Faculty Profile

John MacCormick

Associate Professor of Computer Science (2007)

Contact Information


Tome Scientific Building Room 242


John MacCormick has degrees in mathematics from the University of Cambridge and the University of Auckland, and a doctorate in computer vision from the University of Oxford. He 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. Professor MacCormick joined the faculty of the Department of Mathematics and Computer Science at Dickinson College in Fall 2007. He is the author of two books (Stochastic Algorithms for Visual Tracking, and Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers), has filed over a dozen US patents on novel computer technologies, and is the author of numerous peer-reviewed academic conference and journal papers. His work spans several sub-fields of computer science, including computer vision, large-scale distributed systems, computer science education, and the public understanding of computer science.


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

2015-2016 Academic Year

Fall 2015

FYSM 100 First-Year Seminar
The First-Year Seminar (FYS) introduces students to Dickinson as a "community of inquiry" by developing habits of mind essential to liberal learning. Through the study of a compelling issue or broad topic chosen by their faculty member, students will: - Critically analyze information and ideas - Examine issues from multiple perspectives - Discuss, debate and defend ideas, including one's own views, with clarity and reason - Develop discernment, facility and ethical responsibility in using information, and - Create clear academic writing The small group seminar format of this course promotes discussion and interaction among students and their professor. In addition, the professor serves as students' initial academic advisor. This course does not duplicate in content any other course in the curriculum and may not be used to fulfill any other graduation requirement.

COMP 356 Programming Lang Structure
An examination of the major programming language paradigms. The course also explores the basic properties and special facilities of languages representing each paradigm. Topics include data types, scope rules, block structures, procedure calls and parameter types, and storage allocation considerations. Prerequisite: 232. Offered every fall.

Spring 2016

COMP 314 Theoretical Found of Comp Sci
Cross-listed with MATH 314-01.

MATH 314 Theoretical Found of Comp Sci
Cross-listed with COMP 314-01.

COMP 492 Spring Senior Seminar
A continuation of the project begun in 491 culminating in a written thesis and public presentation. Additional contemporary issues in computer science may be considered. Prerequisite: 491. Offered every spring.