I believe teaching must be student-centered because effective transfer of knowledge and skills depends on the various learning styles of the students. To successfully reach the largest number of students in a class, I deliver material with a combination of methods such as lectures, notes, real world examples, visuals, demonstrations, research assignments, hands-on labs, and interactive labs.
I believe to be an effective teacher you have to assess your effectiveness and make adjustments. I like to measure effectiveness in three stages – introduction, development and mastery. I typically use informal measures such as class discussion, interactive problems, quizzes and labs when measuring the introduction of a new topic or skill. I use more formal tools tied to student grades such as tests, labs, research assignments plus individual/group projects to measure development of knowledge/skill. Mastery assessment normally occurs at the end of the semester with comprehensive skills and knowledge finals. Making adjustments completes the assessment cycle.
There is much more to teaching than the classroom. Teaching computer science requires constant update of computer knowledge and skills because the technology evolves at a very rapid pace. Can I always answer students’ questions? No, but that allows me to model the behavior required to be successful in the field - researching for answers, networking with other professionals or testing in a controlled environment. Networking with area businesses and industries is critical to keep the program aligned with area jobs plus provides resources for guest lecturers, workshops, tours, and real world examples in the classroom. Student advising and recruitment encourages a closer relationship with current and prospective students, and area high schools. Finally, another important component with teaching computer science/networking is acquiring the same industry certifications required for area jobs.