Kevin Joseph Leach

Beyster 2909 —

University of Michigan


For the Winter 2021 Semester, I am teaching 2 sections of EECS 481 — Software Engineering. The tentative website is available here.

If you are interested in taking EECS 481, please keep the following in mind:

  • I do not have individual control over the waitlist. This applies to graduate students as well. If you cannot waitlist through Wolverine, please email the Undergraduate Advising Office instead.
  • Attendance is required (and enforced through Zoom reports and chat logs, for a small portion of the final grade). Exceptions are made if you are outside of the Eastern timezone. This course is such that being present in the lectures is important for retention. You can attend either lecture section. Discussions are optional, and you can attend any section.
  • EECS 481 requires a bit of felicity with the command line. We strongly recommend the use of an Ubuntu 16.04 Virtual Machine or an Ubuntu 16.04 Amazon EC2 instance. Both are available for free.

I am Senior Research Fellow in the Computer Science and Engineering Division at the University of Michigan—Ann Arbor. Previously, I was a Research Scientist in the Robust Low Power VLSI group at the University of Virginia. I received my PhD in Computer Engineering at the University of Virginia under the guidance of Wes Weimer. My work is in systems security, specifically the debugging transparency problem, though I occasionally work on conversational artificial intelligence, program analysis, medical informatics, and big data applications.

I received my MS in Computer Science at George Mason University in 2013. My advisor was Angelos Stavrou. I received my BS with Distinction in Computer Engineering and Computer Science from the University of Virginia in 2011.

For the Fall 2020 semester, I taught EECS 481 — Software Engineering and EECS 484 — Databases.

For the Summer 2020 semester, I taught EECS 485 — Web Systems.

For the Spring 2020 semester, I taught EECS 481 — Software Engineering.

For the Winter 2020 semester, I taught EECS 498 — Conversational AI.

For the Fall 2019 semester, I helped teach EECS 498 — Conversational AI.

For the Winter 2019 semester, I taught EECS 370 — Computer Organization.

For the Winter 2018 semester, I taught EECS 483 — Compiler Construction.

Milestones at a Glance

  • September 2017 — I accepted a Senior Research Fellow position at the University of Michigan in Ann Arbor.
  • December 2016 — I successfully defended my doctoral dissertation.
  • April 2016 — I received the Louis T. Rader Graduate Research Award.
  • May 2015 — I successfully defended my dissertation proposal.
  • August 2014 — I successfully passed my Qualifying Exam.
  • January 2014 — I received an $81k grant from MIT Lincoln Laboaratory to support my PhD research.
  • May 2013 — I received my MS in Computer Science from George Mason University