School of Engineering and Applied Science
151 Engineer's Way, P.O. Box 400740
Charlottesville, VA 22904-4740
Office: Olsson Hall, Rm 222
Phone: (434) 982-2209
Fax: (434) 982-2214
Welcome to my University of Virginia website! I have been at the University of Virginia since 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.
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 currently an Associate Editor of ACM’s Transactions on Architecture and Code Optimization. I served 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.
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 am SIGPLAN’s Information Director and I designed and continue to maintain SIGPLAN’s web pages. 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 the ACM’s Digital Library. As a co-chair of the Publications Board, I also sit on ACM’s Council.
In addition to research and professional service I enjoy all aspects of teaching--lecturing, advising students, developing courses. I have co-authored 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. 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."
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.
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. This past summer (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.