Teaching science is an art form. My general philosophy for teaching computer science topics can be described in terms of method and posture. The method I follow begins with providing a solid introduction to a topic by discussing the primitive problems and solutions that led to present techniques and discoveries. In this way, I challenge students to take on the problems of the past with the tools of the times in an effort to generate appreciation for the vision of our predecessors. With some guidance and thought provoking discussions, we weave our way to modern methods while setting the tone for a sometimes Socratic and certainly challenging environment of class involvement. With solid foundations in necessary background material, students are now encouraged to question each new method as it is introduced. Students in essence have become peer reviewers of contemporary scientific advances. As they comprehend and appreciate the novel methods introduced after thoroughly convincing themselves of the importance of such techniques, we begin to discuss controversial topics without optimal solutions encouraging each student to scientifically challenge state-of-the-art practices.
My teaching posture is the attitude behind my methodology. It dictates the creed I follow with respect to students and my lecture demeanor. Here are five tenets of my teaching posture.
"If you’re excited, they’re excited." Be enthusiastic from the first lecture. Enjoy and embrace teaching and exude that attitude all day, every day. Students always enjoy a topic more if the speaker shows general interest in the material itself and in passing the knowledge onto others.
"Respect every student’s ability, earn their respect in return." Every student has genuine interest in gaining knowledge. Seize that interest, and respectfully correct and guide them to a thorough understanding of the topic. Be kind, thoughtful, and helpful when students ask questions. Challenge both the average students and the gifted students to their full potential.
"Don’t provide answers, provoke answers." Guide students to the correct solutions to challenging problems. Make them earn the right to a solution by asking the right questions. Help them understand why certain solutions evolved the way they did, and why mistakes are often the first step to correct answers.
"Give more than expected, expect more in return." Be fair. Be compassionate. Be available. Encourage and expect students to question everything. Ensure students understand the tradeoffs of many solutions – that sometimes there is no wrong or right, only a best fit. Expect students to participate every day.
"Make learning realistic." Explain the importance of new methods and techniques from example and experience. Share problems and solutions from my own past in industry and academia. Be flexible with topics by gearing subjects toward the audience. Provide leeway in some discussions to focus on student interests. Finish a course by introducing unsolved problems to underscore the realistic nature of science and to enforce the fact that professors do not have all the answers. Furthermore, challenge students to attack these topics after they finish the course.