Picture of John Foley

John Foley

Assistant Professor of Computer Science at Middlebury College

Visiting Assistant Professor at Smith College (2018-2020)
Research Assistant, PhD Student at UMass Amherst (2013-2019)


Information Retrieval; Digital Humanities

The core of my research is in promoting access to information through classification, categorization, and retrieval with a focus on digital library data. As a result, I am always pursuing the balance between efficient, explainable, and effective machine learning systems.

Poetry Corpus

The largest publicly-available collection of poetry.

Over the past few years I have worked with various students to automatically extract, curate, and search poetry extracted from public-domain books.


Recent & Future Courses
  • Spring 2021
    • CS701: Senior Seminar
    • CS451: Machine Learning
  • Fall 2020
    • CS145: Introduction to Computing
  • Spring 2020 @ Smith College
    • CSC212: Data Structures
    • CSC262: Operating Systems


Empathy for Students, a Listicle.
10 ways to have empathy for students when COVID (and remote learning) has exacerbated economic and social barriers to learning.
Letter to Smith Students
My time as a Visiting Assistant Professor at Smith College is coming to an end.
FastRank alpha release
FastRank is a new python library implemented in Rust that supports Coordinate Ascent and Random Forest learning-to-rank models.