
As in the teaching of any discipline, computer science teachers are expected to vary their teaching methods, and therefore this pedagogical issue should be included in the MTCS course. This chapter focuses on how to achieve this pedagogical target by using different types of questions. It explores and discusses different types of questions that computer science educators (middle and high school teachers as well as university instructors) can use in different teaching situations and processes: in the classroom, in the computer lab, as homework, or in tests. The chapter lays out also the advantages of using a variety of question types both for learners and teachers, and focuses on the design process of different question types. Though the types of questions presented are mainly related to programming assignments, most of them are suitable also for other computer science contents.