Who is that old guy?

Michael W. Godfrey @ UWaterloo


[Contact information is at the bottom of the page.]

Awards and honours

  • 2014-2017 David R. Cheriton Faculty Fellow, Univ. of Waterloo
  • 2016 ACM Senior Member
  • 2001-2006 NSERC Assoc. Industrial Research Chair (Nortel Networks)





  • CS846Topics in Software Evolution and Empirical Studies
    I am teaching this course in Spring (not Winter) 2017
    See this video for an overview of what to expect
  • CS138 — Introduction to Data Abstraction and Implementation
    I am teaching this course in Winter 2017
    Course designer/co-ordinator since 2009
  • CS246 — Software Abstraction and Specification
    I last taught this course in Fall 2012.
    Course co-ordinator 2000-2004
  • CS445 — Software Requirements and Specification
    (aka SE463 / CS645 / ECE451)
    I last taught this course in Fall 2010
  • JDuck (old but it was fun)Quack

Conferences etc. I'm on the PC for
(or have some other interesting role)

Conferences I was on the PC for, but are now over

PC = Program co-chair, GC = General chair, CO = Co-organizer,
OC = Org. committe, TC = Tutorials chair,
DC = PhD dissertation/symposium co-chair

Service and external relations


  • As of August 2016, I am chair of the CS Undergraduate Recruiting Committee (UGREC)
  • From July 2013 to July 2015, I was the SCS Director of Student Engagement.
  • Between 2006 and 2011 I served on the SCS Undergraduate Academic Plans Committee (UAPC, formerly known as the Curriculum Committee).
  • Between 2009 and 2011, and for the 2012-13 academic year I served on the Software Engineering Curruculum Committee.
  • My Erdos number is no worse than 3 (Gauss is a 4)
    • Erdos → Jeff Shallit → Andrew Malton → Me

  • Anagrams of "Michael Godfrey":
    • Fierce, godly ham.
    • Chiefly, mad ogre.
    • Hey! decimal frog.
    • Grey, modal chief.

The past

During the 2011-12 academic year, I was on sabbatical at CWI in Amsterdam, with the RASCAL group (aka SEN-1, aka SWAT), led by Jurgen Vinju and Paul Klint. I learned a lot about programming, practical language design, DSLs, and the sheer joy of building something that works. I really enjoyed my time there, and the great people I got to work with, including Mark Hills, Davy Landman, Atze van der Ploeg, Tijs van der Storm, Jeroen van den Bos, Anastasia Izmaylova, and Vadim Zaytsev.

During the 2003-04 academic year, I was on sabbatical at Sun Microsystems Research Lab in Mountain View, CA. I worked on two research projects involving static analysis tools, Jackpot and Salsa, and I got to work with a number of really sharp tool developers, including Michael Van De Vanter, Tom Ball, Tim Prinzing, and James Gosling (all Jackpot), as well as John Crupi, Deepak Alur, Yury Kamen, and Syed Ali (all Salsa).

I was a faculty member at Cornell University between 1996 and 1998; I taught the software engineering course and some others, and I was the associate director of their M.Eng. program. I also did some work with the Predator / Jaguar object-relational database project, which led to a paper at SIGMOD-98. Before that, I was a graduate student and occasional full-time lecturer at the University of Toronto.

Michael W. Godfrey PhD, Associate Professor
David R. Cheriton School of Computer Science, University of Waterloo
Waterloo, Ontario, N2L 3G1, CANADA
Tel. +1 (519) 888-4567 ext. 34437, FAX +1 (519) 885-1208
Office: DC2340
URL: http://www.uwaterloo.ca/~migod