Bill Jannen

Email:

jnullanullnnullnnullenullnnull @null cs.williamsnull.edu

Phone: x4509
Office: TPL 304
Office Hours: In TCL 216 "Back Lab"
Current Courses: CSCI 134: Introduction to Computer Science
A picture of Bill in his office (circa 2017).

Teaching

A (mostly up-to-date) visualization of the Williams College Computer Science department's course prerequisite graph.


Writing letters of recommendation is a fun part of teaching, but please see these guidelines so that we can be sure that you get the strongest recommendation possible.



Past Courses


Note: Some of the course materials below are only accessible from within the Williams network.


  • (S23) CSCI 256: Algorithm Design and Analysis
  • (S21) CSCI 333: Storage Systems
  • (F20) CSCI 136: Data Structures & Advanced Programming
  • (S20) CSCI 136: Data Structures & Advanced Programming
  • (S20) CSCI 333: Storage Systems
  • (S19) CSCI 333: Storage Systems
  • (F18) CSCI 136: Data Structures & Advanced Programming
  • (F18) CSCI 237: Computer Organization
  • (S18) CSCI 136: Data Structures & Advanced Programming
  • (S18) CSCI 498: Game Analysis & Aesthetics
  • (F17) CSCI 136: Data Structures & Advanced Programming
  • (F17) CSCI 102: The Socio-Techno Web
  • (S17) CSCI 136: Data Structures & Advanced Programming
  • (W17) CSCI 11: Developing Your Developer's Toolbox
  • (F16) CSCI 135: Diving into the Deluge of Data

Research Interests

I am generally interested in file systems and storage. My research focuses on using modern data structures, in particular write-optimized dictionaries, to improve storage software.


I've completed projects at many layers of the storage software stack, including the application layer (benchmarking tools, key-value stores), the file system layer (BetrFS), and the block/device driver layer (SMR HDD/ZNS SSD host translation). I also have experience working in deduplciation and virtualization.


I am a member of the BetrFS team. BetrFS is a Linux file system built using Bε-trees, an asymptotically optimal write-optimized dictionary.


As a member of the OSCAR lab at Stony Brook University (now UNC Chapel Hill), I worked for a while on the Graphene library operating system. I later moved to the BetrFS project, and have since focused my work in file systems and storage.


Prior to joining Stony Brook, I explored RNA secondary structure prediction in the Aalberts lab. RNA projects that I have worked on include: RNAbows, a visualization tool for viewing and comparing RNA secondary structures in thermal equilibrium; Bindigo, a tool to optimally BIND olIGOs to longer RNA targets; and Nestor, an RNA secondary structure prediction utility. Nestor is based on stochastically sampling and clustering individual structures with a new and intuitive distance measure. If you are interested in working on these or similar problems, please contact Prof. Aalberts or send me an email!