Matthew Dickerson

Professor of Computer Science; Commons Head, Cook

 Mon. 10:30-Noon, Tues. 1:30-3:00 PM, Wed. 9:00-10:00 AM


In 2014, Prof. Matthew Dickerson completed his 25th year as a member of the computer science department at Middlebury College. He earned a BA from Dartmouth College in 1985 and PhD in Computer Science from Cornell University, and was the first faculty member with a Ph.D. in computer science hired by the college. During his 25 years at the college he has received more than ten federal funded research grants including grants through the National Academy of Sciences, NATO, and various NSF programs. His primary research area  has been algorithms and data structures for geometric, geographic, and spatial computing—an area known as computational geometry in which he is internationally known for his work on Voronoi diagrams. He has also done research and published several papers on computer science education, and is in the final year of an NSF grant exploring the use of agent-based modeling in the introductory computer science curriculum. Currently, Professor Dickerson is working on a research project on spatially explicit agent-based modeling of killer whales in southeast Alaska in collaboration with biologists and computer scientists at the NOAA and the University of Alaska.

Prof. Dickerson also did graduate work in Old English Language and Literature and has  published several books including a recent medieval historical novel titled The Rood and the Torc, set in mid 7th century Europe. He is an internationally known scholar on the works of J.R.R.Tolkien with four published books about Tolkien as well as book chapters on Tolkien in five other volumes. 

Computer Science Research

Matthew Dickerson's primary areas of research in computer science are:

  • Algorithms and Data Structures for Computational Geometry
  • Individual-based Modeling and Multi-agent Simulation in Ecology
  • Computer Science Education
  • Geographic Information Systems

Perhaps a broader category describing Dickerson's research interest in spatial computation, which includes geometric and geographic computation, as well as many types of modeling that explicit represent space or "environment". Since coming to Middlebury College, he has published more than 40 papers and videos, and received 9 federal funded grants for his research in computational geometry. His work on Voronoi Diagrams and the Minimum Weight Triangulation is internationally known. He has also served as national president of CCSC (Consortium of Computing Sciences in Colleges) as well as a regional board member of the Northeast CCSC (CCSCNE). He has published several articles and videos on computer science education.

Writing and Literature

