Some Personal Observations on Teaching

 

The Various Roles of Teaching

 

A teacher must play many roles throughout the education process. Perhaps the key role is that of coach. A successful instructor readily accepts the leadership role as the one providing the focus and direction for the course. This role also implies that the teacher is to be an energetic encourager. Additionally, an educator must play the role of evangelist, or salesperson. This aspect of teaching provides the spark for making learning fun. The students must really buy into the content of the course with zeal. My daily goal is to leave the students more awake than when they came into class so that they are eager to run to the lab and jump into the assignment of the day. I believe that posing challenging questions related to real-world problems heightens the level of interest in the material being taught. Reducing the gap between theory and practice can aid in achieving this goal. Another role that the instructor should play is that of guru. Well-prepared lectures instill in the students the confidence and understanding that the person leading them is someone who truly knows the material being presented. Last, but certainly not least, a teacher must partially play the role of colleague. Students who feel at ease with their instructor garner a feeling of self-respect as they learn within a nurturing environment.

 

Specific Approaches

 

From work on my Master’s thesis on computer science education, I realized that a core component of learning is the integration of new knowledge with prior knowledge. In that work, funding from a DARPA grant explored new techniques for teaching the traditional second course (using Ada) at the freshmen level. The research investigated a component-based approach where layered components progressively built upon known concepts. Students built new components, based on previously constructed components, to solve an increasingly complex problem.

 

I believe that students must be encouraged to question. At Vanderbilt, there were several semesters when I was given full responsibility for a section of the introductory programming course. In these classes, I adopted a somewhat strange practice of purposely introducing an error into something that was being presented. This helps to encourage the students to question, and it also provides the opportunity to backtrack and trace the proper solution while learning from a mistake. At the graduate level, the importance of questioning is even more desirable because it permits the student to grow in self-direction and self-motivation.

 

My Teaching Strengths

 

Perhaps one of the most rewarding aspects of teaching is that special look on a student’s face when they realize for the first time some new concept (i.e., the “I get it!” look). I have found that this look appeared frequently during the office hours interaction that I had with my students. My real strength in teaching has been the one-on-one interactions that often occur. These interactions help support the teaching role of colleague.

 

With respect to student evaluations, I consistently received evaluations that were in the top 10% of the whole Vanderbilt School of Engineering. During one semester, my evaluation was among the top 1% of the School. This resulted in my being given the Teaching Assistant of the Year Award.

 

Areas of Interest

 

There are several specific classes that I would enjoy teaching. At the undergraduate level, my desire would be to teach classes in software engineering, compiler construction, and programming languages. I would also be interested in occasionally teaching a course on databases at the undergraduate level, as well as introductory computer science courses. At the graduate level, my teaching focus would be on advanced topics in the areas of object-oriented techniques, software engineering, and generative programming.