Photo: Cole Geddy/UVa
More Pictures

David Evans
Professor of Computer Science
University of Virginia
Contacting Me

Blog
Papers
Talks
Students
Courses
Pictures

My research group's current work focuses mainly on secure computation, web security, and adversarial machine learning.

This semester I am teaching cs1120: Introduction to Computing - Explorations in Language, Logic, and Machines, using a new approach mostly inspired by my three-year-old daughter's Tae Kwon Do classes. Recently, I taught a course on cryptocurrencies and cs4414: Operating Systems (the first course to use the Rust programming language).

I wrote 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], MIT

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

Introductory computer science coursebook, 2007-2012.

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

Research

Students
Blog
Publications
Talks
Awards
Press

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.

researchgroup
Security Research Group (19 January 2016)
Jack Doerner, Samee Zahur, Mahnush Movahedi, Mohammad Etemad, Haina Li, Weilin Xu, Karen Pan

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

srg lunch
Research Group Lunch (6 May 2015)

Everyone is welcome at the Security Research Group meetings (subscribe to the mailing list for notifications).

My research group is currently funded primarily by grants from the National Science Foundation (TC: Large: Collaborative Research: Practical Secure Two-Party Computation: Techniques, Tools, and Applications, TWC: Small: Automated Security Testing for Applications Integrating Third-Party Services), Air Force Office of Scientific Research (Defending Against Hostile Operating Systems (MURI) and Designing for Measurable Security), and two Google Research Awards.

Hoos at USENIX
UVa Students and Alumni at USENIX Security 2011

Active Projects

Tools and techniques for efficient, practical multi-party secure computation.
Automated techniques to detect vulnerabilities in web applications (focusing on integration of single sign-on services) and understand behaviors of third-party embedded scripts.
Evading Classifiers with Weilin Xu and Yanjun Qi
An evolutionary framework based on genetic programming for automatically finding variants that evade detection by machine learning-based malware classifiers.
Designing for Measurable Security with Sal Stolfo and Steve Bellovin (Columbia University) (Air Force Office of Scientific Research)

Completed Projects

Recent and Upcoming Conferences

(Selected, see full list.)

25th USENIX Security Symposium (USENIX Sec 2016), Program Committee Member
24th USENIX Security Symposium (USENIX Sec 2015), Program Committee Member
36th IEEE Symposium on Security and Privacy (Oakland 2015), Program Committee Member
31st IEEE Symposium on Security and Privacy (Oakland 2010), Program Committee Co-Chair
NSF/IARPA/NSA Workshop on the Science of Security (Berkeley, Nov 2008), Lead Organizer

Teaching

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 (until caps were instituted in 2013).

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)

cs4501: Cryptocurrency Cafe (Spring 2015)
cs4414: Operating Systems (Spring 2014, Fall 2013)
cs1120: Introduction to Computing: Explorations in Language, Logic, and Machines (Spring 2016, Fall 2011, Fall 2009, and earlier)
cs2220: Engineering Software (Fall 2010 and earlier)
cs3102: Theory of Computation (Spring 2010, Spring 2008)

Selected External Courses

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

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)

More

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.

Family

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.

Dorina cs101

Family pages: NeuroKitchen Arts Collective (my sister's project), my brother's blog, Science Serving Society (my Dad's site, focusing on traffic safety), Art Talks (by my Mom).