At Harvard SEAS, Nada Amin and her team explore new ways of programming that are easier, faster, safer.
For safer, we look at systems and formalisms based on types and verification.
For faster, we look at meta-programming techniques including generative programming and reflection to collapse levels of interpretations as well as move between different views of the same program in a way that helps optimizations, understanding and modifications.
For easier, our goal is to enable a greater number of people to manipulate computer programs (static) and processes (dynamic) in a robust way. To this end, we look at combining Machine Learning and Programming Languages to enable the creation of neuro-symbolic systems that can move back and forth between learnable (neural) and interpretable (symbolic) representations of a system.
We are always looking for new application domains in which to evaluate programming techniques.
- Spring 2021: CS 152 Programming Languages
- Fall 2020: CS 252R PL/AI Graduate Seminar
- Spring 2020: CS 152 Programming Languages
- Fall 2019: CS 252R PL/HCI Graduate Seminar
We are part of Harvard PL and lead the metareflection.club and the Harvard/MIT Initiative on Programming Microfluidics.
- Anastasiya Kravchuk-Kirilyuk (PhD Student since Fall 2020)
- Joey Velez-Ginorio (Visiting PhD Student since Fall 2019)
- Felix Sosa (Visiting PhD Student since Spring 2020)
- Laura Zharmukhametova (Undergraduate Researcher since Fall 2020)
- Marissa Zheng (Undergraduate Researcher since Summer 2020)
- Yizhou Zhang (Post Doc for 2019 – 2020)
- Michael Buch (PhD Student for 2019 – 2020)
- Apoorv Jain (Visiting Undergraduate Researcher for Summer 2020)
- Kat Zhang (Undergraduate Researcher for Summer 2020)
- Teddy Liu (Undergraduate Researcher for 2019 – 2020)
- Pratap Singh (Undergraduate Researcher since Fall 2019)
- Garrett Tanzer (Undergraduate Researcher for Spring 2020)
- Alex Wendland (Undergraduate Researcher for Spring 2020)
If you're an undergraduate at Harvard, I am happy to brainstorm and supervise a research project or thesis around common interests. This could range from theory (a type system for 'X') to implementation (a domain-specific language for 'X'). I value previous experience in software engineering, machine learning, functional programming, logic programming, and your chosen domains of application.
If you're a prospective PhD student, please apply to SEAS and mention me in your application.
If you're a current researcher (PhD student, postdoc, faculty, ...), I am open to collaboration and co-supervision opportunities.
If you're a member at large, I am happy to engage in mentoring time allowing.
I do not sign NDAs.