Realising Core Graduate Attributes in Computer Science through a CPR (Collaboration-Participation-Relevance) Approach to Teaching