Frans Schalekamp

Frans Schalekamp

Short Biography

I received my PhD in Operations Research from Cornell University in 2007, and have worked both in academia and industry, on three continents. I worked on areas ranging from plant breeding and genetics, to logistics. My former academic positions were at the Institute for Theoretical Computer Science at Tsinghua University in Beijing, China, the Department of Mathematics at the College of William & Mary in Williamsburg VA and the School of Operations Research & Information Engineering at Cornell University in Ithaca NY. I was a Research Scientist at NatureSourceGenetics in Ithaca NY, and a Senior Analyst at CarMax in Richmond VA. I am currently a Visiting Assistant Professor in the Computer Science Department at Cornell University.

My curriculum vitae is available here (pdf).

Research Interests

My research interests lie in optimization, both in practice and theory. I have worked on problems in bioinformatics, sensor networks and information science. My interest in theoretical aspects of optimization is focused in particular on designing approximation algorithms for NP-hard problems, and understanding limitations on finding good solutions to problems. Practical implementations and seeing how well methods do in practice is a further interest. I worked for nearly two years at a startup company in bioinformatics, NatureSourceGenetics, designing practical algorithms for finding good plant breeding strategies.

My publications are listed below.


I will be teaching my favorite course next semester (Fall 2017): ENGRI 1101.

A summary of the courses I have taught previously is available here (pdf). Full teaching evaluations for the courses I taught can be found below.

Teaching Evaluations

The following is a list of the courses I taught, ordered by semester and with links to teaching evaluations:

Cornell University
College of William and Mary

In 2014 I received the Simon Prize for Excellence in the Teaching of Mathematics.

Tsinghua University

At Tsinghua I taught Introduction to Computer Science (freshman, Fall 2008 and Fall 2009 and Advanced Algorithms (junior, Spring 2010) (both of these were joint efforts with Anke van Zuylen).

Teaching Evaluations:


Journal Articles
Work in Progress
Refereed Proceedings


Web Presence

Reading and Teaching Notes

Here are some reading and teaching notes:


fms9 (at) cornell . edu


Anke and I started a wiki when we worked at Tsinghua University, because getting settled in Beijing turned out not to be a trivial task if you're not Chinese (and perhaps also if you are!) It was a work in progress, and parts of it will be outdated already, but it may still be useful, also for visitors of Tsinghua University. The original wiki is no longer accessible, but they are archived on Information for Visitors, Working at iTcs and Living in Beijing.

FRT Tree Embedding

The following is a run of the tree embedding algorithm due to Fakcharoenphol, Rao, Talwar (2003) (click each individual picture for a larger version):

(order of nodes = 3 2 13 11 15 8 14 4 5 6 12 7 10 9 1 0)

One of these pictures was used on the cover of the book The Design of Approximation Algorithms by David Williamson and David Shmoys:

This is the (not very clean) implementation I made some years ago in java. The implementation of the FRT algorithm is in; hopefully gives an idea how to use it. The output is encapsulated postscript, with some information about the tree in LaTeX format below it. If you save the output to a file, you can get different levels by changing the number (1) on line 11 (if I remember correctly it is supposed a power of 2).