B.Sc.(Hons) (Dalhousie), M.Sc., PhD (Toronto), P.Eng.
I am a native of Halifax, Nova Scotia, and did my undergraduate studies at Dalhousie University. While there, I developed an interest in programming languages and programming methods. I went on to do masters and PhD degrees at the University of Toronto under the supervision of Eric Hehner, in the area of program specification and derivation. Along the way, I worked at Control Data Corporation designing and implementing compilers and did postdoctoral work at the Programming Research Laboratory of Oxford University and at the Software Engineering Research Lab at McMaster University.
Since joining Memorial, I have continued to work in the areas of programming methodology, software engineering, and hardware description language design, and have developed an interest in the uses software in education. I am the co-designer of the Teaching Machine, a program animation and algorithm animation system, designer of the SMALL hardware description language and designer of the SIMPLE proof and program development environment. Recently, I have been working on automated verification of concurrent software and on a new approach to programming intended for small children.