- PhD, Computer Science, University of Waterloo (1986)
- MMath, Applied Mathematics, University of Waterloo (1981)
- BSc, Hon. Mathematics and Hon. Physics, University of New Brunswick (1979)
To make computers handle mathematics intelligently. This work has centered on the following key questions:
- Programming Languages: What language ideas and technology can improve mathematical software?
- Algorithms and Domains: How can we expand the areas amenable to effective symbolic computation?
- Interfaces: How should computer algebra systems interact with each other and other software?
- Knowledge Management: How to organize and query the world’s mathematical knowledge?
- Collaboration: What software solutions can enhance mathematical collaboration, including mathematical handwriting recognition?
- On-line STEM Education: How can mathematically sophisticated software improve learning of STEM subjects?