This book aims to address many of the challenges and opportunities in the effective learning and teaching of computing in higher education (HE) in the twenty-ﬁrst century. In the context of this book, ‘computing’ is used as a generic term to include subjects such as computer science, artiﬁcial intelligence, software engineering, information systems and multimedia. Computing education is a mainstream activity in the majority of HE providers, certainly in the UK, and as such contributes to fulﬁlling the purpose of HE – i.e. providing a service for society, developing and enhancing culture, improving the contribution of the subject area, taking the boundaries of the subject forward and providing professionals for the workforce. All of these require effective and efﬁcient teaching. The use of the term ‘effective’ in the title of this book begs the question, effective for whom? Should teaching be effective for the learner, the teacher, in terms of cost for the HE institution, for government or for society? It could be argued that effectiveness in teaching covers all of these stakeholders, but the tenet of this book is to focus on what type of effective teaching will enable students to learn to the best of their abilities.