David Evans

Half-Portrait (I'm the left half) by Dorina Evans (Feb 2022)
More Pictures

David Evans
Professor of Computer Science
University of Virginia

Contacting Me | Schedule a Meeting

Recommended reading for:
Prospective Students | Disgruntled Professors
3 Year-Olds | Googlers | Humans
Pessimists | Optimists | Illiterates

Research Group

My research group's current work focuses mainly on understanding and improving the trustworthiness of machine learning when used in adversarial contexts, including privacy (what can adversaries learn about private training data from interacting with a trained model), security (what can adversaries do to cause a model to misbehave in targeted ways), and other properties we may wish to audit models for such as fairness. Other areas of recent interest include secure multi-party computation.

In Spring 2024, I taught cs1010: Computing for Future Leaders and Citizens. Recently I have taught Risks and Benefits of Generative AI and LLMs (Fall 2023), cs3102: Theory of Computation, and cs4501: Computational Biology / Biological Computing (a new course I developed to learn about interesting things going on in biology). For earlier courses, see my Courses page.

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 Cover Dori-Mic and the Universal Machine!
(With Illustrations by Kim Dylla), 2014
A Tragicomic Tale of Combinatorics and Computability
for Curious Children of All Ages

"The BEST babies' book about computational universality I've read."
Scott Aaronson [full review]

XLLM Cover Introduction to Computing:
Explorations in Language, Logic, and Machines

Introductory computer science coursebook, 2007-2012.
I co-authored, with Vladimir Kolesnikov and Mike Rosulek a book on secure multi-party computation:
A Pragmatic Introduction to Secure Multi-Party Computation NOW Publishers, December 2018. [PDF]

I was Program Co-Chair for the 2022 and 2023 IEEE European Symposia on Security and Privacy. Previously, 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 the 30th (Oakland 2009) and 31st IEEE Symposium on Security and Privacy (Oakland 2010), where I initiated the Systematization of Knowledge (SoK) papers.


Funded Projects

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)

More Quotes

I have the privilege of working with a team of extraordinary students, including both graduate and undergraduate students.

We are part of the NSF Frontier Center for Trustworthy Machine Learning (with the University of Wisconsin, UC Berkeley, UC San Diego, and Stanford) and the NSF AI Institute for Agent-based Cyber Threat Intelligence and Operation (ACTION) (led by UC Santa Barbara).

Security Research Group Lunch (5 May 2017)
Bill Young, Haina Li, Weilin Xu, Mohammad Etemad, Bargav Jayaraman, David EvansHelen SimecekAnant KharkarDarion 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

Everyone is welcome at the Security Research Group meetings. To get announcements, join our Teams Group (any @virginia.edu email address can join themsleves, or email me to request an invitation).

srg lunch
Research Group Lunch (6 May 2015)

Hoos at USENIX
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 Lockheed Martin, Oracle, Google, and Intel and in-kind support from Amazon and Microsoft.


XLLM Cover I won the Harold Morton Jr. SEAS Award for Teaching (2003-4), an All-University Teaching Award (2008), and an Outstanding Faculty Award (2009) from the State Council of Higher Education for Virginia. This essay explains my teaching philosophy.

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 Courses at UVA (Full List)

cs1010: Computing for Future Leaders and Global Citizens (Spring 2024)
cs4501: Computational Biology / Biological Computing (Spring 2022 and Fall 2022)
cs3102: Theory of Computation (Spring 2023, co-taught with Mohammad Mahmoody; Fall 2021 and Fall 2020, co-taught with Nathan Brunelle)
cs1120: Introduction to Computing: Explorations in Language, Logic, and Machines (Spring 2016, Fall 2011, Fall 2009, and earlier)
cs4501: Cryptocurrency Cafe (Spring and Fall 2015)
cs4414: Operating Systems (Spring 2014, Fall 2013)

Science is the greatest of all adventure stories, one that's been unfolding for thousands of years as we have sought to understand ourselves and our surroundings. Science needs to be taught to the young and communicated to the mature in a manner that captures this drama. We must embark on a cultural shift that places science in its rightful place alongside music, art and literature as an indispensable part of what makes life worth living.
Brian Greene, Put a Little Science in Your Life (New York Times, June 1, 2008)

Selected External Courses

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).

cs101: Building a Search Engine (open on-line course offered through Udacity that has enrolled over 500,000 students)
cs387: Applied Cryptography (open on-line Udacity course that has enrolled over 70,000 students)

I've also taught some short external courses:

Trustworthy Machine Learning at the 19th International School on Foundations of Security Analysis and Design in Bertinoro, Italy.
What Every Hacker Should Know about Theory of Computation (lecture at HackerSchool, New York, October 2014)
Engineering Cryptosystems (4-class course on building cryptographic systems for working engineers, taught at Tyson's Corner AMC Theater, October 2013)

Dorina cs101


I've been at UVA since fall 1999, after completing my PhD, SM and SB degrees at MIT.

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, two children, and mother-in-law.

Our daughter, Dorina Michelle, was born in 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 in March 2015. His early accomplishments focused on minimizing interruptions in distributed systems processes, collision-free hashing, odor-optimized garbage collection, and balanced climbing trees.

Family pages: