I am a part-time Senior Lecturer in the Department of Computer Science at Johns Hopkins University.
My expertise is primarily in systems software, programming languages, and software engineering. I work toward efficient, reliable, and secure systems at the intersection of hardware and software, servers and services. I am also interested in video game design, computer science education, and the impact of technology on society.
If you really want to know more, feel free to check out my LinkedIn profile, my RateMyProfessor ratings, or my infrequently updated blog. I also have a brief ABET-style CV and a full academic CV to bore you with. Sadly my personal website is currently down, despite the highly ironic domain name I picked.
I have been teaching computer science professionally since 2002 and I still love doing it. In 2015 I won the William H. Huggins Excellence in Teaching Award, so at least some people seem to think that I know what I am doing. Below is a list of recent course offerings.
Over the years, I have developed a set of policies that apply to all courses I teach. Courses I co-teach with other faculty members often adopt a variation of these policies, please check the relevant course website or syllabus for details.
After years of maintaining a “nice” home page complete with “fancy” styles and layouts I decided to stop caring about such things in January 2017. Now I just run some markdown through zs with a trivial layout file and that’s it. I highly recommend you do the same.