Using effective teaching practices is a high priority for educators. One important pedagogical skill for computer science instructors is asking effective questions. This paper presents a set of instructional principles for effective question asking during guided problem solving. We illustrate these principles with results from classifying the questions that untrained human tutors asked while working with students solving an introductory programming problem. We contextualize the findings from the question classification study with principles found within the relevant literature. The results highlight ways that instructors can ask questions to 1) facilitate students’ comprehension and decomposition of a problem, 2) encourage planning a solution before implementation, 3) promote self-explanations, and 4) reveal gaps or misconceptions in knowledge. These principles can help computer science educators ask more effective questions in a variety of instructional settings. Categories and Sub...