Spring 2007CS205: Engineering Software
Fall 2005
Spring 2004 (as CS200)
Spring 2003 (as CS200) [Reviews]
Spring 2002 (as CS200) [SEAS Survey, Course Improvement Survey]
UTF Proposal (2001): University of Virginia Teaching Fellowship: Teaching Introductory Computer Science as a Liberal Art
Textbook (under development, 2009): Computational Thinking: A Whirlwind Introduction to the Third Millennial Liberal Art
Fall 2006CS216: Program and Data Representation (Spring 2006)
Fall 2003 (as CS201J) [SEAS Evaluations, Course Improvement Survey]
Fall 2002 (as CS201J) [Evaluations]
Course Proposal: NSF CCLI: Teaching Software Engineering Using Lightweight Analysis
CS302: Theory of Computation (Spring 2008)
CS588: Cryptology: Principles and Applications
Spring 2005
Fall 2001 [SEAS Evaluation]
Fall 2000 (as CS551: Security and Privacy on the Internet: Keeping Secrets, Thwarting Imposters and Disarming Malicious Code) [SEAS Evaluation, Course-Specific Evaluation]
Spring 2001CS851: Biologically-Inspired Computing (with Jim Cohoon) (Spring 2003)
Spring 2000 [SEAS Evaluation]
CS851/651: Cryptography Applications Bistro (Crab Seminar) (Spring 2004)
CS851: Malware Seminar (Fall 2004)
CS851: Web Applications Security Seminar (Fall 2007)