Picture of John Foley's Head

John Foley

Job Status (Fall 2020)

I am excited to announce that I will be a tenure-track Assistant Professor of Computer Science at Middlebury College in Vermont, starting Fall 2020.

This means that my 2-year appointment as a Visiting Assistant Professor at Smith College is coming to an end 30 June 2020. I have written a letter to my Smith students about my time here in Northampton, and leaving while teaching remotely.

Remote Teaching (Spring 2020)

Due to the unprecedented nature of remote teaching, my website course info is out-of-date.

  • CSC212: Data Structures -- all content is being driven by Piazza, Moodle and our renovated Quiz System
  • CSC262: Operating Systems -- all content is in our shared Google Drive folder.
  • Office Hours -- all office hours are during our original class times, or by appointment now. Send me an email if you want to chat!


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.

Did I mention I extracted the largest publicly-available digital collection of poetry in the world as part of my thesis? And you can search some of it online, right now?

Check out a list of my publications.

Recent Blog Posts [all]

  • 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.

  • Clickbait for TREC News
    The predicted probability of being clickbait for a WaPo article helps select better background articles in a large learning-to-rank model.

subscribe via RSS