This book is a review of some programming teaching methods and cooperative teaching methods based on Biggs four levels of thinking and teaching. The book suggests that lecturers can prepare students for introducing more constructively aligned activities and motivating the students to take control. It is an attempt to identify opportunities for students and teachers to develop the thinking levels. The main purpose of this book is to help prepare students for real work experience. The book also assesses different science teaching and learning approaches or strategies using English as a language of instruction at private and public universities in Kurdistan.