My research group's current work focuses mainly on understanding and improving the trustworthiness of machine learning when used in adversarial contexts, including both privacy (what can adversaries learn about private training data from interacting with a trained model) and security (what can adversaries do to cause a model to misbehave in targeted ways). Other areas of interest include secure multi-party computation (including Obliv-C), and web security.
In Fall 2020, I am co-teaching cs3102: Theory of Computation with Nathan Brunelle (using Boaz Barak's new Introduction to Theoretical Computer Science book). In Spring 2021, I will teach a new course on Everyday Ethics and Quotidian Quandries for Computer Scientists.
Other courses I have taught recently include Markets, Mechanisms, and Machines (a joint Economics and Computer Science course, co-taught with Denis Nekipelov), a Pavilion Seminar on How will Artificial Intelligence change Humanity? (Fall 2018), a seminar on Security and Privacy of Machine Learning (Spring 2018), cs2102: Discrete Mathematics (co-taught with Mohammad Mahmoody in Fall 2017), a seminar focused on Understanding and Securing TLS (Spring 2017), cs1120: Explorations in Language, Logic, and Machines (Fall 2016, using a new approach mostly inspired by my then-three-year-old daughter's Tae Kwon Do classes), a course on cryptocurrencies and cs4414: Operating Systems (the first course to use the Rust programming language).
I have written two introductory computer science books, both of which are available as free downloads under a Creative Commons license, and as nicely printed color versions from Amazon.com:
| Dori-Mic and the Universal
(With Illustrations by Kim Dylla), 2014
A Tragicomic Tale of Combinatorics and Computability
for Curious Children of All Ages
| Introduction to Computing: |
Explorations in Language, Logic, and Machines
Introductory computer science coursebook, 2007-2012.
|A Pragmatic Introduction to Secure Multi-Party Computation NOW Publishers, December 2018. [PDF]|
I developed two open on-line courses for Udacity: cs101: Building a Search Engine (Prospect Magazine, Chronicle, more...) and cs387: Applied Cryptography (according to InformationWeek, this the #1 Online Class To Pump Up IT Careers, although it is more meant as a fun introduction to cryptography).
I co-founded the Cville Math Circle (Secret Order of the Twin Primes).
I was Program Co-Chair for
the 2017 ACM Conference on
Computer and Communications Security (CCS). I organized
the NSF SaTC PIs'
Meeting 2015 and was program co-chair for
All it took was for a University of Virginia student to finally outsmart the popular SMART cards... Falling into the wrong hands, this security loophole can be and will surely be used in high profile heists and break-ins, seemingly straight from a James Bond movie.
Hacked RFIDs Render Smart Cards Less Smarter, TrendLabs Malware Blog, 18 March 2008.
Except for the wire problem, the computer was a success. We could solve this with larger wires and by growing hair to cover our ears, a conspicuous style at the time, or persuade our reluctant wives to "wire up". We adjourned to consider.
Edward Thorp, on building computers with Claude Shannon
I am a little troubled about the tea service in the electronic computer building. Apparently the members of your staff consume several times as much supplies as the same number of people do in Fuld Hall and they have been especially unfair in the matter of sugar.... I should like to raise the question whether it would not be better for the computer people to come up to Fuld Hall at the end of the day at 5 o'clock and have their tea here under proper supervision.
Letter to John von Neumann (shown in George Dyson's talk on The birth of the computer)
I have the privilege of working with a team of extraordinary students, including both graduate and undergraduate students.
Bill Young, Haina Li, Weilin Xu, Mohammad Etemad, Bargav Jayaraman, David Evans, Helen Simecek, Anant Kharkar, Darion Cassel
If you are a UVa undergraduate or graduate student interested in joining my research group, please look over our project pages (linked below), browse our group blog, and send me email to arrange a meeting or drop by my office hours.
If you are considering applying to our PhD program, please read my advice for prospective research students. If you think you are ready for graduate school, you may also want to try our previous pre-qualification exam [PDF].
Security Research Group (19 January 2016)
Jack Doerner, Samee Zahur, Mahnush Movahedi, Mohammad Etemad, Haina Li, Weilin Xu, Karen Pan
Research Group Lunch (6 May 2015)
UVa Students and Alumni at USENIX Security 2011
Our research is primarily funded by National Science Foundation research grants. We are also grateful for industrial research awards from Google, Intel, and Baidu, and in-kind support from Amazon and Microsoft.
I was the Founding Director of the Interdisciplinary Major in Computer Science, which became the most popular major taught by the Engineering School.
I believe public universities have a mission to provide open education, and make all of my teaching materials openly available. I published an open introductory computing textbook based on the cs1120 course.
Selected UVa Courses (Full List)
Selected External Courses
My most visited page is my Advice for Prospective Research Students. I have also written some advice for new (and disgruntled) professors on How to Live in Paradise, and collected my favorite advice from others.
My academic genealogy traces back to Gottfried Wilheim Leibniz.
I have taken some pictures including: Yellowstone, Glacier, Death Valley, Yosemite, Lawn Lighting, Nature near Charlottesville, China, and Bletchley Park. I also have pictures from my trips to World Cups: France 1998, Korea 2002, South Africa 2010. Now, I mostly take pictures of my son and daughter.
I live in Charlottesville, VA with my wife and two children.
Our daughter, Dorina Michelle, was born 29 June 2012. She made her first original computer science contribution at only eight months old, discovering the non-equivalence of the Kleene-* and Kleene-X operators. Since then, she has been focusing on languages and inputs and outputs, but hasn't completely neglected theoretical computer science.
Our son, Maxwell Nicholas was born 18 March 2015. His accomplishments so far have been focused on minimizing interruptions in distributed systems processes, collision-free hashing, odor-optimized garbage collection, and balanced climbing trees.