The dynamic evolution of the field of computer science (CS) also poses educational and pedagogical challenges, such as issues of CS teacher recruitment, pre-service teacher preparation, support for teachers' ongoing professional development, and the design of teaching and learning material.This unique "Guide to Teaching Computer Science" presents both a conceptual framework and detailed implementation guidelines for general CS teaching. The content is clearly written and structured to be applicable to all levels of CS education and for any teaching organization, without limiting its focus to instruction of any specific curriculum, programming language or paradigm.Topics and features: Presents an overview of curriculum topics in CS, and of research in CS educationExamines strategies for teaching problem-solving, pupil evaluation, and for dealing with pupils misunderstandingsProvides learning activities throughout the bookProposes active-learning-based classroom teaching methods, as well as methods for lab-based teachingDiscusses various types of questions that a CS instructor, tutor, or trainer can use for a range of teaching situationsInvestigates thoroughly issues of lesson planning and course designDescribes frameworks by which prospective CS teachers gain their first teaching experienceDrawing on the authors experience of more than two decades of teaching and research in CS education, this concise, thorough and easy-to-follow book is eminently suitable for use as either a teaching guide for all CS instructors or as a textbook for CS teacher training programs.Dr. Orit Hazzan is an associate professor in the Department of Education in Technology and Science at Technion Israel Institute of Technology, Haifa, Israel. Dr. Tami Lapidot is Executive Manager of Machshava the Israeli National Center for Computer Science Teachers, Haifa, Israel. Dr. Noa Ragonis is a lecturer in the Department of Computer Science at Beit Berl College, Israel.