Photo: Cole Geddy/UVa
In Spring 2017, I taught a seminar focused on Understanding and Securing TLS. In Fall 2016, I taught cs2102: Discrete Mathematics, and I'll co-teach a version of that course with Mohammad Mahmoody in Fall 2017. In Spring 2016, I taught cs1120: Introduction to Computing - Explorations in Language, Logic, and Machines, using a new approach mostly inspired by my then-three-year-old daughter's Tae Kwon Do classes. Other courses I have taught recently include 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 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.
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 am Program Co-Chair for the 2017 ACM Conference on
Computer and Communications Security (CCS). Previously, I organized
the NSF SaTC PIs'
Meeting 2015 and was program co-chair for the 30
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)
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.
UVa Students and Alumni at USENIX Security 2011
Secure Computation with Yan Huang, Jonathan Katz, Michael Hicks, Steven Myers, abhi shelat, and Samee Zahur (NSF Cybertrust)
Tools and techniques for efficient, practical multi-party secure computation.
Security and Privacy for Integrated Web Applications with Yuchen Zhou (NSF SaTC, Google Award)
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)
Recent and Upcoming Conferences
(Selected, see full list.)
2017 ACM Conference on Computer and Communications Security (ACM CCS), Program Co-Chair.
38th IEEE Symposium on Security and Privacy (Oakland 2017), Program Committee Member25th 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
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)
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, odor-optimized garbage collection, and balanced climbing trees.