In Fall 2023 I joined the University of Maryland Department of Computer Science Department as a Senior Lecturer (UMD's equivalent of an Associate / middle-rank Professor of Teaching). Previously I taught for six years in the University of Minnesota, Twin Cities, Computer Science Department after starting there in Fall 2017. During my time there I was promoted to an Associate Teaching Professor. Previously, I spent 5 years teaching at George Mason University in Fairfax, Virginia. I have a strong commitment to teaching and while at George Mason, I won their Teaching Excellence Award in 2017, the highest honor given for teaching at the university.
Over my career I have instructed a wide range of Computer Science Courses including introductory programming, machine architecture, operating systems, programming languages, algorithms and data structures, and parallel computing.
I completed my PhD in Computer Science at the University of Minnesota studying structural bioinformatics problems under George Karypis. My main research interests are in computational prediction of protein interactions with DNA and small molecules (ligands) and in developing machine learning tools to predict protein structure. To that end, I developed an interest in convex optimization techniques, in particular semidefinite programming.
Outside of academia I am an avid squash player, formerly at the University of Minnesota Squash Club and before that at George Mason's courts. Email me if you are up for a game.
I also play the alto saxophone and years ago played lead alto in the top U of MN jazz ensemble. I still occasionally jam with former band memebers on jazz standards and compose tunes for special occasions.