Born in England, educated in Scotland at Kelvinside Academy and Glasgow University. First degree in Honours Physics.
Started graduate studies at the Maths Lab at Cambridge University, England. This included programming EDSAC 2 in machine language! Awarded an IBM Fellowship and came to McGill University in Montreal, as the first graduate student in Computer Science, in 1964.
Founding member of the School of Computer Science at McGill in 1970.
Teach "Computers in Engineering" (308-208A/B) to most incoming McGill Engineering students (about 250/year). See links to course material below. Teach "Microcomputers" (308-573A/B) to senior undergraduates and graduates. Students enjoy this course, as they have an opportunity to develop a computer application of their own choosing - but this turns out to be more work than expected!
Research interest include modelling and simulation as used in real time applications, such as air traffic control simulators. Computer Assisted Learning (CAL) for several different fields ranging from high school to university level courses, both in Canada and overseas.
Committee work includes being Chairman of the SOCS Equipment Committee, member of the Undergraduate Committee, and representing the School and Faculty on the McGill Senate.