Books


2016 ENIAC in Action: Making and Remaking the Modern Computer (MIT Press) (with T. Haigh and C. Rope)
[Publisher's web page]
2011 A Science of Operations: Machines, Logic, and the Invention of Programming (Springer)
[Publisher's web page] [2013 Fernando Gil prize, Special Commendation]
2003 Practical Object-Oriented Design with UML (Second Edition) (McGraw-Hill)
[Publisher's web page]
2000 Practical Object-Oriented Design with UML (McGraw-Hill)
1997 Practical Object-Oriented Design (McGraw-Hill)

Chapters


1995 "Discipline or punish: the cruelty of not teaching software engineering". In Professional Awareness in Software Engineering, ed. C. Myers (McGraw-Hill). [pdf]

Articles


2017 "AI and the Origins of the Functional Programming Language Style". Minds and Machines, doi:10.1007/s11023-017-9432-7. [draft pdf] [details]
2016 "Where Code Comes From: Architectures of Automatic Computing from Babbage to Algol" (with T. Haigh). Communications of the ACM, 59(1):39-44.
2015 "Innovators Assemble: Ada Lovelace, Walter Isaacson, and the Superheroines of Computing" (with T. Haigh). Communications of the ACM, 58(9):20-27.
2014 "Los Alamos bets on ENIAC: Nuclear Monte Carlo Simulations, 1947-1948" (with T. Haigh and C. Rope). IEEE Annals of the History of Computing, 36(3):42-63. [pdf]
"Engineering 'The Miracle of the ENIAC': Implementing the Modern Code Paradigm" (with T. Haigh and C. Rope). IEEE Annals of the History of Computing, 36(2):41-59. [pdf]
"Reconsidering the stored program concept" (with T. Haigh and C. Rope). IEEE Annals of the History of Computing, 36(1):4-17. [pdf]
"When technology became language: the origins of the linguistic conception of computer programming, 1950-1960" (with D. Nofre and G. Alberts). Technology and Culture, 55(1):40-75. [Winner of the 2015 Mahoney Prize]