Welcome to my University of Virginia website! I joined the University of Virginia faculty in 1982. (I came here immediately after finishing my Ph.D. in Computer Science at the University of Arizona). For my most recent activities and news, please see my news and recent activities page.
The pictures above are from the DARPA Cyber Grand Challenge. Our team, TechX, finished second overall winning $1M. Our team was first in defense, second in availability, and fourth in offense. See my CGC web page for more details.
My research interests include compilers, programming languages, computer architecture, embedded systems, and computer security. My current research interests are focused on the areas of computer security, run-time management of applications running on multi-core systems, and computer science education. I currently have several grants in each area (please see my research web page and funded research page for the projects).
I am a member of the Association for Computing Machinery (ACM) and the IEEE Computer Society. I am an Associate Editor of ACM’s Transactions on Architecture and Code Optimization. I served as an Associate Editor of ACM's Transactions on Architecture and Code Optimization from 2005 to 2015, and as an Associate Editor of ACM’s Transactions on Programming Languages and Systems from 1994 to 2000. I am also a Fellow of the ACM and a Senior Member of IEEE.
I have been involved for many years with ACM’s Special Interest Group on Programming Languages (SIGPLAN). I served as a member-at-large from 1999–2001 and 2003–2005. I served as SIGPLAN Chair from 2005–2007. I was SIGPLAN’s Information Director for many years and I designed SIGPLAN’s web pages (now since retired, but the template is still used by other SIGs). I am also a member of SIGBED (Special Interest Group on Embedded Systems), SIGARCH (Special Interest Group on Computer Architecture), and SIGCSE (Special Interest Group on Computer Science Education).
Currently, I am co-chair of ACM’s Publications Board. ACM's Publication Board oversees all aspects of ACM’s publications and the operation of ACM's Digital Library.
I am the co-author of two best-selling introductory programming textbooks, C++ Program Design: An Introduction to Object-Oriented Programming, 3rd edition and Java 5.0 Program Design: An Introduction to Object-Oriented Programming, 2nd edition. He and his colleague, James P. Cohoon, received the 2008 IEEE Taylor L. Booth Award for their sustained effort to transform introductory computer science education.5.0 Program Design: An Introduction to Object-Oriented Programming, 2nd edition. My co-author, James P. Cohoon, and I have organized numerous workshops for college professors on how to teach object-oriented programming. Jim Cohoon and I were awarded the 2008 IEEE Taylor L. Booth Education Award for "Sustained effort to transform introductory computer science education through lab-based multimedia pedagogy coupled with examples that attract a diverse student body." The video of the award presentation is here.
I thoroughly enjoy teaching. I was a lecturer at the Third International Summer School on Advanced Computer Architecture and Compilation for Embedded Systems (ACACES 2007) held the summer of 2007 in Aquila, Italy. In the summer of 2008, I taught a week-long seminar at the inaugural Indo-US Engineering Faculty Leadership Institute held in at Mysore, India. My class was very enthusiastic and I thoroughly enjoyed my visit to India.
I am a founding organizer of the International Summer School on Information Security and Software Protection.The first summer school (ISSISP 2010) was held in Beijing, China in the summer of 2010. The second summer school (ISSISP 2011) was held in Ghent, Beligium. Subsequent schools were in Tucson (ISSISP 2012), Xian, China (ISSISP 2013), Verona, Italy (ISSIPS 2014), Rio de Janeiro (ISSISP 2015), and Bangalore, India (ISSISP 2016).