functional languages, compilers for embedded systems, program analysis and optimization, embedded domain-specific languages
Doctor of Philosophy, Columbia University, USA, 2019
Master of Philosphy, Columbia University, USA, 2016
Master of Science, Columbia University, USA, 2015
Bachelor of Arts, Oberlin College, USA, 2013
Richard Townsend received his Ph.D. at Columbia University studying programming languages and compilers under Stephen A. Edwards and Martha A. Kim. His research focuses on the use of functional languages and high-level optimizations to translate recursive algorithms with irregular memory access patterns into efficient hardware designs. This work revolves around his research group's current project: an optimizing Haskell-to-SystemVerilog compiler. In 2019, he made the transition from researcher to instructor as an assistant teaching professor with the Tufts Department of Computer Science, where he pursues his passion of teaching computer science.