is an Assistant Professor at Michigan State
University. He earned his Ph.D. in Computer Science at the
University of Minnesota in 1987 and his B.A. in Mathematics at
Carleton College in 1976. His primary research interest is in
computer security. Together with Bill Punch he wrote
The Practice of Computing Using Python
with editions in Python 2 and Python 3 and a translation in Chinese.