Sony Building, 4110 — Vanderbilt University
kevin.leach@vanderbilt.edu
I am recruiting undergraduate researchers. If you are interested in leading research projects across artificial intelligence, cybersecurity, or software engineering, please send me an email with your CV.
If you are a Computer Science graduate student looking for advice on the job market, please see the CS Grad Job Guide to which I have contributed.
I am an Assistant Professor of Computer Science at Vanderbilt University. Previously, I was a Senior Research Fellow in the Computer Science and Engineering Division at the University of Michigan—Ann Arbor, where I was engaged in a variety of research spanning security, software engineering, and artificial intelligence. Prior to UM, 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. I work across a variety of disciplines, including systems security, software engineering and human studies, conversational artificial intelligence, and medical informatics.
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.
I am teaching CS6380 - Principles of Computer Security Research during the Spring 2025 semester. You should totally take this course.
This course is a permanent version of my previously-offered CS8395 - Topics in Computer Security course. This is a graduate-level seminar-like course that covers recent computer security research. It will cover a variety of topics, from malware analysis to computer viruses, botnets, autonomous vehicle security, trusted execution environments, virtual machines, and networks. There are no prerequisites for this course, although you will need to use a virtual machine to complete the assignments. That said, the primary goal of this course is to help new graduate students understand how to conduct research, especially for the PhD degree, thus there is a large focus on reading, presenting, and discussing research papers.
Fall 24: CS3276 - Compilers — Course website — Student reviews.
Spring 24: CS8395 - Topics in Computer Security — Course website — Student reviews.
Fall 23: CS3276 - Compilers — Course website — Student reviews.
Spring 23: CS8395 - Topics in Computer Security — Course website — Student reviews.
Fall 22: CS3276 - Compiler Construction— Course website — Student reviews.
Spring 22: CS8395 - Topics in Computer Security — Course website — Student reviews.
Winter 2021: EECS 481 — Software Engineering.
Fall 2020: EECS 481 — Software Engineering and EECS 484 — Databases.
Summer 2020: EECS 485 — Web Systems.
Spring 2020: EECS 481 — Software Engineering.
Winter 2020: EECS 498 — Conversational AI.
Fall 2019: I helped teach EECS 498 — Conversational AI.
Winter 2019: EECS 370 — Computer Organization.
Winter 2018: EECS 483 — Compiler Construction.