Skip to main content


Office Location

440 Huntington Avenue
308 West Village H
Boston, MA  02115


  • BS, Brown University

About Me

  • Hometown: North Pownal, Vermont
  • Field of Study: Computer Science
  • PhD Advisor: Amal Ahmed


Daniel Patterson is a PhD student in the Computer Science program at Northeastern University’s Khoury College of Computer Sciences, advised by Professor Amal Ahmed. Daniel’s research focuses on the ways that people reason about programs, particularly when they involve interactions between different programming languages. Before coming to Northeastern, Daniel earned his Bachelor of Science from Brown University.

What are your research interests?

New programming languages often make it easier to write correct, safe, and fast programs. But replacing old programs with ones written in newer languages is currently so time consuming and expensive that code written in older languages may continue to exist essentially indefinitely. I want to change that. 

What’s one problem you’d like to solve with your research/work?

One of the primary reasons that it is hard to rewrite existing software is that it is very difficult to replace small parts of programs with code written in new languages and be sure that what you’ve written is correct. This is because the language-based tools that allow programmers to reason about what they’ve written generally have little to nothing to say about the interactions between different languages.

What aspect of what you do is most interesting?

Programming languages are the primary tools used across computer science and industry. No matter what the particular interests of a programmer are, they will be using some language. I find it fascinating that this means that studying languages is as much about studying the ways that programmers think as it is about studying principled models of computation.

What are your research or career goals, going forward?

I want to enable programmers to more effectively reason about programs that involve multiple languages interacting.