Matthew Dickerson has also continued his research and writing about literature, with a special interest in environmental literature and nature writing, and in mythopoeic literature (especially that of J.R.R.Tolkien and C.S.Lewis). He is also an internationally known Tolkien scholar. He has published several books about literature, including: Ents, Elves and Eriador: the Environmental Vision of J.R.R.Tolkien (with Jonathan Evans, University Press of Kentucky, 2006) and Narnia and the Fields of Arbol: the Environmental Vision of C.S.Lewis (with David O'Hara, University Press of Kentucky, 2009) which bring together his interests in environmental and mythopoeic literature. His other titles include:

  • From Homer to Harry Potter: a Handbook of Myth and Fantasy (Brazos Press, 2006)
  • Following Gandalf: Epic Battles and Moral Victory in the Lord of the Rings (Brazos Press, 2004)
  • Hammers and Nails: the Life and Music of Mark Heard (Cornerstone Press, 2004)
  • The Finnsburg Encounter (Crossway Books, 1991)


Course List: 

Courses offered in the past four years.
indicates offered in the current term
indicates offered in the upcoming term[s]

CSCI 0190 - Computing Through Simulation      

Introduction to Computing through Multi-Agent Simulation
In this course we will introduce important topics in the discipline of computer science (including algorithmic reasoning, data abstraction, procedural abstraction, program design, and recursion) in the context of computer modeling and simulation. In particular, we will explore a type of computer simulation known as agent-based modeling as a means of studying phenomena from both biological and social sciences. A significant amount of time will be spent teaching the NetLogo programming language as a software tool for developing simulations. No prior experience in programming is assumed. This course counts as an environmental studies lab science cognate. 3 hrs. lect./lab DED

Spring 2011, Spring 2013, Fall 2013, Spring 2015

More Information »

CSCI 0200 - Math Foundations of Computing      

Mathematical Foundations of Computing
In this course we will provide an introduction to the mathematical foundations of computer science, with an emphasis on formal reasoning. Topics will include propositional and predicate logic, sets, functions, and relations; basic number theory; mathematical induction and other proof methods; combinatorics, probability, and recurrence relations; graph theory; and models of computation. (One CSCI course at the 0100-level previously or concurrently) 3 hrs. lect./lab DED

Spring 2014

More Information »

CSCI 0301 - Theory of Computation      

Theory of Computation
This course explores the nature of computation and what it means to compute. We study important models of computation (finite automata, push-down automata, and Turing machines) and investigate their fundamental computational power. We examine various problems and try to determine the computational power needed to solve them. Topics include deterministic versus non-deterministic computation, and a theoretical basis for the study of NP-completeness. (CSCI 0200 and CSCI 0201) 3 hrs. lect./disc. DED

Fall 2012, Fall 2013

More Information »

CSCI 0302 - Algorithms and Complexity      

Algorithms and Complexity
This course focuses on the development of correct and efficient algorithmic solutions to computational problems, and on the underlying data structures to support these algorithms. Topics include computational complexity, analysis of algorithms, proof of algorithm correctness, advanced data structures such as balanced search trees, and also important algorithmic techniques including greedy and dynamic programming. The course complements the treatment of NP-completeness in CSCI 0301. (CSCI 0200 and CSCI 0201) 3 hrs. lect./disc. DED

Spring 2011, Spring 2014

More Information »

CSCI 0390 - Spatial Agent-Based Modeling      

Spatial Agent-Based Modeling
In this course students will learn efficient data structures and design techniques for spatially-explicit agent-based modeling using the NetLogo programming language. Agent-based modeling techniques will be applied to problems in the social and natural sciences, mathematics and computational sciences, and agent-based games. In this course we will explore advanced programming features of NetLogo such as links, GIS extensions, 3D modeling, and the profiler. Students will design and implement a significant term project. (CSCI 0190 or CSCI 0201). DED

Fall 2014

More Information »

CSCI 0500 - Advanced Study      

Advanced Study
Individual study for qualified students in more advanced topics in computer science theory, systems, or application areas. Particularly suited for students who enter with advanced standing. (Approval required) 3 hrs. lect.

Spring 2011, Fall 2012, Winter 2013, Spring 2013, Fall 2013, Winter 2014, Spring 2014, Fall 2014, Winter 2015, Spring 2015, Fall 2015, Spring 2016

More Information »

CSCI 0702 - Senior Thesis      

Senior Thesis
The senior thesis is required for all CSCI majors who wish to be considered for departmental honors, and is recommended for students interested in pursuing graduate study in computer science. Students will spend the semester researching and writing, and developing and experimenting as appropriate for their topic. All students will be expected to report on their work in the form of a written thesis, a poster, and an oral presentation at the end of the semester. In addition, throughout the semester, students will meet as a group to discuss research and writing, and will be expected to attend talks in the Computer Science lecture series. Before approval to join the class is granted, students are expected to have chosen a thesis adviser from the CSCI faculty, and determined a thesis topic with the guidance and approval of that adviser. (CSCI 0701 and approval required) 3 hrs. lect./disc.

Spring 2013, Spring 2014

More Information »

CSCI 1011 - Computers and Society      

Computers and Society
In this course we will explore and write about important issues related to the impact of computers and computing technology on society. Topics to be explored include privacy and security, privacy and intellectual rights, environmental issues related to computing technologies, and the possibility of computer intelligence. (Approval required) CW WTR

Winter 2015

More Information »

ENVS 0500 - Independent Study      

Independent Study
In this course, students (non-seniors) carry out an independent research or creative project on a topic pertinent to the relationship between humans and the environment. The project, carried out under the supervision of a faculty member with related expertise who is appointed in or affiliated with the Environmental Studies Program, must involve a significant amount of independent research and analysis. The expectations and any associated final products will be defined in consultation with the faculty advisor. Students may enroll in ENVS 0500 no more than twice for a given project. (Approval only)

Winter 2012, Winter 2013, Winter 2014, Winter 2015

More Information »

FYSE 1302 - C.S. Lewis Phil/Imagination      

C.S. Lewis: Ecology, Philosophy, and Imagination
In this course we will explore the writings of C.S.Lewis, with an eye to how important philosophical and theological ideas evident in his non-fiction essays and books find expression in his major works of fantastic fiction: The Chronicles of Narnia and the Ransom Trilogy. Particular emphasis will be given to the implications of his views of nature and ecology (including ecological practices). We will focus on Lewis’s own writing, especially his fantasy novels, but will also read a small selection of writing about Lewis, such as Alan Jacobs’ The Narnian. 3 hrs. sem. CW LIT PHL

Fall 2015

More Information »

FYSE 1363 - Humans, Computers, & Souls      

Humans, Computers, and Souls
In this seminar we will contrast two philosophies of human nature, known as physicalism and integrative dualism. The physicalist view, represented by noted figures such as philosopher Daniel Dennett and biologist Richard Dawkins, understands humans as complex biochemical computers whose minds are reducible to physical brains. A competing view, referred to by philosopher Charles Taliafero as “integrative dualism”, sees humans as both spiritual and physical beings. We will touch on philosophy of computation, philosophy of mind, philosophy of science, and philosophy of soul, with readings from Dennett, Dawkins, Taliafero, and also Raymond Kurzweil, C.S.Lewis, and others. 3 hrs. sem. CW PHL

Fall 2012

More Information »

Department of Computer Science

McCardell Bicentennial Hall
276 Bicentennial Way
Middlebury College
Middlebury, VT 05753