This book emerged from courses taught at the University College of Dublin, Carnegie-Mellon University and mostly at Simon Fraser University. …