INTERESTS

There are many topics that interest me, but two of them are programming language (PL) designs and algorithm optimization.

PROGRAMMING LANGUAGE DESIGNS:
I've done several projects where I've implemented small langauges or added more features to a language. I wrote interpreters and compilers for features such as multiple return values, or function calls with rest parameters.

I also have some experience with the theoretical side of PL design, such as finite state machines, which are mathematical computations used to simulate sequential logic, and lambda calculus, a formal system for simulating function application.

ALGORITHM DESIGN & OPTIMIZATION:
Although one of the hardest topics for me to understand, I am most fascinated by this area. I was first exposed to the P vs. NP problem in my "Intro to Algorithms" class, and the idea of an entire class of problems being solvable in polynomial time with non-deterministic algorithms was extremely intriguing. I also took an advanced algorithms class, where I learned about concepts such as dynamic programming, network flows, NP reductions and NP-completeness, and approximation algorithms.