my best work all my publications papers on the Halting Problem essays unrelated to computer science videos: lectures, songs book: a Practical Theory of Programming project: ProTem (programming system) project: Portation (transportation) project: Netty (prover's assistant) article: International Innovation Report interview: DCS Newsletter interview: Canada AM 1985 course: Formal Methods of Software Design short course: Digital Circuit Design course: UofT CSC465 and CSC2104 photos: work, personal curriculum vitae, former students, academic ancestors contact: hehner@cs.utoronto.ca |
I received my BSc in Mathematics and Physics from Carleton University in 1969, coming first in the Faculty of Science. I received my MSc in 1970 and my PhD in 1974 in Computer Science from the University of Toronto. The subject of my PhD thesis was how to match the representation of data and programs to computer architectures. I then joined the faculty, becoming a full professor in 1983, and Bell University Chair in Software Engineering in 2001. I retired, and became emeritus in 2012. My research has been mainly on formal methods of programming, and the mathematics of program construction. I am the first winner of the annual Computer Science undergraduate teaching award. I have been a Visiting Scientist at Xerox Palo Alto Research Center (1980); Visiting Fellow at Oxford University (1981); Visiting Researcher at the University of Texas, Austin (1987); Professeur Invité at the Université de Grenoble (1987-1988); Visiting Professor at the University of British Columbia (1995); and at Simon Fraser University, Vancouver (1995); and at the University of Southampton, UK (1998). I was a member of IFIP Working Group 2.1 on Algorithmic Languages and Calculi (1998-2012), and IFIP Working Group 2.3 on Programming Methodology (1977-2012). I was an editor of Acta Informatica (1984-2012), Formal Aspects of Computing (1988-2012), and Information Processing Letters (1984-1991). I have written two books (the Logic of Programming, Prentice-Hall (1984), and a Practical Theory of Programming, first edition Springer-Verlag (1993), current edition online) and many journal and conference papers. I have given hundreds of invited lectures at institutions around the world. I have taught short courses in Santa Cruz California USA (1979), Marktoberdorf Germany (1986), Macau China (1994), Tandil Argentina (2000), and Turku Finland (2002). My former students have gone on to head major corporations and departments of computer science.