I am interested in all aspects of Theoretical Computer Science. I have worked on Complexity Theory, Combinatorics and Graph Algorithms.
I usually teach courses in the area of Theoretical Computer Science. Courses that I have offered in the past fall into broadly two categories — graduate level elective courses and undergraduate level core courses such as Data Structures, Algorithms and Theory of Computation. Click here to see the full list of courses.