Algorithms and Data Structures in Java, Brown University Spring 2014