4636 Beyster Building
Office Phone: 734-615-9916
This semester I am teaching EECS 481 — Software Engineering.
I help organize our annual Climate, Diversity, Equity and Inclusion Report as well as CSE Town Halls.
I help maintain the Computer Science Graduate Job and Interview Guide which explains the CS job search process for graduate students (e.g., teaching and research statements, interviews, offers, negotations, academia and industry) and provides evidence from multiple experiences with it.
I have information for students about letters of recommendation, including asking me and some reassurance about how letter deadlines and processes work — such timeline information is relevant even if you are approaching another professor. (As a special common case, if you took EECS 481 with me, you may be able to approach another 481 professor for a letter.)
My current main research interests relate to consciousness, time, and advancing software quality by using both static and dynamic programming language approaches. On the purely-CS side, I am particularly concerned with automatic or minimally-guided techniques that can scale and be applied easily to large, existing programs. I believe that finding bugs is insufficient, and I also work to help programmers address defects, understand programs, and program correctly.
Current major research interests and areas:
My teaching and advising have been well-received by generous students.
UM EECS 598 Special Topics |
Bowdoin College | Sabbatical Courses |
UM EECS 590 | Advanced Programming Languages
|
UM EECS 481 | Software Engineering
|
UVA CS 1120 | Introduction to Computing
|
UVA CS 4610/4501 | Programming Languages |
UVA CS 6610 | Programming Languages |
UVA CS 8561 | Programming Languages Topics
|
Udacity CS 262
| Building a Web Browser | |