Mark Hopkins


I’m a Visiting Associate Professor of Computer Science at Reed College. My research focuses on machine learning, knowledge representation, and uncertain reasoning, particularly as applied to natural language tasks.

Recent Research Highlights

Extending a Parser to Distant Domains Using a Few Dozen Partially Annotated Examples (ACL 2018): We revisit domain adaptation for parsers in the neural era. (pdf) (bib)

Beyond Sentential Semantic Parsing: Tackling the Math SAT with a Cascade of Tree Transducers (EMNLP 2017): Describes work done at the Allen Institute for Artificial Intelligence to build a system that can take the math portion of the Scholastic Aptitude Test (SAT). This approach provides the foundation of the Euclid system. (pdf) (bib) (demo)

Odd Man Out: Exploring the Associative Power of Lexical Resources (EMNLP 2018): A simple task, determining the “odd-man-out” from a set of choices, can be an effective means of comparing and contrasting the power of taxonomies and vector embeddings. (pdf) (bib)


CSCI 377: Artificial Intelligence (Fall 2018, course page): Full course for one semester. An introduction to building systems that emulate intelligent behavior. Topics include knowledge representation, reasoning under uncertainty, logic, planning, and algorithmic strategies for searching exponential spaces. As the course proceeds, students will explore certain topics in depth through a sequence of related projects. Prerequisites: Computer Science 221, Mathematics 113.

CSCI 121 – Computer Science Fundamentals I (Fall 2018, course page): Full course for one semester. An introduction to computer science, covering topics including elementary algorithms and data structures, functional and procedural abstraction, data abstraction, object orientation, logic, and the digital representations of numbers. Emphasis is on mathematical problems and calculations and on recursive algorithms and data structures. The course includes a significant programming laboratory component where students will solve computational problems using a high-level language. The mechanisms for processing and executing programs will be surveyed. Prerequisite: three years of high school mathematics.