Middlebury

 

Matthew Dickerson

Professor of Computer Science

Email: 
Phone: work802.443.5460
Office Hours: M & F 11:15 AM - Noon, T 10:30 AM - Noon, W 2:15 - 3:30 PM.
Download Contact Information

Background

Matthew Dickerson has been teaching at Middlebury College since 1989. He is a member of both the Computer Science Department (Chair from 2007-2010) and the Program of Environmental Studies. He is also the Director of the New England Young Writers Conference at Breadloaf, and a regular contributor of courses in the Writing Program, having taught WRPR 0204 four times since 2006.

Dickerson did graduate work at Cornell University in both Computer Science and in Old English Language and Literature, earning a Ph.D. in Computer Science in 1989 (though with a member of the English Department on his dissertation committee).

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)
 

Courses

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

CSCI 0101 - The Computing Age      

The Computing Age
In this course we will provide a broad introductory overview of the discipline of computer science, with no prerequisites or assumed prior knowledge of computers or programming. A significant component of the course is an introduction to algorithmic concepts and to programming using Python; programming assignments will explore algorithmic strategies such as selection, iteration, divide-and-conquer, and recursion, as well as introducing the Python programming language. Additional topics will include: the structure and organization of computers, the Internet and World Wide Web, abstraction as a means of managing complexity, social and ethical computing issues, and the question "What is computation?" 3 hr. lect./lab

DED

Spring 2010

More Information »

CSCI 0102 - Math Foundations of Computing      

Mathematical Foundations of Computing
An introduction to the mathematical foundations of computer science, with an emphasis on formal reasoning. Topics 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. (CSCI 0101 previously or concurrently) 3 hrs. lect./disc.

DED

Spring 2009

More Information »

CSCI 0190 - Computer Models & Simulation      

Computer Models and Multi-Agent Simulation
In this course we will explore agent-based computer models and simulations as a means of studying phenomena from both biological and social sciences. Agent-based simulation will then be used as a basis for introducing individual-based modeling and complex adaptive systems. A significant amount of time will be spent teaching the NetLogo programming language as a software tool for developing simulations. We will also introduce some of the important topics in the discipline of computer science, including algorithmic reasoning and data abstraction. No prior experience in programming is assumed. This course counts as an environmental studies lab science cognate. 3 hrs. lect./lab

DED

Fall 2009, Spring 2011, Spring 2013, Fall 2013

More Information »

CSCI 0201 - Data Structures      

Data Structures
In this course we will study the ideas and structures helpful in designing algorithms and writing programs for solving large, complex problems. The Java programming language and object-oriented paradigm are introduced in the context of important abstract data types (ADTs) such as stacks, queues, trees, and graphs. We will study efficient implementations of these ADTs, and learn classic algorithms to manipulate these structures for tasks such as sorting and searching. Prior programming experience is expected, but prior familiarity with the Java programming language is not assumed. (One CSCI course at the 0100-level) 3 hrs. lect./lab

DED

Fall 2009

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 2010, 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 2010, Spring 2011

More Information »

CSCI 0425 - Computational Geometry      

Computational Geometry
Computational geometry involves the design and analysis of algorithms and data structures for the solution to problems of a geometric and computational nature. It is an old field, involving aspects of algorithms, geometry, combinatorics and probability, whose roots can be found in algorithmic questions posed by Euclid. Modern applications of computational geometry include geographic information systems, medical imaging, computer-aided design, and robotics. This course will explore some famous problems in computational geometry, including convex hulls, Voronoi diagrams, proximity problems, and triangulations. (CSCI 0200 and CSCI 0201) 3 hrs. lect./lab

DED

Spring 2009

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 2009, Fall 2009, Winter 2010, Spring 2010, Fall 2010, Winter 2011, Spring 2011, Fall 2012, Winter 2013, Spring 2013, Fall 2013, Spring 2014

More Information »

CSCI 0702 - Senior Seminar      

Senior Seminar
Each student will complete a major capstone project in this course. This project can take the form of either (1) a thesis on a topic chosen with the advice of a faculty member, or (2) a group programming project approved by the computer science faculty. All students will present their work at the end of the semester. In addition, during the academic year, all seniors are expected to attend a series of lectures designed to introduce and integrate ideas of computer science not covered in other coursework. 3 hrs. lect./disc

Spring 2013, Spring 2014

More Information »

ENVS 0500 - Independent Study      

Independent Study
A one- or two-semester research project on a topic that relates to the relationship between humans and the environment. The project, carried out under the supervision of a faculty member with related expertise, must involve a significant amount of independent research and analysis. Students may enroll in ENVS 0500 no more than twice for a given project. (Approval only)

Winter 2010, Winter 2011, Winter 2012, Winter 2013

More Information »

FYSE 1302 - C.S. Lewis Phil/Imagination      

C.S. Lewis: Ecology, Philosophy, and Imagination
In this seminar 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 view of nature and ecology. 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.

CW LIT PHL

Fall 2010

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 »

INTD 1059 - Tolkien's Middle-Earth      

Exploring Tolkien's Middle-Earth
In a long letter to his publisher describing his Middle-earth writings, J.R.R.Tolkien once wrote, “I had a mind to make a body of more or less connected legend, ranging from the large and cosmogonic, to the level of romantic fair-story—the larger founded on the lesser in contact with the earth, the lesser drawing splendour from the vast backclothes.” In this course we will explore how Tolkien achieved this, looking at the ideas and relationships running between his romantic fairy-story (The Hobbit), his heroic romance (The Lord of the Rings), and his cosmogonic myth (The Silmarillion).

LIT WTR

Winter 2011

More Information »

WRPR 0204 - Writing on Nature and Ecology      

CW LIT

Spring 2010

More Information »