Representations of Groups: A Computational Approach (Cambridge Studies in Advanced Mathematics)