Author: Alberta. University. Department of Computing Science.